Cloud

The app developer top 5: Why PaaS is a liberating choice

Guest contributor Bill Platt cites the top 5 reasons app developers are turning to PaaS to solve some core challenges.

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.

4 comments
mobilesite
mobilesite

Seems to be a nice app as per me. Whatever requires less maintenance is good for me. Developers who have been working in mobile app development sector should always come up with new innovative ideas to make mobile apps more user-friendly.

428r_Cruzr
428r_Cruzr

I'd like to thank Mr. Platt for providing a great summary of all the typical responsibilities of developers and the complexities of our roles. I have to agree with my two colleagues who have already commented that though this may seem like a great idea and certainly for some would provide a host of benefits and efficiencies, the rest of us would be left with the same amount of work but no way to actually perform it. Especially in a Lead Developer or IT Development Manager role, you are still responsible for making sure that tall the necessary updates are performed and that there haven't been any incompatibilities introduced. If any issues should be found it would be much more difficult to get those issues corrected in a timely manner when you're at the mercy of the PaaS provider. I take pride in the amount of knowledge I have and the various "specialties" I'm accountable to deliver on. You can keep your Paas until you're ready to jump on every issue I find immediately no questions asked. Cheers.

barrynovak5
barrynovak5

By all means, let us developers hand over those tasks to specialists so we can focus on our core mission...and as we make specialists of all IT folks, we head towards commoditizing our skills...and that leads to commodity pricing of IT talent....oops, never mind!

Kevin917
Kevin917

"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."\ Really? And we can be sure of this how? Unless one is constantly doing due diligence of their own on all the components, just like they would have to if they were responsible for it themselves, there is no way to be sure that the PaaS providers are doing it. So the difference in the two approaches is actually that in one case you have to decide the value of making the changes and updates and in the other you can't actually make them yourself! Caveat Emptor