Amazon Web Services has a big lead over Google Cloud Platform in IaaS, but Google's PaaS predates Amazon's, and...
enterprises have taken notice.
Google App Engine emerged in 2008, three years before Google would begin serious efforts on an infrastructure as a service (IaaS) platform, and three years before Amazon would launch its platform as a service (PaaS), Elastic Beanstalk.
Because of how infrastructure resources are abstracted in PaaS, services like Google App Engine tend to be "sticky" for early adopters -- they stay on the platform once the PaaS becomes a core part of developing an app. Google PaaS, with its free quotas, has also been more affordable and easier to manage for some than Elastic Beanstalk.
App developers have stayed loyal to Google App Engine since its inception.
"When they launched it was free to a quota," said Rafael Sanches, founder at Allthecooks LLC, developers of a Web application that functions as a social network for cooking enthusiasts. "We increased past the quota but the service was still cheaper [than Amazon] anyway." Others welcomed the abstraction of underlying infrastructure resources found with PaaS.
"The ability for us to just focus on building application code, and have all the scaling and management of that handled, without us having to invest in a lot of IT infrastructure, without having to invest in server setup and managing the scaling of those systems, was really appealing to us," said Dave Tucker, senior director of platform development for Workiva, a financial reporting software developer based in Ames, Iowa which has also been with Google App Engine since its first beta.
Amazon Elastic Beanstalk now offers similar features, and formally supports more programming languages than Google App Engine. Elastic Beanstalk supports Java, .NET, PHP, Node.js, Python and Ruby coding languages, while Google PaaS supports Java, Python, PHP (in preview) and Go (as an experimental service) and has "Click to Deploy" support on Google Compute Engine for Node.js and Ruby.
Like Google's App Engine, Elastic Beanstalk also allows users to upload code and have the underlying infrastructure abstracted, and auto-scales as applications grow. Users of Elastic Beanstalk also have the option of configuring underlying infrastructure themselves.
Workiva has instances running in Amazon's Elastic Compute Cloud, but because of the integration between Google App Engine and Google Compute Engine, Tucker said the company will move those instances over to Compute Engine IaaS instead.
"We really like what [Google is] doing with the whole cloud project concept, this ability to create a project which includes an App Engine handling front-end instances, Compute Engine, cloud storage, all integrated," Tucker said. "From a management and security standpoint, that's a really nice model for us."
Google PaaS roadmap
Google PaaS customers are also excited about upcoming features, such as deeper integration between PaaS and IaaS through a service Google calls Managed VMs. Also on the docket is the Kubernetes container management service.
"We're increasingly moving to developers deploying micro-services that we can deploy in a container and so the whole movement around Docker works really well for us for what we're trying to do," Tucker said.
Both Tucker and Sanches said they were looking forward to Managed VMs, currently in alpha testing, which will allow users access to underlying Compute Engine virtual machine resources through the Google App Engine interface.
Managed VMs will lead to more cost savings, Sanches said. He said he will tweak the servers to get the maximum value out of the service by throwing a bunch of services on the biggest instance available.
Workiva will evaluate Kubernetes and Managed VMs on a workload-by-workload basis to see which technology is a better fit.
As an open source project, Kubernetes can be run anywhere, including AWS. So this might conflict with the "stickiness" advantage for Google PaaS, according to James Staten, analyst with Forrester Research based in Cambridge, Mass.
Google is also late to the game in integrating PaaS with IaaS, said Staten, which could validate the Elastic Beanstalk business model, in which users have access to the underlying resources if they choose, but can also run on a completely abstracted platform.
Google intends to blur the lines between PaaS and IaaS to offer a unified user experience, but time will tell whether this approach will make up for lost time on the IaaS integration side, Staten said.