In my last article on the cloud price wars, I mentioned how Infrastructure as a Service (IaaS) providers are in a race to differentiate themselves by producing developer friendly features that increase the agility of users. The core services of IaaS providers have focused around network, compute, and storage capabilities. All IaaS vendors provide core network, compute, and storage capabilities with comparable price points. What sets them apart are services that accelerate development by abstracting away the complexities of the underlying “IT plumbing” tasks such as scaling, fail over, orchestration and automation.
Platform as a Service (PaaS) is the abstraction of the underlying application stack. With PaaS, developers don’t have to worry about managing operating systems, databases, application servers or programming stacks and can focus on business requirements. While enterprise PaaS has been slow to catch on, PaaS vendors are making great strides as of late and more companies are starting to consider PaaS as a viable option. What’s the greatest hindrance to PaaS adoption? Not every workload is a smart candidate for PaaS. For workloads with extreme transaction processing requirements, developers need more control over the application stack in order to meet the desired performance requirements and SLAs. Today, only IaaS provides developers with this level of control.
Database as a Service (DBaaS)
IaaS providers are adding many new services to create PaaS-like capabilities by focusing on simplifying the development of specific use cases. For example, Amazon now offers four different Database as a Service offerings. RDS is a managed database service that provides auto scaling and self-managing capabilities for MySQL, SQL Server, Oracle, and Postgres relational databases. DynamoDB is a highly scalable managed NoSQL data store. ElastiCache is an in-memory caching service that can be used by simply calling the API without the need to install and manage a highly available caching technology, and Redshift is an on-demand fully managed pay-as-you-go Petabyte scale data warehouse. Google, on the other hand, offers BigQuery, a service that allows customers to run fast SQL-like queries against multi-terabyte datasets and get results in seconds. Google also provides a DBaaS capability for Hadoop. Microsoft’s DBaaS is a fully managed SQL Server environment while IBM’s Softlayer offers BLU Acceleration which is a managed data warehousing technology that allows developers to stand up a robust datawarehouse in under an hour. OpenStack, a popular open source IaaS alternative, released its DBaaS called Trove in the Icehouse release.
One area where AWS is miles ahead of the pack is in delivering easy to use application services so that developers can quickly bolt on functionality such as search capabilities, work flow, queuing, email, notifications, payments, streaming media, content delivery capabilities (CDN) and much more. As these types of services are added to the portfolio of IaaS providers, the lines between PaaS and IaaS get more blurry. The PaaS vendors need to accelerate the adoption rate of PaaS within enterprises before the IaaS providers build out enough capabilities to make PaaS an afterthought. Microsoft, Google, IBM, and OpenStack are also beefing up their portfolio with many new application services but they all have a long way to go to catch up to AWS.
Deployment and Management Services
All of the IaaS vendors are putting a major focus on making deployments and operational tasks easier to manage. AWS has recently launched OpsWorks to go along with Elastic Beanstack and CloudFormation. The collection of these services make management and orchestration operations more streamlined. To bolster its managed services capabilities, Google recently purchased StackDriver, a monitoring SaaS solution. Expect Google to make more acquisitions to catch up with AWS and others in this area. Microsoft has always had a strong focus on providing robust tools focused on developer ease of use. They offer a robust UI and APIs to manage networks, cost allocation, billing capabilities and deployments, provide automated monitoring and analytics, and much more. IBM DevOps services provides capabilities like Git hosting, continuous integration, and deployment automation. OpenStack offers its orchestration service called Heat which like AWS’s CloudFormation, allows developers to launch composite applications using templates.
Mobile and Gaming services
Now here is where this starts to get really serious. Mobile and gaming applications are very resource intensive and require significant investments in engineering to meet the scalability and performance requirements that end users require. Services like AWS’s AppStream, a low latency application streaming service, and Elastic Transcoder, an easy to use scalable media transcoding service, allow developers to quickly get to market without having to spend months designing highly scalable, fault-tolerant architectures to deal with processing large rich media content across wide distributed networks. Microsoft, Google and IBM all provide MBaaS (mobile backend as a service) capabilities, but OpenStack is behind in this area.
All of the IaaS providers mentioned offer marketplace capabilities. Think of a marketplace as the IaaS equivalent of Apple’s AppStore. Now third parties can add PaaS-like capabilities that “plug-in” to the IaaS offerings at a pay-as-you-go subscription service. As these marketplaces become more robust, the IaaS providers start to look even more like PaaS offerings.
PaaS solutions provide the ultimate level of abstraction that hides all of the complexities of both the underlying infrastructure and the application stacks. IaaS providers are not trying to replicate what PaaS vendors are providing but instead are adding various PaaS-like services to their portfolio based on customer demand. Over time, the value proposition of PaaS may become overlooked by customers as the line between PaaS and IaaS becomes even more blurry.