DevOps – Culture of continuous delivery & collaboration

1,764 views
1,585 views

Published on

Published in: Technology

DevOps – Culture of continuous delivery & collaboration

  1. 1. DevOps Culture of Continuous Delivery & Collaboration Vinothini Raju RootConf run-up Event Bangalore Mar 15 2014
  2. 2. Our relevance in Cloud & DevOps • Lean Startup with local & cloud based IT • Develop products on Cloud (AWS, GCE, Openstack) • Test PaaS solutions by writing puppet & chef scripts • Experimenting Docker
  3. 3. Demystifying DevOps Is not Is Tools & processes Culture & philosophy of aligning tools & processes Acceptance than enforcement of the tools & processes Purpose Quick response to customer issues & Quality of Service or product & hence automate
  4. 4. DevOps – the 3rd dimension Dev,QA ITPhilosophy of sharing & collaboration Support
  5. 5. Bringing the silos together • Culture : Collaborate & Automate • Processes : Monitor & Measure, Continuous Improvement • Cross functional Training • Align organizations
  6. 6. Culture : Purpose wins, agree ? Goal Purpose (shared value) vs
  7. 7. Culture : Automate • Server build & configuration • Chef • Puppet • Ansible • Salt • Deployment automation • Jenkins • Capistrano
  8. 8. Processes: Continuous Improvement Dev ReleaseTest New features Release Approval Roll back Monitor Failure feedback Lead time MTTR MTTD
  9. 9. Support & Maintainability : Monitor & Measure  Infrastructure Monitoring • Nagios • Ganglia • Zabbix  Application Monitoring • AppDynamics • New Relic
  10. 10. What do you monitor ? • Availability of web interface • Availability of APIs • Application performance [Load, throughput, response times, etc ] • Auto-scaling & resilience validation • Cost & capacity [healthy, unhealthy servers , CPU, Memory etc] • Application failures & errors
  11. 11. A step before cloud • Vagrant & Docker • Portable Dev & Test Environments • Dev & Test on Vagrant/Docker, release to cloud for production • Docker can reduce application configuration & portability. But Ops still needs to be automated
  12. 12. DevOps in context of Cloud • Cloud (IaaS) = Ops as a service • Run time infrastructure • Scalable • Self-provision • Built-in infrastructure monitoring • Cloud (PaaS) = DevOps as a Service • Ops complexity abstraction • Built-in governance • Hooks to control IaaS configurations & automation • NoOps = DevOps nirvana • Built-in application monitoring • Multi-clouds • Cloud Interoperability Eg: CloudFoundry, OpenShift, Heroku etc
  13. 13. Continuous Deployment Demo – Sample tools Purpose Sample tool CI Jenkins Source Control Git Build Ant Infrastructure AWS Infrastructure automation & application configuration Chef Testing TestNG
  14. 14. Continuous Deployment Demo Setup Jenkins github Knife Opscode Chef server (hosted) Chef-client AWS TestNG Build Pipeline trov-app-deploy-demo cookbook 1 ec2-deploy job 8 test-app : run TestNG against deployed app 2 Launch ec2 instance 3 Boot strap & run chef-client 4 Pull recipe from chef server & run it 5 Pull code from github 6 Configure instance & deploy app 7 Associate Static IP with instance
  15. 15. Snippets that do the actual job • knife ec2 server create -I <ami> -r <recipe> etc • trov-app-deploy-demo cookbook
  16. 16. trov-app-deploy-demo cookbook git git_config['checkout_dir'] do repository git_config['git_repo'] revision "HEAD" action :checkout user "ubuntu" group "ubuntu" ssh_wrapper ssh_config['ssh_wrapper_file'] end aws_elastic_ip "ip_info['public_ip']" do aws_access_key aws['aws_access_key_id'] aws_secret_access_key aws['aws_secret_access_key'] ip ip_info['public_ip'] action :associate end
  17. 17. App_config databag { "id": "eip_load_balancer_production", "public_ip": “xxx.xxx.xxx.xxx" } ip_info = data_bag_item('app_config','eip_load_balancer_production')
  18. 18. Thanks ! @vinothiniraju http://trov.co.in TROV IT Consulting & Services Pvt Ltd, #532, 2nd Floor, AECS Layout, B Block, Bangalore - 560037, India Telephone:+91-80-40990162, +91-80-28540594 E-mail: info@trov.co.in

×