The Next Level Of Agile: DevOps and CD אוקטובר 2015
Who Am I? Sandrine Kalk DevOps CI/CD Unit Business Manager V-Ness
Dev & Ops Typically conversation Put the current release live, NOW! It works on my machine We need this Yesterday You are using the wrong version What are the dependencies? No machines available… Which DB? High Availability? Scalability?
Dev Vs. Ops
Make the balance between Dev & Ops
Keep it simple Reduce risk of Release Make small changes and Test it every cycle Small changes can make the different for Ops & Dev
DEVOPS = Development + Operation
What is DevOps? CAMS C ulture A utomation M easurements S haring
What This will Bring you? Faster Time to Market Quality of Code/Release Integration Often Deploy Often Automated Every one is happy
Culture - Build One Team One Team different Skills Development CI CD Testing Infrastructure Monitoring One Goal = Help the business
Culture – Enable Communication
Culture – Build Trust Experiments Measure of success Measure of failure Trust Between People Automate
Culture – Play Together More Ideas Sharing Responsibility More Fun
Automation - Principles of Continuous Delivery Principle #1 Every build is a potential release Principle #2 Eliminate manual bottlenecks Principle #3 Automate wherever possible Principle #4 Have automated tests you can trust
Automation – Automate all the things Reproducible Build Build on a Prod-Like environment No more “Works on my machine” Test Testing reduces risks Make you more confident Deploy Deploy to Dev Deploy to QA Deploy to Pre-Prod Prod
Automation – Continuous Deployment
Automation – Continuous Integration Build each “Commit” – check the integration code Static Code Analysis Perform set of Tests – Unit Test,Automation Tests, Regression, TDD and compatibility Test Nightly and Weekly Packaging Delivery Deploy
Automation – Continuous Deployment Deployment Automation/Continuous Delivery Distributing the components of the releasable package into target environment (Dev, Test, Prod) Provisioning Create and readying the target Env. And middleware required by your application. Automated Testing Verify: –Functional –None functional Feedback
SCM CI Binary Repo Envnodes Envnodes Envnodes EnvMaster Packages Deployment Automation Test&Staging Production Issue Code Runbooks Tests Config Automatio n Env Specs Automation – Continuous Deployment
Automation – IAC Infrastructure As A Code Put Infra under version control History, Melodize your infra Deploy monitoring, backups and apps IT IS NOT SCRIPTING ! Think Puppet, Chef, Ansible, Udeploy….
Automation - FEEDBACK
Automation – High Availability
Automation – Scalability
Measurements
Measurements - Metrics Easy to Create new Metrics Build Dashboards Learn from logs Learn from *
Measurements - Monitoring Monitor Every Platform – Dev, QA, Prod, see troubles early Run Time: OS –Disk, CPU, I/O, Memory Middleware –Queues –API calls –Connections Application –Response time –Users –Objects –Usage
Measurements - Monitoring
Measurements – Measure Everything Deployments Commits Tickets Bugs
Measurements – Read Metrics Get Business Keys Share dashboard with dev ops mgmt. Find metrics that matter Learn from metrics
Sharing Sharing
Finally – Zero Bug Approach
Implementation example Implementation example Install & config
Full ALM Solution - CI
DevOps CI/CD and ALM
Thank You!