Commentary - The concept of DevOps is very alluring. Who could take issue with the noble goal of increasing collaboration between developers and operations professionals? Who wouldn’t agree that better communication between these teams could improve software quality, expedite release cycles, and give the business greater agility?
DevOps would seem to be particularly enticing now, given the rapid rise of cloud computing and Agile development practices. The cloud model demands a new mindset about how applications are developed, deployed, and managed; delivering cloud services requires a higher level of collaboration between development and IT operations. At the same time, the advent of Agile practices has sparked increased collaboration within development teams. With Agile development, all stakeholders are cross-functional team members rather than siloed specialists.
There are several problems with DevOps, the largest being this: The increased efficiency it aspires to bring to the software lifecycle requires a massively inefficient, expensive,and disruptive cultural upheaval.
DevOps essentially requires everyone involved in the development, deployment, and management of software to change the way they work, to cross-train for multiple functions, and to collaborate with people they’ve all too often viewed as adversaries. It creates new processes and methodologies and, in many cases, uses new tools to get the job done. In addition, it often requires a small army of consultants to implement and manage the transition. That is why the “promise” and “potential” of DevOps has yet to be realized by more than a handful of real-world companies.
The appeal of the DevOps model fades even further when you consider the fact that there is a better option! You can achieve the intended benefits of DevOps without any of the turmoil by taking advantage of Platform-as-a-Service offerings, or PaaS.
PaaS is quickly gaining momentum as a way to support the complete software life cycle via the cloud. A PaaS offering can combine a development platform, computing resources, deployment infrastructure, and managed hosting services—so that businesses can cut the cost and complexity of every aspect of developing, deploying, and managing their applications. The tools and compute power are available on a metered basis, and the specifics of the offering can be tailored to specific business requirements.
In the PaaS model, IT vets the platform for security and dependability, developers work within the platform so they can focus on features and functionality, and the platform takes care of the rest. Simply put, PaaS offerings get your applications to the cloud, using the cloud. They deliver a new level of efficiency—and cost savings—at every phase of the development life cycle.
PaaS does not require a painful cultural transition, nor does it put IT out of a job. Quite the contrary, PaaS can free development and operations staff from time-consuming but low-value activities and allow them to focus on new services and innovations that create competitive advantages.
Set developers free - don’t turn them loose!
PaaS allows developers to create the next great application without having to worry about configuration details and the ongoing management of IT resources. By providing the right abstraction, integration, and automation at platform layers, PaaS can enable developers to:
- Build with a focus on innovative business logic, not platform infrastructure
- Deploy quickly to production
- Run with maximum performance and minimum downtime
- Iterate and adapt rapidly
- Scale easily and dynamically in step with business growth
- Keep up with security, performance, and other platform upgrades
- Mitigate failures and outages at lower layers of the stack
Equally important, most developers and IT Ops professionals love the PaaS model, so adoption tends to be fast. With PaaS, development teams no longer have to procure, provision,configure, and manage tools, middleware, or compute infrastructure. Operations staff no longer has to struggle with the complex stack of components required to deploy applications. They no longer have to worry that they’ve missed a critical security patch or failed to optimize the caching. They are set free to focus on higher-value activities.
And of course, everyone does their best when they’re working with tools they love. With PaaS,developers are using tools that are up to date, that work the way they should, and that help them be more creative and efficient at their work.
Senior management has plenty of reasons to love the PaaS model as well. For starters, PaaS can reduce CAPEX and OPEX dramatically.
On the CAPEX side, there’s no longer any need to purchase licenses for tools or to acquire server, storage, and networking hardware; and you no longer have to procure the facilities to house those resources, and pay for the power, water, physical security systems, insurance, and so on.
The OPEX savings are often even higher. People are the largest expense in IT, according to Gartner, consuming 41% of the IT budget.# With PaaS you no longer need as many people to keep tools up to date and to monitor, manage, and maintain your infrastructure: system administrators, security administrators, database administrators, virtual machine specialists, high-availability configuration experts, network management administrators, etc.
In short, PaaS can free up budget that is currently locked away in necessary but low-value activities.
Traditionally, far more money is spent on the Ops side than on the development side.
By fusing development and operations via DevOps you get a small overlap which corresponds to small cost efficiencies.
With PaaS the budget is focused on development and innovation; there is only a small investment needed in operations.
Scalability is also a huge advantage of the PaaS model; with PaaS you scale your applications by clicking the appropriate boxes on the PaaS vendor’s web site. You can scale instantly, massively, and seamlessly to meet unexpected spikes in demand for your web apps and services; and you can scale back down just as quickly and easily. All the while, you pay only for the resources you actually used.
And with PaaS, small start-ups have access to the same tools, the same infrastructure, the same service levels, and the same scalability as large enterprises.
DevOps: The future has already passed you by
It’s ironic that cloud computing is often cited as the catalyst for the DevOps movement. In fact, cloud computing has created an opportunity to completely remove the need for DevOps. The utility model implemented by cloud computing is best engendered by PaaS; and that is why PaaS—not DevOps—is the future of integrated, collaborative software development and operations.
With customer satisfaction and revenue on the line, IT professionals need to be prepared to successfully run applications in the cloud to meet business and performance goals. DevOps isn’t wrong, but it's a short-sighted solution. If you’re looking for the scalability, flexibility, and reliability to accelerate IT’s contribution and drive business success, look to PaaS.
Tom Mornini co-founded Engine Yard to provide the infrastructure and support necessary to fuel development of Ruby on Rails applications. He has spent nearly 30 years as a software developer and systems architect with experience encompassing nearly every major development platform in that time and 20 years leading companies as a serial entrepreneur. You can follow him on Twitter @tmornini.