View All Videos
DevOps and Visible Ops Webinar is Today

DevOps and Visible Ops Webinar is Today

Damon Edwards / 

I was asked by the folks at rPath to present on DevOps for a webinar called:
DevOps, The Visible Ops and Other Emerging Practices for High-Velocity, Low-Cost IT

Not being one to turn down a chance to talk about DevOps, I said yes.

It’s more of a panel of three short presentations rather than one joint presentation, but I think we’ll each have some interesting to say about our respective fields. Tune in to see how I do. There will be a Q&A session at the end… so think of some good questions.

This webinar is today, April 15 at 2pm EDT / 11am PDT (18:00 UTC)

The speakers will be:

Kevin Behr – Co-author of the legendary “The Visible Ops Handbook” 
Damon Edwards – That’s me
Erik Troan – CTO of rPath and one of the original developers of RPM 

 

Full details and registration…


Why so many DevOps conversations focus on Deployment

Why so many DevOps conversations focus on Deployment

2

Damon Edwards / 

Other people’s initial reactions to new concepts or ideas always fascinate me. Sometimes the reactions are in line with what I expected. Sometimes they focus in on something I wasn’t expecting.

One of the more curious reactions I’ve received lately is: “Why does DevOps focus so much on deployment?”.

The subtext is “if bridging the gap between Dev and Ops is so fundamental to the success of the business, then isn’t it myopic to spend so much time on deployment issues and deployment automation?”

There is always the “well, we have to start somewhere” answer. But of course, the real answer runs deeper than that.

The first answer is that Deployment is the primary point at which Dev and Ops are forced to interact. It’s the one interaction in almost any size or type of organization where Dev and Ops can’t escape each other. Deployment sets the tone and expectations for all other interactions. 

Getting deployment right requires you to examine how you exchange information, artifacts, and responsibility as well as acknowledge that the road between Dev and Ops is a two-way street. Get that right and the solutions to the rest of your DevOps problems should be relatively straightforward.

The second answer is that deployment represents the largest opportunity for time savings. For illustrative purposes, let’s take a look at the following pie chart from a 2006 study of Microsoft’s Operations groups.

 

 

Explicit deployment activity is 31% of the overall time spent. If we use the well worn out statistic of 80% of all problem incidents being caused by self-inflicted changes (which usually comes from some sort of deployment activity), that gives us another 16% of overall time being tied up in deployment related activity. 

That means that at least 47% of Ops time is spent on deployment related activity. There are bound to be plenty of opportunities to trim considerable fat from that chunk of time. And that is just a starting point. I’m sure if we looked into some of those other categories, we’d find even more time that was lost due to the ripple effects of deployment activity.

 

Of course, this example doesn’t take into account the time sink that deployment related activities are for Dev. I don’t have hard data on this, but from a quick straw poll of my colleagues, we’d estimate that across our clients anywhere from 10% to 20% of developers time is spent on deployment related activity (including activities like trouble shooting, knowledge transfer, scripting, etc.)

DevOps is broader than deployment (here is a great post by John Alspaw on that topic). However, deployment is the right place to start looking to make improvements if you want to have the largest possible impact on your business.  

 

Videos: Jesse Robbins, Ezra Zygmuntowicz, Colleen Smith at Cloud Connect 2010

Damon Edwards / 

Here’s another round of “3 Questions” interviews that I shot at Cloud Connect 2010 in San Jose, CA on March 17, 2010.
 
Jesse Robbins (Opscode / Chef), Ezra Zygmuntowicz (Engine Yard), and Colleen Smith (Symantec) were asked:
1. What brought you to Cloud Connect?
2. What aspect of the Cloud excites you the most these days?
3. Wildcard question!…
 
Jesse Robbins is the CEO of Opscode and one of the creators of Chef.
Wildcard question: How does “infrastructure as code” unlock the promise of the Cloud?

 

Ezra Zygmuntowicz is a Senior Fellow and Co-Founder of Engine Yard.
Wildcard question: What tooling changes are needed to make DevOps a reality?  

 

Colleen Smith is an Information Technology Architect at Symantec
Wildcard question: How will Clouds impact the culture of internal enterprise IT?

 

Thanks to all for playing along!

Criteria for Fully Automated Provisioning

Criteria for Fully Automated Provisioning

4

Damon Edwards / 

“Done” is one of those interesting words. Everyone knows what it means in the abstract sense. However, look at how much effort has to go into getting developers to agree that done really does mean 100% done (no testing, docs, formatting, acceptance, etc. left to do).

“Fully” is similarly an interesting word. I can’t tell you how many times I’ve encountered a a situation where someone says that they’ve “fully automated” their deployments. Then when they walk me through the steps involved with a typical deployment it’s full of just-in-time hand-editing of scripts, copying and pasting, fetching of artifacts, manual “finishing” or “verification” steps, and things of that nature. Even worse, if you ask two different people to walk you through the same process you might get two completely different versions of “fully” definitely not meaning “fully”.

Just like Agile developers use the mantra “done means done“. Operations needs the mantra “fully automated means fully automated“. Without a clear definition of what “fully automated” means, it’s going to be difficult to come up with any kind of consensus around solutions.

As part of the original “Web Ops 2.0: Achieving Fully Automated Provisioning” whitepaper, we listed a criteria for “Fully Automated Provisioning”. I’ve taken that content and posted to the new DevOps Toolchain project. Hopefully it will spur some discussion on what “fully automated” actually means.

Here’s the initial list of criteria:

1. Be able to automatically provision an entire environment — from “bare-metal” to running business services — completely from specification

Starting with bare metal (or stock virtual machine images), can you provide a specification to your provisioning tools and the tools will in turn automatically deploy, configure, and startup your entire system and application stack? This means not leaving runtime decisions or “hand-tweaking” for the operator. The specification may vary from release to release or be broken down into individual parts provided to specific tools, but the calls to the tools and the automation itself should not vary from release to release (barring a significant architectural change).

2. No direct management of individual boxes

This is as much a cultural change as it is a question of tooling. Access to individual machines for purposes other than diagnostics or performance analysis should be highly frowned upon and strictly controlled. All deployments, updates, and fixes must be deployed only through specification-driven provisioning tools that in turn manages each individual server to achieve the desired result.

3. Be able to revert to a “previously known good” state at any time

Many web operations lack the capability to rollback to a “previously known good” state. Once an upgrade process has begun, they are forced to push forward and firefight until they reach a functionally acceptable state. With fully automated provisioning you should be able to supply your provisioning system with a previously known good specification that will automatically return your applications to a functionally acceptable state. The most successful rollback strategy is what can be described as “rolling forward to a previous version”. Database issues are generally the primary complication with any rollback strategy, but it is rare to find a situation where a workable strategy can’t be achieved.

4. It’s easier to re-provision than it is to repair

This is a litmus test. If your automation is implemented correctly, you will find it is easier to re-provision your applications than it is to attempt to repair them in place. “Re-provisioning” could simply mean an automated cycle of validating and regenerating application and system configurations or it could mean a full provisioning cycle from the base OS up to running business applications.

5. Anyone on your team with minimal domain specific knowledge can deploy or update an environment

You don’t always want your most junior staff to be handling provisioning, but with a full automated provisioning system they should be able to do just that. Once your domain specific experts collaborate on the specification for that release, anyone familiar with a few basic commands (and having the correct security permissions) should be able to deploy that release to any integrated development, test, or production environment.

 

DevOps Toolchain project announced at O’Reilly’s Velocity online conference

DevOps Toolchain project announced at O’Reilly’s Velocity online conference

Lee Thompson / 

If you are the type who gets distracted at work while trying to stay plugged into the industry, yesterday was a big big problem.  In Austin, you had SXSW going on; in San Francisco, you had OSBC; in San Jose you had Cloud Connect; and on the internet you had the O’Reilly Velocity Online Conference.  Wow!

The dev2ops guys were busy.  Damon and Alex were presenting at Cloud Connect while I was presenting at Velocity OLC.  I’m an Austin resident, but SXSW really isn’t the DevOps hang-out, at least yet! (heh). 

At Velocity, it was my privilege to announce the next generation of the provisioning toolchain project.  Some of the feedback we received from the original toolchain paper was from the front lines of DevOps: “yeah that’s pretty interesting, but there is alot more to a datacenter than just provisioning”. Good point.

So we scope creeped the hell out of the automated provisioning paper and started the devops-toolchain project dedicated to defining best practices in DevOps and open source tools available to accomplish those practices. 

 

So this time, the devops-toolchain project is an opensource community driven project, which due to its nature will need to be reved frequently due to the constantly shifting nature of “best practices”.  We’ve kicked started some of the content at http://code.google.com/p/devops-toolchain/  and formed a Google Group for the discussion at http://groups.google.com/group/devops-toolchain. Come join the conversation!

Here are the slides from my presentation:

 

 

The Velocity team did a great job hosting the conference! An example of the great content presented is from Ward Spangenberg from Zynga. He updated us on the latest on security in Cloud deployments.  Getting security worked out gets more compute into the cloud:

 

I’m an OSBC alumni. If you’re into vintage conference or need to find a way to get over insomnia, check this out from 2007…

dev2ops.org contributers presenting at Cloud Connect and Velocity Online Conferences

dev2ops.org contributers presenting at Cloud Connect and Velocity Online Conferences

Damon Edwards / 

Perhaps proving that you can be two place at the same time, dev2ops.org contributers will be presenting at two different conferences tomorrow (Wednesday, March 17):

 

    

Alex Honor and Damon Edwards will be presenting at Cloud Connect in San Jose, CA at 8:30am (PDT):
“Orchestration: The Next Frontier for Cloud Applications”

 

 

 

 

 

 
Lee Thompson will be presenting on the Open Source Toolchain Project at O’Reilly’s Velocity Online at 9:00am (PDT). Registration for this online event is FREE! 

 

Page 14 of 26First1213141516Last