What to Consider When Implementing Platform as a Service (PaaS)
There are many questions you should ask before selecting your PaaS provider. Learn what you need to know in order to compare and contrast PaaS with the other offerings like IaaS and SaaS, and what they require in terms of setup and configuration. As with any decision involving IT infrastructure there are many variables that should be considered to ensure you find a solution that will fit your current and future needs, budget and support requirements.
Review of PaaS Clouds
PaaS cloud computing is the middle ground between Infrastructure as a Service (IaaS) and Software as a Service (SaaS). With PaaS cloud computing consumers don't determine server size, storage (at least directly-you may be able to choose how much you want), networking, or even the operating system installed like they can with IaaS. Instead, consumers use the resources provisioned by the provider, and can utilize any programming language, utility, or tool provided by them to deploy their own applications. Consumers can thus focus on their application and not worry about all the underlying infrastructure, backups (potentially), etc.
Be sure to read the terms and conditions and service level agreements (SLAs) provided by the cloud provider to ensure that your needs are met, especially with regard to any backups, uptime guarantees, etc. With SaaS, on the other hand, you only get an application to run (think email for example), without access to programing tools and other platform services provided with PaaS.
The advantage of PaaS is that developers don't have to worry about creating the infrastructure needed to write apps and worry about how big the servers need to be, or how many they need, or possibly even where they are located. With PaaS none of those are issues-a developer can just go to work and interface with the services he or she requires. The downside is that if an application is running slowly or storage is a bottleneck, there isn't much that can be done to fix the issue, as you have no control over those things (more on this later).
In this model, all the underlying infrastructure may be shared across developers, divisions, and/or companies, with very little control over whom the infrastructure is being shared with.
Other Offerings that Are Similar to PaaS, But for Specific Purposes
Before we get started discussing what was originally envisioned as PaaS, let's start with some related offerings that can be considered as platform services that can be leveraged. These services may be sold as stand-alone offerings or integrated with more traditional PaaS offerings, or potentially integrated with IaaS, where some parts of a cloud deployment are IaaS, giving users the control they need over the elements they care about (for example application server sizing or network speed), while not having the cost, time, and expense of maintaining other infrastructure components, such as directory services or a database. The acronyms used in this section are for convenience in this document only; there are no standard abbreviations throughout the industry, with different companies using different acronyms to describe essentially the same offerings.
Database as a Service (DBaaS)
The first of these services is DBaaS. Many organizations find that sizing, maintaining, and optimizing a database, to say nothing of selecting the underlying platform (MySQL, Microsoft SQL, Oracle, etc.) and keeping it patched and maintained, is a daunting task that requires a full time Database Administrator (DBA) or a team of them. What if some, if not all, of that complexity could be removed? That is the concept of DBaaS. There are still going to be some decisions that need to be made (for example, if you use Microsoft's offering, it will be using Microsoft SQL, not a competitor), but patching it and configuring it for high availability will not be tasks you need to worry about. Storage space and performance are also issues for the DBaaS provider, not the consumer.
Companies that offer products in this area include Microsoft Azure SQL Database for Microsoft SQL databases on the Azure cloud; EnterpriseDB for PostgreSQL database in the cloud (the Advanced Edition even supports many Oracle functions and uses its command syntax, is accessible from anywhere, and runs on Amazon Elastic Compute Cloud (EC2) infrastructure); and Amazon's Relational Database Service (RDS), which supports multiple databases including Microsoft SQL, MySQL, Oracle, and PostgreSQL, along with Amazon's own Aurora.