devops workshops fall 2016

19
DevOps You can’t afford to not do it… Kelly Looney, DevOps Strategy

Upload: kelly-looney

Post on 13-Apr-2017

44 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: DevOps Workshops Fall 2016

DevOpsYou can’t afford to not do it…Kelly Looney, DevOps Strategy

Page 2: DevOps Workshops Fall 2016

AGENDA1. Why Agile and DevOps?Where did this come from and why is it important.

2. Continuous Delivery as a Goal.Where software is going and why you have to care.

3. Environments and Testing.Making delivery pipelines work.

Page 3: DevOps Workshops Fall 2016

3

Different faces/rulesFor different markets

Monolithic App with many single points of failure

A real-life example…

Dev Teams focused on Horizontal Components

Totally separate Ops, Maintenance, and Dev teams

Clashing cultures from Merger/Locations/Code bases

Up 24/7 with Millions of €/day wagered

In-houseBuildDeployMonitoring…

Page 4: DevOps Workshops Fall 2016

From Agile to DevOpsBreaking down silos and and empowering teams

• Agile tended to fold QA resources into development teams• Resulting in better understanding, better tests, more people testing

• DevOps is about getting to teams that develop, operate and maintain software

• Better understanding – get operations involved at the start• Better operations – monitoring and maintenance using people with context• More resources – instead of a few people that know operations the whole

team has base knowledge with experts just dealing with hard problems and making improvements

Page 5: DevOps Workshops Fall 2016

How is DevOps changing?Shown really remarkable success in a short time…

• Initial focus was build and deployment automation• Lots of nice technology and a bounded problem

• DevOps Enterprise Summit 2015 in SF• “This is becoming a Continuous Delivery conference”• Good news IMHO – broad base of examples

• In a more difficult phase now• Automation is hard work• State of tests and test environments is pretty bad out there• Are we thinking about test at the right level?

Page 6: DevOps Workshops Fall 2016

6

What DevOps and CD mean for the organization• The whole idea of holding off changes to retain stability

gets turned on its head• Change all the time and stay stable!

• Changes get smaller and smaller, but are constantly being deployed

• With small changes integration issues become fairly simple

• Environments must proliferate along with associated infrastructure• Ideally you need a new test environment to test every

change • Create/Destroy quickly and efficiently• Are your environments captured as code?

• Use Cloud services here, even if you don’t want to for production

Page 7: DevOps Workshops Fall 2016

Continuous Delivery as the right goal

Page 8: DevOps Workshops Fall 2016

The ability to get changes—features, configuration changes, bug fixes, experiments—into production or into the hands of users safely and quickly in a sustainable way.

Jez Humble

““What is Continuous Delivery?

Page 9: DevOps Workshops Fall 2016

Keys Continuous DeliveryContinuous Integration flowing into Production

1. If it not automatable it is broken2. If you can’t reproduce production in an on-demand environment

you are taking a big risk3. If it hurts do it more often – (build, deploy, integrate, test)4. Everything required for an app to be built and deployed must

exist in source control.5. Practice trunk-based development with code switches for in-work

items6. Infrastructure - Cattle, not pets (When sick you shoot them…)

Page 10: DevOps Workshops Fall 2016

Delivery PipelinesSteps every change goes through to get to production

Page 11: DevOps Workshops Fall 2016

Environments and Testing

Page 12: DevOps Workshops Fall 2016

You NEED Virtual Test EnvironmentsPhysical test labs are going away…• With newer styles of development smaller teams are testing

smaller changes on very short schedules• Queuing up to access a test lab just defeats the purpose

• When supporting many systems many different environments are needed – very expensive to do physically

• Investing in a virtual test lab is the only hope to have the scale you need

• Need virtual resources on-prem or off: CPU, Storage, Networking, Firewalls, Load Balancers, Hardware simulation

• Ideally every team has one (or more) dedicated test environments to move a fast as possible.

Page 13: DevOps Workshops Fall 2016

Environments Proliferate with Modern Techniques

• Each box ideally represents a fresh environment• Unrealistic to have this many physical labs• Change and refresh can be costly and error-prone

Page 14: DevOps Workshops Fall 2016

Key factors to make the leapPlaces to start

1. Education in Agile and Lean Concepts for the whole team2. Designate some projects/products that fit well for DevOps

• “Skunk Works” project with members from across the silos

3. Start a DevOps initiative to define and create the environments you need

• As small and fast as possible

4. Automate delivery pipeline decision point tests5. Automate deployment to any environment

Page 15: DevOps Workshops Fall 2016

Skytap Hands-OnUsing Skytap Cloud to enable CD and Modernization

1. Fixing a bug by generating a new test environment and running tests

• (show new code in a new environment – Vagrant->Skytap)

2. A CD pipeline using infrastructure as code and Skytap as a cache

• Puppet, Chef, Ansible, Urban Code Deploy• (Deploy an application, partly automated, partly hand-built)

3. Hybrid Modernization with Containers• (peel off a service from the monolith and deliver in a container)

Page 16: DevOps Workshops Fall 2016
Page 17: DevOps Workshops Fall 2016

Run time binding

Amazon

Keys to making these workable• Independent Deployment• API versioning• Automated and Comprehensive Monitoring

Page 18: DevOps Workshops Fall 2016

Reliable SoftwareOn (relatively) unreliable infrastructure

• Solving availability with hardware and proprietary software is hugely expensive

• The big Internet companies have gone another route• Large amounts of cheap infrastructure – horizontal scale• Software the handles failures gracefully – takes time to build

• “Resilience, security, scalability, availability deployability, testability are architectural concerns.”

• “Designing intelligent elastic cloud architectures, so that infrastructure runs only when you need it, is an art in itself”

Page 19: DevOps Workshops Fall 2016

“Strangler” Pattern