By Bill Platt
There's no debate on the business benefits of Platform-as-a-Service (PaaS). The agility, efficiency, and cost savings are well documented. But what about the direct benefits for application developers who use PaaS on a daily basis to build web apps that drive revenue and support the business? While these benefits may be less obvious, it's important to realize that PaaS is a driving force in DevOps, freeing developers to focus on their core mission of creating new, innovative apps, without the distraction of managing infrastructure and middleware required to ensure the applications run properly for end users.
In a survey conducted by Engine Yard of technical management at a wide range of companies, 64 percent of respondents said they plan to or have already implemented PaaS solutions in their businesses. The adoption rate for PaaS is growing quickly for many good reasons. From an executive perspective, they see that PaaS converts capital expenditures into variable costs, enabling them to scale, from small web apps to large-scale, enterprise applications.
For developers, the adoption of PaaS solves a number of core challenges by eliminating most of their DevOps responsibilities. Here's a look at the top five ways PaaS is liberating developers:
#1 Freedom to focus on innovation
Developers are expected to translate innovative ideas into functioning applications - quickly, efficiently and painlessly. But that's not their only job. They also keep the software stack up to date, fix bugs in the platform, install new patches, strengthen security and optimize configurations, to name just a few of their other responsibilities.
PaaS removes the obstacles of dealing with infrastructure and operations, and gives developers all the components they need to quickly and effectively create new web apps. Without these infrastructure worries, developers can use their talent and creativity to explore more new ideas; as well as test, refine, deploy and iterate new apps with speed and ease. By eliminating the painstaking work of staying current on component capabilities, versions and compatibilities, security updates and optimizing stacks, developers are freed to think about new ways to engage customers, deliver better apps and provide improved user experiences.
#2 Maintenance-free stacks and components
Developers typically spend inordinate amounts of time setting up the components and services they need to run their applications. Components must be rigorously managed, constantly updated, integrated, optimized, secured and hardened in conjunction with all of the other components that they touch. The complexity is daunting, and the opportunity for error is magnified each time an update must be made or a new component is added. As a result, developers often choose to live with outdated components for fear of causing downtime or performance problems with new software versions and patches.
With PaaS offerings, all the critically important components are maintained by experts, who constantly incorporate and test component updates and bring them into the platform when ready. Commercial grade PaaS solutions offer valuable functionality such as load balancing, fine grained controls, monitoring and alerting, database backups, high availability and more. These functions are significantly automated, freeing up the developer's time to focus on the application code itself.
#3 Pain-free deployment and scaling
When developers build a solution from scratch, they have to decide whether (1) to optimize it for the size they need now, (2) the scale they expect it to be in the future, or( 3) if they want to build in their own scaling mechanism in order to grow more dynamically.
But each choice has its own downfalls.
- In the first scenario, you'll have downtime as you rebuild your platform once you outgrow the initial set-up.
- In the second, you'll waste money and resources overprovisioning.
- And in the third, you'll waste a lot of time trying to build a custom solution.
PaaS solutions offer a simpler, faster way to deploy and scale applications compared with these traditional do-it-yourself (DIY) options. With a click of a button, developers can instantly and seamlessly accommodate spikes in demand and ratchet back down just as easily. In addition, some PaaS providers have top-notch support teams comprised of DevOps experts that guide developers through deployments, scaling and other issues that may arise.
# 4 Enhanced performance and security
When using traditional development tools and practices, every aspect of improving app performance, scalability, and security is a complex, time-consuming task that requires specialized expertise and toolsets. PaaS is a great equalizer, giving small development teams the same components, infrastructure and scalability that only large enterprises could afford in the past.
With experts focused on tuning, optimizing, load balancing, reconfiguring and updating to address security threats in PaaS offerings, developers are freed from having to take time to do these things themselves. Security, in particular, showcases the distinct advantage of the PaaS model. With the continually growing volume and diversity of security threats, protecting against security vulnerabilities is best left to specialists. PaaS offerings provide continual security updates for individual stack components and ensure that the assembled and curated technology stacks work securely against the underlying infrastructure.
# 5 Open to new technologies
The threat of vendor lock-in continues to strike fear in the hearts of development teams, IT departments, and senior executives. If you claim allegiance to a single vendor, you typically cannot benefit from new tools and technologies from others, without compatibility issues or higher costs. And, if you acquire and manage your own infrastructure, you are essentially locked in, too, since moving to new products or vendors carries massive costs and hampers flexibility to adapt quickly to technological change.
With the PaaS model, developers are not constrained by vendor, technology or a certain set of components. By selecting a PaaS offering that is built on open technology, you can avoid the pitfalls of lock-in. These solutions allow you to use up-to-date stacks and technologies as needed.
Cut costs, eliminate risk, but never lose control
PaaS is an ideal solution for developers who want to accelerate innovation while reducing the cost, risk and complexity of the development process. The advantages of the PaaS model outlined above show how you can effectively eliminate the inefficiency and expense of trying to do everything yourself. Compared to conventional offerings, such as IaaS and managed services, PaaS enables you to transform app development and deployment from a process fraught with operational complexity to one that is streamlined and offers your company a competitive edge.About the Author
Bill Platt is senior vice president of operations at Engine Yard, a Platform as a Service, that enables cloud application development for thousands of companies worldwide, running PHP, Ruby on Rails, and Node.js applications.