For many customers just getting started on their cloud modernization journey, the dizzying array of options available can be overwhelming. As software engineers and platform operators evaluate their options, it’s not uncommon for them to struggle to choose the “right” path. The truth is that there is no single path that is best for every organization.
In this article, we discuss two options available with Google Cloud Platform: App Engine vs Compute Engine.
Both of these products offer distinct advantages for application developers and platform operators — and they’re both widely used in cloud-native applications today.
Google’s App Engine offering alone serves more than 350 billion requests per day. At their core, though, they’re in fundamentally different categories of products. Google Compute Engine is an Infrastructure-as-a-Service (IaaS) solution, whereas Google App Engine is a Platform-as-a-Service solution.
IaaS and PaaS Defined
In an IaaS model, cloud providers handle the physical server hardware, storage and networking components traditionally found in on-premises data centers. They also provide the virtualization or hypervisor layer that allows customers to create their own virtual machines that will ultimately host applications. Customers have the ability to define specific attributes of each virtual machine and to install and manage its own platform.
In a PaaS model, the cloud provider not only handles the physical infrastructure components and virtualization layers of traditional data centers, but the provider also delivers the application hosting software platform. This allows customers to focus on developing custom applications, rather than having to focus on infrastructure management and application hosting or platform concerns.
Google Compute Engine 101
Google Compute Engine is a compelling option for organizations that need more flexibility in the hosting platforms for their applications. Many times, this is driven by specialized requirements of custom-off-the-shelf (COTS) applications where the organization has a significant investment or legacy environments that still provide business value, but may be targeted for retirement as the organization shifts to modern, cloud-native solutions. Another key reason some customers opt for GCE is for finer-grain control of the zones and regions where its data and applications reside. This is often of critical importance in highly-regulated industries like banking and healthcare.
At a high level, while GCE offers more flexibility for organizations, it also requires more direct management of the VMs and application platforms upon which applications are deployed.
Google App Engine 101
For companies that do not require finer control of their VMs and hosting environments, Google App Engine may be the better choice. Google App Engine offers all of the management benefits, with the cloud provider managing both the physical infrastructure found in its IaaS offering and the management of the application platform. This allows application developers to focus more of their time building custom software that delivers direct value for the business and its customers.
Google App Engine supports a variety of modern application platforms including Go, PHP, Java, Python, Node. js, .NET, and Ruby as part of its standard environment runtimes. Other custom runtimes are also supported through its flexible environment offering.
With both the standard or flexible environments in App Engine, organizations can benefit from the most common runtime environment options in use today, as well as custom options that would previously only be available to IaaS consumers, but without the burden of managing VMs.
Compute Engine vs. App Engine: Which is best for us?
There’s no simple answer. While Google Compute Engine allows organizations to shift the complexity of managing their physical hardware and data centers to Google, it also requires more specialized knowledge of the intricacies of VM management. Some organizations need greater control of those virtualized environments and others don’t. The choice depends on a multitude of factors like regulatory environment, workforce capability, legacy software requirements, and more.
Google App Engine is generally a better choice for organizations that don’t have the same constraints as above but comes at the expense of finer-grained control of the environment.
Whether you want more control of infrastructure or the ability to deploy applications while focusing directly on coding alone, Google Compute Engine and Google App Engine both offer options for every developer’s needs.
Learn more about Compute Engine and App Engine, or schedule a time for a consultation about application modernization today.