What is this buzz around DevOps all about ?

I know, it sounds like a very basic question but indeed its an important one as the industry & individuals are now getting serious about DevOps.

You may think, why now ?

Well, commoditization of Cloud has a lot to do with it. As the market has grown so has the price war between the vendors - ultimately leading to more cloud for your money. Alongside this is the growth and widespread commercial recognition of various Continuous Delivery tooling tools and providers (Puppet, Chef and the like) which means you can purchase a secure, maintainable and reliable cloud solution and have the tooling to deploy to it relatively easily - compared to the situation 4 or 5 years ago. All established businesses need to do now is work out how to run their 15 yr old legacy codebase on a distributed, flexible, multi-site platform. Definitely, not an easy challenge but one that could be overcome with some insight into DevOps practices and approaches.

So, what exactly is DevOps ?

As per Wikipedia - DevOps ( Taken as initials from Development & Operations ) is a software development method that stresses communication, collaboration, integration, automation, and measurement of cooperation between software developers and other information-technology (IT) professionals. Other say that, DevOps is more than a technology or a tool set. It’s a mindset that requires cultural evolution. It is people, process and the right tools to make your application lifecycle faster and more predictable.

Well, English apart, there are specific goals of a DevOps approach & they span the entire delivery pipeline -

  1. Improved deployment frequency
  2. Resulted faster time to market
  3. Lower failure rate of new releases
  4. Shortened lead time between fixes, and faster mean time to recovery in the event of a new release crashing or otherwise disabling the current system.
  5. Simple processes become increasingly programmable and dynamic
  6. Ultimately optimizing resources to not do repeatable jobs & very often, automation supports this objective. 

In a nutshell - ALM & Agile methodology for s/w dev, Rapid provisioning, Rapid app deployment , Monitoring & Automation !

While all the above are much desired by all the organizations on this planet. Still, why this has been so difficult to achieve. In my understanding, there were two reason -

  • Not enough incentive to collaborate & work in the siloed environments of the past ( and present for many )
  • Bringing people together - A dev guys is rather better off coding with headset on than talking to an IT guy & same holds true for IT guy, who has 100 things to keep running & maintaining SLAs. Who has time to get together ? :P

As Cloud has bridged many barriers, made platforms, containers & so much available to plug it all in & run the show a bit smoothly. It has also made time for both Dev & IT guys to focus on taking their solutions to next level, the time is just apt to cross skill a bit & be more relevant in these transforming times !!

Stay tuned for my musings on DevOps journey !