With PaaS, cloud developers can free themselves from the burden of having to provision, configure, and manage infrastructure. Instead, they can focus on the application code.
Organizations are increasingly seeing the appeal of this approach, with Gartner’s latest estimates indicating that PaaS is a $ 60 billion business. The analyst firm predicts that global PaaS spending in 2021 will increase by almost 30% from the previous year. This will represent approximately 42% of total IaaS-PaaS revenue.
With support for compiled container images, almost any application that can be deployed on IaaS can run in a serverless PaaS framework. AWS Elastic Beanstalk and Google Cloud App Engine are two such offerings.
This comparison between AWS Elastic Beanstalk and Google Cloud App Engine examines key features and typical use cases.
Overview and Benefits
The AWS Elastic Beanstalk platform is used to deploy applications. It is designed for web applications. Initially, Elastic Beanstalk used Apache Tomcat as the J2EE runtime environment. Google App Engine is a similar framework for web applications. It supports multiple web technologies as well as persistent storage. It does this through a network file system and a NoSQL database.
Both products have extended their supported languages and runtime environments, which has increased the benefits of using PaaS products. Even so, they remain focused on dynamic web apps, mobile and packaged API backends.
Benefits of the PaaS offer
For developers and IT operations teams, the main benefit of using a cloud service like Elastic Beanstalk or App Engine is the elimination of overhead for configuration, deployment, scale, security or infrastructure management. Other benefits include:
- automatic load balancing, distribution and routing of traffic;
- traffic distribution to simplify the hosting of multiple versions of an application;
- switching users from canary to beta to production versions as needed;
- integration with cloud logging, monitoring and other diagnostic tools;
- automatic version control of applications;
- automatic updates of runtime environments; and
- pre-certified compliance with numerous regulatory standards.
Elastic Beanstalk and App Engine have so much in common that differences in functionality or implementation will rarely be a deciding factor in which tool to use. Instead, developers will be influenced by other factors such as their existing cloud relationship and expertise, as well as cost.
The following table compares the two products across a range of key features.
AWS Elastic Beanstalk and Google App Engine are both optimized for dynamic web applications. These types of applications mix static and dynamic generated content, control logic, and back-end data stores. Every modern website uses dynamic content created by built-in scripts and plugins.
These PaaS offers work with private and public applications. But they’re especially suited for external applications with varying workloads that benefit from load balancers, autoscaling, and multi-zone capabilities. They also work with compiled code and non-standard runtime environments, now that both services support custom Docker images. Workload variability is common with e-commerce, social networking, or collaboration sites. This is also the case for any business application that processes data in batches at regular intervals, such as financial reporting and invoicing software.
Although AWS Elastic Beanstalk and Google App Engine are serverless products that can run on demand, they are not ideal for event applications. These types of applications are best suited for services such as AWS Lambda, AWS Fargate, Google Cloud Functions, and Google Cloud Run. These services are integrated with the pub / sub services and are billed on demand.