In the DevOps Defined series, we take a look at the Development & Operations (DevOps) movement: what it is, how it works, where the pitfalls are, and more. This article provides a DevOps overview, including application delivery and management.
Every business today is a digital business, and every digital business runs on apps. There are apps for employees, internal constituents, vendors, and customers. Some apps are focused business to business (B2B) while others are geared business to consumer (B2C). For many companies, apps are a competitive differentiator in the marketplace, critical to acquiring and retaining customers. Apps are the way people engage, interact, and get business done.
It’s no surprise, then, that IT departments are pouring time, effort, and money into application development – whether for their own company’s proprietary use or to sell on the open market. And the twin guiding lights for all application development are speed and quality.
Enter Development Operations, or DevOps. Previously, an application could be developed and have a long and healthy life. Years could pass in between iterations. Marketplace competition was present, but not necessarily intense.
No more. App development today is progressing at a frenzied pace. New apps are being generated by the hundreds every day. Updated versions of proven apps are demanded every few months. Is your app, for personal or corporate use, more than a few months old? If so, it is likely past due for updating or replacement.
The old methodologies of application development are simply not up to today’s task. Development can’t play contentedly in its own sandbox, then turn over a lovely new app to Operations to try out … only to have Operations find that it is plagued with real-world glitches. We simply don’t have the luxury of time anymore, or of multiple tries to “get it right.”
The DevOps movement is geared to deliver apps with speed and quality. As the name suggests, it requires a whole new level of communication and collaboration between Development and Operations. In fact, it demands continuous collaboration: collaboration that begins when an app is still in the concept phase, continues throughout development, and carries over into the production environment.
This is not an easy cultural shift. Operations IT staff tend to be process-oriented – think khaki pants types. Their concern is system availability and in general making sure no one makes silly mistakes while doing a server upgrade. Development folk – the classic stereotype is T-shirts and hoodies – have always been on the new service delivery side of the business. Nowadays, these folk are the ones tapped for “strategic initiatives”: it’s all about newer, lightweight, agile technologies and frameworks to come up with the next big thing. To say the least, getting collaboration here is challenging. But collaboration there must be, with all the information sharing, integration, transparency, and cooperation that entails.
When DevOps succeeds, it is tremendously powerful. Apps are designed from the ground up with real-world considerations built in and quality assurance guaranteed. Testing becomes a satisfying validation of work well done, rather than a time of unwelcome surprises and setbacks, embarrassments and expenses. Instead of ordering in pizza for long nights of retroactive re-coding, DevOps lets everyone toast with glasses of champagne.
But the celebration isn’t only felt within the newly-joined realms of Development and Operations. DevOps is really all about the customer, whether internal or external. With faster time to market, more releases, greater value, superior quality, and higher revenue generation, companies are embracing DevOps with open arms.
DevOps is a way of actualizing end-to-end application delivery and ongoing management and change.
It recognizes that you can’t make cookie-cutter apps. Every app is unique, and has to function flawlessly in a very flawed real-world environment where the unexpected and the less-than-ideal are a way of life. There are dependencies, integrations, and connections that can – at any time – wreak havoc on an app’s functionality if it is not designed with all those contingencies in mind. DevOps, which adds operational realities and extends the agile throughout the entire application lifecycle, is the best way to avoid unwelcome “gotchas.”
No surprises. That is the tagline of the DevOps movement. Speed, quality, and satisfaction are the name of the game. It requires the implementation of a new paradigm and a new culture; there are challenges, but change is happening. Check back to hear about Sungard Availability Services’ forays into this movement.