Over a million developers have joined DZone.

What Developers Can Learn About Ops From a Month in the Trenches [Video]

Deployment isn't necessarily the smoothest process. Developers can learn a lot by becoming familiar with ops as Cloud Foundry's Cornelia Davis explains.

· Performance Zone

See Gartner’s latest research on the application performance monitoring landscape and how APM suites are becoming more and more critical to the business, brought to you in partnership with AppDynamics.

[This article was written by Tori Wieldt]

Who goes into a deployment hoping something will go wrong? Cornelia Davis, director of platform engineering in the Cloud Foundry team at Pivotal Software,says she did exactly that, because, well, “That’s how you learn stuff!”

Cornelia was a seasoned developer who knew a little about software ops. Very little, as she puts it. Familiar with well-established ops practices such as using jumpboxes and checklists, Cornelia felt she needed to learn more, so she spent a month with Pivotal’s production team to get up to speed. She shared what she learned in a Cloud Foundry Summit session last month called “A Developer’s Perspective on Cloud Foundry Operations: One Month in the Trenches.”

You can watch the entire presentation and check out her slides below, but here are some highlights I took away from attending her talk:

1. Do deployments during work hours

Contrary to the longstanding practice of updating software in the middle of the night or on weekends, modern ops teams are increasingly opting to update their software during (local) business hours. Using Software-as-a-Service (SaaS) architectures makes it much easier to roll back to a safe state (think minutes, not hours … or hours, not days). Also, if ops needs them, the developers who wrote the code are much more accessible during the day.

2. Categorize deployments by type

Different types of releases have different requirements and execution times. Pivotal divides releases into New Releases, Stemcell Upgrades (just the OS), and Manifest Only (change in topology). New Releases and Stemcell Upgrades can take hours, so the team starts them first thing in the morning. Manifest Only releases take just minutes, giving the ops team more flexibility on when to deploy them.

3. Continuously reduce deployment time

The Pivotal ops team is always optimizing for the shortest deployment times possible. The ops team saw that, during their deployments, compiling the packages took a long time. To speed things up, the team arranged its pipelines so that they compiled packages in advance. Instead of being compiled and then pushed, the already-compiled packages are shared using a shared package cache between staging and production. This technique can significantly reduce deployment time and should work for anyone using Cloud Foundry.

4. Use Checklists

Pivotal has checklists for pre-deployment, deployment, and post-deployment. Cornelia also suggested creating checklists for each type of release. (The last item on your checklist should be “Update Checklist.”) Finally, to make sure nothing gets lost, your code, documentation, and checklists should all be in one place. Pivotal, for example, checks everything into Github.

Cornelia Davis Cloud Foundry prezo slide

Before her time in the dojo with the ops team, Cornelia says she was “gleefully ignorant” about what ops does and the challenges it faces. Now she knows better. “It was an awesome month!” she told the Cloud Foundry Summit crowd.

You can access Cornelia’s slides here, and watch her entire presentation below:

The Performance Zone is brought to you in partnership with AppDynamics.  See Gartner’s latest research on the application performance monitoring landscape and how APM suites are becoming more and more critical to the business.


Published at DZone with permission of Fredric Paul, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}