Platform-as-a-Service (PaaS) solutions are increasingly popular and can speed time to market while cutting costs, but they are not for all organizations and they are not all the same. Before a business can ask whether PaaS makes sense, it must first understand its own needs and the differences among the wide variety of PaaS offerings. Then it must consider the realities of its existing infrastructure and staff and how to best integrate those resources with service-based offerings.
This report defines PaaS, investigates the available options, and then supplies concrete recommendations for what to use where and when.
- PaaS solutions have been in the background for years, but they now range from traditional PaaS, which simply abstracts out the infrastructure for a single hosting provider, to PaaS solutions that provide model-based app building and deploy to public, private, and hybrid clouds.
- Organizations should be investigating choices and choosing a PaaS provider now to guard against cloud-provider lock-in.
The number of savvy developers a company has combined with its availability are primary criteria for determining if PaaS is the right choice and how much productivity gain can be realized.
2 Why PaaS is the future
Although Software as a Service (SaaS) and Infrastructure as a Service (IaaS) are at the tip of the cloud-adoption spear, Platform as a Service (PaaS) will likely have the most value.
Whereas SaaS providers provide polished black box web-consumable products that are directly accessible to end users and IaaS providers like AWS and Google Cloud Platform provide various infrastructure lego blocks like storage, compute, and database assets that can be combined, PaaS providers let developers easily make their applications accessible, scalable, and highly available.
In a way, PaaS provides a higher-level abstraction than IaaS, greatly simplifying the deployment as well as maintenance of applications. Think of PaaS as a declarative service: Developers simply write their code, sometimes using tools from the PaaS provider, and then upload that custom code into a container that determines, provisions, and builds out all resources required to deliver the application at scale.
With the increasing complexity of IaaS — Amazon Web Services alone now has well in excess of 30 independent services, each of which may have dozens of facets and API interfaces — the PaaS market is a welcome breath of fresh air. For this reason, all the major cloud IaaS providers are betting heavily on predominantly using PaaS two to three years from now, and each is putting PaaS products at the center of its myriad of services.
3 PaaS options
Like IaaS and SaaS, PaaS comes in many flavors with implementations by a flood of independent vendors that each have unique differentiators. Consumers may be daunted by independently comparing and contrasting the benefits of each provider, but generally, the market lumps the solutions into one of two buckets.
Coding by hand, the first bucket, houses solutions that match the traditional PaaS definition:
- User writes code.
- User uploads code.
- PaaS solution takes it from there, building out the proper infrastructure.
This solution can provide value by not involving the user with the low-level infrastructure detail and letting users focus exclusively on the business differentiator: custom code.
The high-productivity-PaaS bucket is far more interesting. Whereas the first generation of PaaS simply focused on the automated build-out of required infrastructure, its offspring additionally abstracts out the coding process itself, in many cases making the building of apps as simple as point-and-click selection and chaining together existing UI and functionality elements. In this case, the PaaS solution literally writes the code, making app building as accessible to marketing and sales teams as it is to senior developers.
After the app is created, its deployment and maintenance are handled the same as a traditional PaaS solution; developers push “deploy” and their app is running and available to users, scaling infrastructure with demand, void of single points of failure.
A huge win for the PaaS solutions is that a few of them are completely agnostic about where the app will run. The consumer can use public, private, or hybrid clouds, and switching a public provider is as simple as pointing to a new provider and pressing “deploy” again. PaaS can be the magic pill for any organization concerned about vendor lock-in or a costly future migration from a public to private cloud.
4 When is PaaS right for your organization?
Companies that have started investigating PaaS typically do so for one of two reasons: developer productivity gains or the possibility of a future provider swap. Even those that have already adopted an all-in public, private, or hybrid cloud strategy can place PaaS in front of that infrastructure, both to realize significant developer productivity gains and to make their deployments to their provider much more fail-safe, all the while providing the comfort of knowing that a provider swap down the road is both possible and extremely simple.
The more a PaaS solution does, the greater the associated productivity gain will be. In most organizations, talented developer staff is overworked and periodically (or perhaps constantly) understaffed. A high-productivity PaaS solution will let those talented developers work smarter and faster, but it may even completely offload some of their work to other departments or to lower-cost interns who don’t need in-depth coding knowledge to build and deploy something useful.
At the lower deployment level, PaaS solutions free developer time by simply removing the architecture and infrastructure decisions from their mind space. Should developers want to later take the reins and fine-tune some of the PaaS-built infrastructure, they can modify the pre-built infrastructure faster and more easily rather than build the whole stack from scratch. For the PaaS solutions that additionally perform code generation, the platform- and provider-agnostic code can be extended on top as well.
With the extremely rich palette of hosting options and the rapid iteration in the space, claiming to know that a current hosting provider will be the best match even one to two years from now is overly optimistic. A possible provider switch is something that every IT department should prioritize, even if its current solution does everything it needs at an acceptable cost.
To see why this should be a priority, look no further than the current cloud situation in which many who rushed into the public cloud now find themselves. Companies that drove every app into the public cloud are now finding that for certain apps, the public cloud either costs a great deal more or that they lack the control necessary to optimize and tune their specific application. Many data centers are now seeing a huge resurgence of business from users who did the math and found that private hosting gave them the cost or control benefits that the cloud could not.
Public, private, and hybrid each have their own advantages, and each should be a tool that is understood and well-utilized. Knowing the value of each will help an organization plan for growth and possibly architect its systems for better portability. Building a solution in PaaS from the get-go is typically the best insurance plan a company can buy to enable that flexibility.
Assuming a company does not have an excess of underworked developers, in only a handful of situations would it not consider the upsides of PaaS. The two most common cases are:
- Existing vendor lock-in. If a company has already invested heavily in one provider and the migration back to a genericized solution would be difficult, PaaS will offer little benefit.
- Devops maturity. Most organizations claim that devops-compliant processes are heavy on the dev and light on the ops. When a company is bubbling over with folks who can administer servers as well as write code, PaaS may not make a lot of sense.
5 Selecting a PaaS solution provider
The hurdle to understanding the benefits of PaaS is often (and unfortunately) a great deal shorter than the hurdle to selecting a PaaS provider. The sector is in full bloom, with more than three dozen providers each claiming somewhat similar benefits. An easy way to trim those providers down to a short list is to determine which of the following criteria are most important to a business and map those criteria to existing providers.
- Coding by hand versus model-based app building. This criterion comprises two questions. Is the developer team overworked and/or more heavily weighted toward junior staff? Would and could other staff take over some of the app creation if it had a code-generation solution available? If so, then a high-productivity PaaS makes the most sense.
- Ops takes up too much time. Is building and maintaining infrastructure (even IaaS infrastructure) burning up too much of the team’s time? Even traditional PaaS will alleviate this.
- Tight integration to existing provider. Each major public cloud provider has its own PaaS solution. If an organization is already so deep with a current provider that extraction would be tough, it can at least realize some of the developer productivity gains by using the provider’s PaaS. Although cutting its teeth on these custom solutions gets the organization further bound to its provider, at least it will learn to use PaaS in a low-risk environment.
- Possibility of future migration to another infrastructure provider. Whether the recent pricing wars in the IaaS space have an organization contemplating a move from its current provider or whether it is considering a possible migration to or from the private to the public cloud, chances are high that it is either considering another provider or soon will be. If this is attractive, the organization should investigate a PaaS solution that treats public, private, and hybrid infrastructures as equal players.
6 Key takeaways
- Although PaaS solutions have been in the backseat for many years, they are ready for prime time, come in a wide gradient of features from a plethora of providers, and can provide real and measurable productivity gains.
- At one end of the gradient is traditional PaaS, which simply abstracts out the infrastructure for a single hosting provider. At the other end of the spectrum are PaaS solutions that can provide model-based app building and deploy to public, private, and hybrid clouds.
- Investigating and choosing a PaaS provider is something an organization should be doing sooner than later, as it is the best protection against cloud-provider lock-in.
- When choosing a PaaS provider, an organization needs to review where its needs fall on the gradient of possible features.
- The number of savvy developers, in conjunction with their availability (or lack thereof) may be one of the biggest criteria for determining if PaaS is right for an organization and for determining how much productivity gain it can realize from a solution.
7 About Rich Morrow
Rich Morrow is a 20-year open-source technology veteran who enjoys coding and teaching as much as writing and speaking. His current passions are cloud technologies (mainly AWS and OpenStack) and big data (Hadoop and NoSQL), and he spends about half of his work life traveling around the country training the Fortune 500 on their use and utility. He’s responsible for founding the hugely successful Denver-Boulder Cloud Computing group, as well as quicloud, a Boulder, Colo.-based cloud and big data consultancy.
8 About Gigaom Research
Gigaom Research gives you insider access to expert industry insights on emerging markets. Focused on delivering highly relevant and timely research to the people who need it most, our analysis, reports, and original research come from the most respected voices in the industry. Whether you’re beginning to learn about a new market or are an industry insider, Gigaom Research addresses the need for relevant, illuminating insights into the industry’s most dynamic markets.
Visit us at: research.gigaom.com.