I work for an organization whose main product
resides in the “monolith, over-the-wall, deploy once a quarter” world. We are
in the process of migrating to the “SaaS, Dev/Ops, CD” world. This migration
has proven non-trivial to say the least. Ancestry.com recently completed a
similar process which is detailed here http://www.youtube.com/watch?v=DoSrsjimXjE.
I found the presentation to be very informative and decided to blog about key
learning’s I had. Hope you will find them useful as well. (The slides are a bit
ahead of the audio).
The first ~16 minutes is a review of Opscode
Private Chef. I’ve used Chef and it’s an excellent tool. But I’m going to focus
on the challenges and learning regarding the migration from one set of
practices to another. There is a lot of good stuff in the Opscode portion
(“infrastructure is code”).
Ancestry’s definition…“Continuous Deliver
is reliably releasing high quality software fast through automated
build, test, configuration and deployment.” Fast is critical because they want
to increase the rate they can deliver value to the customer. You will see this
theme repeated during the presentation. http://www.youtube.com/watch?v=DoSrsjimXjE&t=17m3s
Key benefits of CD: Increase flow of value
to customer, Increase feedback rate, Lower risk due to smaller batch sizes. http://www.youtube.com/watch?v=DoSrsjimXjE&t=18m1s
“Doing CD right means being agile, not
just doing Agile.” I call this ‘what’s right, not who’s right.’ http://www.youtube.com/watch?v=DoSrsjimXjE&t=18m39s
CD eliminates “Emergency” deployments and
all the bureaucratic rigidness it entails. http://www.youtube.com/watch?v=DoSrsjimXjE&t=26m17s
"Ultimately, what [CD] enabled, it
enabled the development teams to own their services and applications from
cradle to grave." (Emphasis added) http://www.youtube.com/watch?v=DoSrsjimXjE&t=26m58s
"Because the infrastructure was
working on [the developers] behalf, they were able to focus on the service
itself, and focus on owning that, and providing what the customer really
needs and wants." (Emphasis added) http://www.youtube.com/watch?v=DoSrsjimXjE&t=27m06s
“Extending Agile into the enterprise put
pressure on ops to change their methods and practices too.” We are lucky here
as our Ops team is already (trying) to work under the Agile model. Getting
better at it, too! http://www.youtube.com/watch?v=DoSrsjimXjE&t=27m57s
“Engineering Productivity” The bridge
between ops and dev. EP consists of AppOps, CD Tools and Test
Infrastructure teams. EP’s mission is to accelerate development. There is a
need for a third group to act as a buffer between Ops and Development. At
ancestry this group does a lot of the Opscode Chef work. Our organization is
attempting to have ops file both the operations role and the AppOps role with
mixed results. http://www.youtube.com/watch?v=DoSrsjimXjE&t=31m15s
“Adopt a service model that enables
development to do what they need quickly and easily, getting infrastructure out
of the way. Rule #1: Developers don’t want to mess with or own ops
infrastructure. Rule #2, If you don’t provide infrastructure and services to
enable Rule #1, then developers break Rule #1.” The key to having these two
rules obeyed is a CD platform (SaaS). http://www.youtube.com/watch?v=DoSrsjimXjE&t=32m40s
"Store your infrastructure code in
source control." Enough said. http://www.youtube.com/watch?v=DoSrsjimXjE&t=35ms20
You can’t do CD without automated
configuration and automated deployment. Ancestry uses Opscode Chef for both.
Not having those automated tools makes you slow. Slow means you’re not doing
CD. http://www.youtube.com/watch?v=DoSrsjimXjE&t=37m50s
All new services are configured with a
fully provisioned CD pipeline, from build through production. Not the other way
around. http://www.youtube.com/watch?v=DoSrsjimXjE&t=39m50s
"Deployment is monitored and overseen
by the team itself." Clearly the development teams have accountability for
production systems. They don’t go into exactly how that is done, unfortunately.
My guess is that development has responsibility for a portion of production
monitoring. http://www.youtube.com/watch?v=DoSrsjimXjE&t=47m54s
There it is. The entire
presentation is well worth the time if you are doing CD and Dev/Ops and is
highly recommended.
No comments:
Post a Comment