The emergence and growing maturity of “Cloud” has necessitated “DevOps”, and vice versa.
DevOps is primarily about business agility, but tactically it’s a mind-shift for breaking down the normal tension between Development Teams which are primarily measured on the number of features/functions that they produce and Operations Teams which are primarily measured on the stability of the systems for which they have responsibility.
Overview of DevOps in a Nutshell
The DevOps concept/mindset has helped bring some new things to the table:
- Automated deployments
- Standardized Production environments
- Automated testing
Each of these collectively help make deployments more predictable and frees employees from their routine repetitive tasks so that they can go do more creative things/productive things which are additive to the good of the end product.
DevOps is mostly about getting Development and Operations to better understand each other and to work together better to achieve the goals of the company. This is easier for small companies where employees wear many hats and Dev and Ops often overlap, as compared to large companies that typically have a silo for Development and a separate silo for Operations.
Having a DevOps Mindset
As companies begin to take on a DevOps mindset, perhaps begin to re-structure their teams and their team’s goals etc, we may expect to see tangible benefits in terms of:
- Improvements in early defect detection
- Shorter Development Cycles – from requirements to production deployment
- Increased velocity of change/improvement in the Application
- Reduced deployment failures – With the availability of VMs for example, when there is a deployment to Production, it should not be the first time the release was deployed as if it were going to Production.
As Dev and Ops come together more, there are soft benefits as well – essentially building a culture of performance and pride in what they own.
- Teams take on more ownership of their applications/products
- Teams that take ownership are always more productive and more creative
- Less finger-pointing and more teamwork
- Better/quicker problem solving
User Experience in the DevOps World
Today, users experience software differently and their expectations are different. Users are increasingly viewing software as a delivered service and they view it as a single entity – meaning the users don’t differentiate between Dev and Ops. From the user’s perspective, there is no separation between development and operations. They just want their service to work, much like plugging your lamp into the wall for electricity. You just want the lamp to work when you flip the switch to “on”.
On top of that, users now expect ongoing changes and improvements. See all the updates of your iPhone or Android apps! Fundamentally, all of this forces a different approach from IT… much like the agile approach to development has taught developers how to work in an agile manner with “the business”. DevOps, along with the new agile capabilities available with Cloud have “the Agile Business” and “Agile Development” teaching “Operations” teams to be flexible and agile as well.
DevOps enabled by the “cloud” is driving a paradigm shift to IT enabling business agility and continuous improvement.
The success of Cloud-enabled DevOps is business agility and continuous improvement deployments. IT becomes more efficient and viewed as a solution provider, rather than a roadblock in supporting the objectives of the business.