Agile devops in the cloud

15
Agile Devops in the Cloud Chamith J Kumarage Member, Cloud Devops Team WSO2

Transcript of Agile devops in the cloud

Agile Devops in the Cloud

Chamith J Kumarage

Member, Cloud Devops Team

WSO2

Outline

• Automation• Monitoring and Analytics• Agile Delivery• Tools and Utilities• Scaling into the cloud• Devops at WSO2

Automation

● Tools that perform functions otherwise done by

humans.

● Task execution ○ Repetitive tasks

● Process flow○ Connects tasks and decisions

● Decision trigger○ When and Why to take action

source: https://xkcd.com/1319/

Automation contd.

● Design for failure

● Validate every operation

● Enforce discipline ( and process )

● Accelerates execution

● Improves agility

Be the automator, without being automated!

Monitoring and Analytics

● Discovery

○ Normal vs abnormal

● Communication

○ Do you understand what it say?

● The big picture

● Root cause analysis

Hint: #monitoringsucks

source: http://www.teachthought.com/technology/the-relationship-between-confusion-and-information/

source: http://www.philcallaway.ab.ca/images/Cartoons/privacy%20cartoon2.jpg

Agile Delivery

● Discoverability

○ Create, Test and Deploy in smaller increments

● Quality

○ Frequent testing, Catch bugs when they are small

● Operations is the first customer

● Continuous delivery or Continuous deployment

Source: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment

Tools and Utilities

● Shorten the pipeline from dev -> production

● Enforce best practices and standards

● No need to reinvent the wheel

● Each tool can be a component of a framework

● Documentation is a must

● Has to comply with the ‘bus monkey’ test

Scaling into the Cloud

● Automatic failure detection and prediction

● Self healing at all possible levels

● Use native cloud offerings

● One-Click operations

● Design for failure

● Kill instance test (chaos monkey test) is a must!

Devops at WSO2

● Focused on “one-click” deployments

● Use Puppet and a few homemade tools for automation

● Icinga and Heartbeat Checker for first-level monitoring

● Heavily use Python for automation

● Ruby to extend Puppet features

● Working on getting Continuous deployment to action

We are not there yet :)

Devops at WSO2 contd.

● Primarily use AWS infrastructure technologies

● ~100 EC2 instance

● ~15 RDS instances

● ~140 services

● Ownership: ~65 resources/person