DevOps in realtime
-
Upload
andriy-samilyak -
Category
Internet
-
view
1.012 -
download
2
Transcript of DevOps in realtime
DevOps in real time
Andriy SamilyakOpsWayCEO
20 online projectsOne 247 support team
Me v0.1
7 yrs in IT
since 2008 Smile Ukraine CTO
since 2013 leading OpsWay
coaching people on DevOps
Problem 1 life in 24x7
% new requests
24 7
Problem 2 - Geography
Problem 3 - Developers
When I see ... developers all I see is risk Chuck Rossi, Facebook
Plan
ProcessesDeployment cycle
Working with many teams
ToolsChef for automatic configuration
Continuous integration
Monitoring
Backups
Team communication
Opscode Chef
Full control over server configuration
Continuous delivery
Access control
Making testing simplier
Controlling what and when is monitored
Configuration as application vs documentation
Why Chef?
Facebook, Amazon
Ruby vs XML
Simple start
Not expensive and reliable hosted server
Historically it was a decision against Puppet (no holy wars!)
vs
Opscode Chef - beginning
95%
Autoscaling projects
Single rules for server naming
ansam@vostok:~$ knife sshx projectx-live-node
Multiple instances found!1. i-cca165f0 since 2013-08-06 10:11:16 UTC ip 54.253.26.662. i-6ca71550 since 2013-08-07 19:06:05 UTC ip 54.253.66.833. i-6ea71552 since 2013-08-07 19:06:05 UTC ip 54.253.44.1854. i-6fa71553 since 2013-08-07 19:06:05 UTC ip 54.252.44.245Choose : [1] 2Instance i-6ca71550 ip 54.253.66.83Connecting to 54.253.66.83 as user ubuntu on port 22
Controll access by SSH
Templates
Apache virtual host template
Continuous integration
What else can you choose?:TeamCity
Bamboo
Travis CI
tool Why Jenkins?
Deployment
Access control
Jenkins /
Simple deployment cycle
Development
Vagrant boxTest serverLive
Many features simultaneously developed
Branch switch
Working with other teams
master
develop
fork for DevTeamX - develop
, SA-332, , , ,
Bakery
Jenkinsjobs
LiveAmazon AMISandboxabout 4 hours
5 min
Creating a Sandbox
Sandbox
DNS via Route53
Can make demo to client
Deployed from github repo/branch
New job in Jenkins for deployment easily redeployed
EC2 instance
Almost complete copy of live project
Workflow 1.1
Scheduled, once a day
LiveTestSandbox1Sandbox2
Code is live is it working?
, ,
Monitoring
Configure monitoring depending on server type
Message routing
Scheduling plugins
Cyclic DB
Data processing
Charting and plotting
results DB
search
alerts
Analysis and charting
Chef-controlled monitoring
Take all records from access.log from all servers of ProjectX
Include records with User-Agent = Apache* and URL like /aaaa/bbb-123.html
Calculate avg time of such requests for the last 7 days
Our dashboards
Synthetic tests
Selenium-based Jenkins-job that is periodically making test purchase from sites, measuring time and sending results to Splunk
Splunk : ,
Redmine
SMS
Splunk alerts
Chef + Amazon EBS = Backup profit
EBSServer configuration (Chef)
/var/www
Backups
Backups: snapshots
Andriy Samilyak
[email protected]: samilyakahttp://opsway.com