App Dev | Feature Highlight | Google Cloud

The Ultimate Guide To Google App Engine

Dheeraj Panyam
Dheeraj Panyam

We live in a world of viral marketing where popularity is swift and fleeting. A single feature article on a popular publication or a retweet by a celebrity can bring hundreds of thousands of visitors (and potential customers) to your app or website in a single day. But chances are, as a new company, you didn’t build your server to hold 100,000 visits in an hour and those potential customers are unlikely to come back the next day.

And even if you did anticipate going viral, the 100,000 visits will still be just for a day. The next day your servers will go underutilized and paying for server space you’re not using is equivalent to losing money.

So surely, there must be a better alternative?

There is (and don’t call me Shirley).

It’s called Google App Engine.

What is Google App Engine?

Google describes App Engine as a “fully managed serverless application platform with simple administration” but let’s use an example to understand the core idea behind App Engine better.

If you’ve been using the internet long enough, you’ll probably remember Blogger – it is a blog publishing and management platform that allows users to create their own blog (similar to WordPress). Blogger had millions of active readers and hundreds of thousands and users with blogs. As a blog owner, all you had to do was log in, write your blog, and click on Post and the platform would do the rest for you.

The beauty of it all was that you could make thousands of blog posts and you wouldn’t have to worry about server space. Because Blogger had a lot of computers to keep your blog running. But the number of computers was never fixed. Every day, the number of people online would change and so would the computing power required. But this didn’t bother you or Blogger itself. Why?

Because Blogger runs on the Google Cloud Platform which scales automatically meaning Blogger would always have enough computing power to serve your blog to your readers – irrespective of the number of people online.

The Google App Engine is an extension of the Cloud Platform that allows businesses to create web apps, mobile applications, and traditional websites without having to worry about the computers that run it – you don’t think about how many computers you need or where they need to be – it’s all fully managed for you.

Features of Google App Engine

Google App Engine is one of the most feature-rich managed cloud computing programming services. In this article, we’ll take a look at just some of the most popular features of GAE. However, there are still numerous other features, many of which are unique to GAE. You can visit the official GAE page to learn more.

Editor’s note: Many of the features of Google App Engine are what attracts businesses to choose cloud computing over traditional client-server architectures. Therefore, these features also double as the benefits of Google App Engine (hence no benefits section).

Platform-as-a-service

Google App Engine is a Platform-as-a-Service (PaaS). It means that GAE bundles together all of the required components (including OS, required runtime, libraries, etc), preinstalls and configures them for you. All that is left for you to do is write and upload your code.

Google App Engine currently supports 6 popular languages, PHP, and custom runtimes as well. Developers can write their program in any of the following languages and directly upload it to the cloud: Node.js, Java, Ruby, C#, Go, Python

Built-in diagnostics tools

For a data-driven company, reliable diagnostics are crucial. With the right tools, businesses can measure all the progress and changes in revenue, traffic, user behaviour, and connect them accurately with the changes made in the codebase, giving companies the ability to see which changes are working and the ones which aren’t. You can also use these tools to identify bugs through customer feedback or software crashes.

Traditionally, high-quality diagnostics tools would have to be purchased by third-party vendors but the Google Cloud Platform (GCP) has hundreds of additional services, including powerful analytics and monitoring tools (Cloud Monitoring, Cloud Logging, Cloud Debugger, Error Reporting, etc.)

Pay-per-use pricing

One of the most attractive benefits of the Google App Engine is pay-per-use pricing which means that companies only have to pay for the resources they use. This means there are no daily fixed costs if your audience only uses your services on weekends.

Highly scalable

Google App Engine is extremely scalable. You have access to the thousands of computers worth of computing power spread across the globe to avoid downtime and timeouts while ensuring low latency. And you only have this computing power when you need to avoid underutilized resources (leading to lower cloud spend).

A large services ecosystem

Google App Engine allows you to access the hundreds of additional services and tools that Google has created under its Cloud Platform (GCP) to develop some of the most advanced, optimized, and efficient conversion machines on the planet. Here are some of the areas covered by the products in the GCP ecosystem: Compute, Storage, Database, Networking, Operations, Data Analytics, AI and Machine Learning, API Management, Hybrid and multi-cloud, Migration, Security and Identity, Containers, Internet of Things (IoT), Management Tools.

In total, there are hundreds of products spanning 18 product categories. These help you break away from traditional third-party vendors and have everything you need in one place.

Use Cases of Google App Engine (with Case Studies)

Translating potential value into realized value is one of the hardest parts of adopting any new technology. To improve the process of adopting Google App Engine and to give companies a sense of direction, here are some popular and powerful use cases of Google App Engine along with case studies to further drive implementation.

Infrastructure Modernization with Google App Engine

Infrastructure includes everything from your server hardware to the software that you’re running. Most legacy businesses are often running two to three outdated components in their infrastructure which increases IT spend while at the same time reducing productivity.

There are different strategies for modernization and cloud migration (like rehosting and replatforming) that come with different costs. However, there is one infrastructure modernization strategy that is often overlooked as it focuses on just the backends of the infrastructure – App Engine.

Companies with traditional client-server infrastructure can use App Engine and no longer worry about server management or configurations before deployments. Additionally, scalability is also not a concern anymore and businesses can grow their apps with the confidence that their infrastructure won’t fail or falter under the increasing load.

Case Study: Fabsystems Modernizes their Infrastructure to Optimize Costs, Flexibility and Scalability

Fabsystems is a SaaS solution meant to help steel companies accurately and efficiently estimate their steel requirements. However, their existing infrastructure was proving to a bottleneck in the way of a fast-growing company. To cut costs, increase performance, and reduce time-to-market, Fabsystems partnered with D3V to modernize its existing software and transition to the App Engine Standard. This move resulted in increasing performance by 50%, reducing cloud spend by 30%, and introducing updates faster and more reliably. Here is the full case study.

Application Development with Google App Engine

Applications (including both web apps and mobile apps) traditionally required a lot of preparation before the actual code could be deployed. However, the App Engine offers zero-config deployments which means your developers can get straight to writing code and pushing updates.

Additional services from the Google Cloud ecosystem offer an effective platform to manage all your data and assets so that you can create modern apps with next-generation upgradability. The App Engine is also far more suitable for remote development, compared to traditional monolithic architectures.

Bottom line, companies can use App Engine to develop powerful and modern applications that are faster, efficient, and more affordable.

Traffic splitting for A/B Testing and Limited Rollouts

Traffic splitting, incremental feature rollouts, and the ability to add/remove parts of features without affecting user experience is another popular use case of the App Engine. With the microservices architecture, developers have access to isolated containers that represent features of an application. These containers can be added, modified, and completely removed from the main code base with minimal coding.

Companies use this ability to route incoming traffic to different versions of the application (for A/B testing), do incremental feature rollouts to update faster, and isolate bugs without the risk of causing a system-wide crash.

Case Study: Travlytix created an intelligent customer data platform in six months

HTC required a platform that gave its users lag-free and uninterrupted access to data and creating a customer data platform with a small team and a short deadline. They made use of the App Engine along with Google’s other managed services to create a fully functional platform based on microservices that was resilient, stable, and lag-free. You can read the full case study here.

Scaling Through Optimization

There are two methods to scale. The first method is to add more computing power so more requests can be processed at the same time. The other method is to optimize the requests so less computing power is required and thus more requests can be processed. Most companies scale with the first option which is called vertical scaling. The optimization method is often overlooked as vertical scaling is considered faster and easier – but with time, optimization becomes necessary.

Applications can be optimized through various techniques including minimizing disk reads, caching computations, or more recent techniques like multi-tenant solutions that allow businesses to scale up while reducing costs.

Getting Started with Google App Engine

Getting an application up and running on Google App Engine is relatively straightforward and can be done in just five steps:

  • Create a Google App Engine account
  • Set up the Google App Engine SDK
  • Write a simple Google App Engine application
  • Test the application locally
  • Deploy the Google App Engine application in the cloud

However, things start to become more complex as your application grows and you need to utilize additional managed services to create a more feature-rich application that is still clean, fast, and resilient. In such a case, working with certified cloud engineers is usually the most rewarding option.

D3V Tech is a cloud-based solutions provider with a team of certified cloud engineers, migrations officers, and developers that can make your vision into a fully-functional cloud-based application. Schedule a free consultation today and get started with a development roadmap.