The marriage between development and operations is just a few years old, but it's already becoming apparent that just smashing two words, or worlds, together to create 'DevOps' has not yet led to the outcome desired. The problems in this relationship aren't just coming from within. It's actually the pressure from enterprise leaders for DevOps to perform at superhuman levels that's become too intense. It's like business stakeholders are the parents of the bride and groom, nagging the new couple about when they can expect grandchildren, only instead of one new grandkid every few years, these grandparents expect to see a new release for revenue applications (RevApps) every couple of weeks.
Insanely fast is the new normal
David Hurwitz, SVP of Worldwide Marketing at Serena Software, indicates this trend is here to stay. "It's not like the IT of old. The speed with which a business can do new things, respond to competitor threats or attack competitors is tied intrinsically to the speed with which IT can enhance and deliver new functionality into its revenue applications."
Even the most massive enterprises in the financial, retail and airline sectors don't need to ramp up their DevOps speed to the same levels as Amazon or FaceBook. However, they do need continuous development and very frequent deployment. Hurwitz points out that any company can do a super-fast RevApp project over the weekend. But the chances are high that it will fail and have to be rolled back. And you can't just bring in the whole team every weekend over and over. You'll burn out your best people and still end up with sub-par work. The design, development and deployment cycle needs to be something that occurs as naturally as breathing. It should be business as usual, not some heroic effort.
Which tools will supercharge DevOps?
Agile methodology and the availability of cloud resources have swept away many of the barriers to speedy development and deployment. However, there are some practical factors still stymieing the true potential of DevOps. These include:
- Poor coordination and lack of visibility
- The need to rely on others for key tasks
- Manual processes that create bottlenecks
In the RevApp world, delays often have the same impact as downtime. So these are not trivial issues. According to Hurwitz, these problems can be resolved with the right toolset.
First, there's the issue of coordination. A variety of stakeholders need to know what's really going on at both the overview level and granular level. A release calendar system that provides this capability is what allows Dev and Ops to really coordinate as intended instead of being on a collision course. In an ideal environment, no one should ever have to request a status report. Real time status tracking for every aspect of the cycle from database updates to O/S patches should be available on-demand rather than by special request. Better coordination supports dynamic scheduling, automatic alerts, and other best practices for DevOps. Plus, since the information is all in the system, it creates a natural audit trail.
Self-service and automation complete the picture
The other key tool developers need to have at their disposal is self-serve provisioning. It's not enough to have access to the cloud if developers still need to go through a tedious requisition process and wait around for someone else to give them the green light. This capability must be available (within reasonable limits) directly from the developer's console at the click of a button. Individuals and teams should be able to spin up test environments and other resources as needed to keep their work flowing.
The final piece of the puzzle is the bridge between Dev and Ops – deployment. This is where things tend to grind to a halt no matter how much time and manpower you throw at the problem. As David says, "Manual deployment creates a train wreck of labor. It's expensive from a labor point of view. But the real killer is how slow and non-Agile it is. It takes calling in the whole football team to get stuff done." Most organizations just can't afford to do that more than once every few months. To be fast enough for today's IT, deployment must be truly continuous – something that happens automatically all the time as part of the development process.
Equipping DevOps to succeed pays off
Enterprises interested in getting the most out of DevOps should consider:
- The resources wasted on miscommunication and manual deployment
- The missed opportunities to create business value
- The loss of actual revenue in many cases
Add all that up, and you are looking at some really fast ROI from a better communication platform combined with an automated deployment solution. In the end, it's having the right tools that may save the DevOps "marriage" and produce the RevApps outcomes that make enterprise leaders happy.
How is your organization breaking down the walls between development and operations? Let us know.