DevOps in a Nutshell


DevOps is nowadays a big thing and in this post we will try to explain what this practice is in practical terms.

The term DevOps is rather limiting, indicating that only Development and Operations are involved, which is not absolutely true (as is always the case in this life) — DevOps is not only about Development and Operations!

If you wish, you can view DevOps as

  • a culture, or
  • a cross-team software delivery discipline (paradigm)

In essence, DevOps tries to reconcile the clashing cultures and views on software delivery of Development and Operations that are summarized in the table below.

The Dev View The Ops View
  • We have aggressive deadlines — Business is all over us
  • Ops are way too sluggish supporting us (provisioning integration environment, etc.)
  • They lost the application zip file we emailed them yesterday night — it was eventually found in their “junk mail” folder
  • Overall, we don’t have trust and confidence in Operations (Ops) — they are more like Oops, then Ops
  • Dev is all over us
  • The application setup guide sent by Dev was not complete — they missed some critical steps, which resulted in our wasted time
  • With so many new applications being released in the environment, we can no longer guarantee uninterrupted services
  • Overall, we don’t trust (or like) Dev

DevOps is an approach to delivering software solutions in a continuous manner based on lean (minimizing waste of resources, reducing number of defects, etc.) and agile practices (collaboration, continuous software improvement, short feedback loops, etc.)

DevOps help manage complexities of modern applications by creating a collaborative environment with participants coming not only from Development and Operations, but also from Business, QA, and other stakeholder groups.

While the DevOps practice has been popularized by organizations adopting the Cloud-as-a-Service computing model (Netflix, Flickr, et al), it has been making inroads into the Enterprise space.

Basically, DevOps help efficiently increase the velocity of application delivery by spanning the whole software delivery life cycle (not only its deployment!):

  • Development
  • Testing
  • Deployment
  • Operation

We’re almost done in this post. There is much more to say about DevOps, so stay tuned …

  1. No comments yet.
(will not be published)

*