To get an application downloading, compiling, installing, configuring, and connecting all sorts of running in the cloud you can spend long hours components—and that is just to get your application up and running on a single virtual server instance. Not only can this be time consuming and costly, but it takes away from time you could have spent innovating and improving your application.
But now there is a better way. In the last several years, technologies between the operating system and your application—the platform layer—have evolved and matured to make cloud computing easier.
Rather than downloading and building all of those platform-level technologies on each server instance, and then later having to repeat the process as you scale, you can go to a simple Web user interface, click a few options, and have your application automatically deployed to a fully provisioned cluster. As application usage grows, you can later add more capacity by clicking a few more buttons. As you need to set up increasingly sophisticated architectures such as high availability and disaster recovery, you can do this from the same Web interface. And as all the constituent platform components evolve along their own respective paths, they are updated for you, with no required effort on your part. That is what Platform-as-a- Service (PaaS) is all about.
You get a reliable comprehensive application platform that lets you retain full access to all the environment components with “white-glove” expertise and support if you ever have questions or issues with your system. You can focus on improving your application while BIS Cloud takes care of your platform. There are numerous benefits to using a PaaS rather than “doing it yourself” on an IaaS, including agility, efficiency, quality, and other needs. We briefly outline the most important of these benefits below.
PaaS consists of three main components. First, there are the layers of software that your application runs on—“the stack”. These are the various libraries, frameworks, and services that the developer uses to build the application and which are assumed to be present in the runtime environment. The stack consists of components such as the language interpreter or language virtual machine (VM), the application framework (e.g. PHP), the HTTP server, the load balancer, caching mechanisms, databases and so on. A given PaaS may offer several stack combinations to choose from, such as different stacks for different languages or different frameworks within a language domain. The stack remains with your application as it runs; logically, it becomes essentially a part of your application.
The second major component of a PaaS is the deployment mechanism that instantly creates virtual server and provision it with instances of the stack and your application code. This machinery operates when you click the deploy button (or perhaps you confirm an order to invoke it), and it gets out of the way once deployment is complete and your application is up and running. This machinery is itself code, perhaps a combination of scripts and Web services and perhaps uses an off-the-shelf. The way this machinery is architected, the particular parameters it exposes, and the functions it makes available to an overlying graphical user interface (GUI) or command line interface (CLI) are important differentiators between a good PaaS and a bad one.
The third component is the user interface and the overall user experience (UX). A particular PaaS may provide Web GUI, a CLI or both. The ordering of the screens, the choices made available, the logic of how multiple applications and environments are organized and presented—all these factors are make-or-break for the learnability and usability of a given PaaS. The goal is to make it easy to change the things you care about and hide the things you don’t care about. The right trade-offs between simplicity and flexibility, constraint and freedom, and opaqueness and transparency are all critical.
Choosing the right PaaS takes some thought and understanding of your needs and goals. It’s not trivial, but making the right choice can be of huge benefit to your business.