Google App Engine (GAE)

Group-21
9 min readMay 3, 2023

--

Source: Linkedin

What Does Google App Engine (GAE) mean?

Google App Engine (GAE) is a service for developing and hosting Web applications in Google’s data centers, belonging to the platform as a service (PaaS) category of cloud computing. Web applications hosted on GAE are sandboxed and run across multiple servers for redundancy and allow for scaling of resources according to the traffic requirements of the moment. App Engine automatically allocates additional resources to the servers to accommodate the increased load.

Google App Engine is Google’s platform as a service offering that allows developers and businesses to build and run applications using Google’s advanced infrastructure. These applications are required to be written in one of a few supported languages, namely: Java, Python, PHP, and Go. It also requires the use of Google query language and the database used is Google Big Table. Applications must abide by these standards, so applications either must be developed with GAE in mind or else modified to meet the requirements.

GAE is a platform, so it provides all of the required elements to run and host Web applications, be it on mobile or the Web. Without this all-in feature, developers would have to source their own servers, database software, and the APIs that would make all of them work properly together, not to mention the entire configuration that must be done. GAE takes this burden off the developers so they can concentrate on the app front end and functionality, driving better user experience.

The App Engine architecture

Source: Net Solutions

Services provided by App Engine include:

  • Platform as a Service (PaaS) to build and deploy scalable applications
  • Hosting facility in fully-managed data centers
  • A fully-managed, flexible environment platform for managing application servers and infrastructure
  • Support in the form of popular development languages and developer tools

Is Google App Engine PaaS or SaaS?

Google App Engine in cloud computing is a PaaS, Platform as a Service model, i.e., it provides a platform for developers to build and deploy scalable applications on the Google Cloud platform. GAE excels in managing the built applications in Google’s data centers.

Organizations are then left free to focus on building applications on the cloud, and they do not have to worry about hosting and managing the application infrastructure. GAE is, therefore, a preferable choice for organizations as it streamlines workflows and lays the foundation for efficient processes. It helps ensure faster time to market, lets you focus on core business capabilities, and efficiently manages the consecutive release cycle.

Major Features of Google App Engine in Cloud Computing

These prominent features enable GAE to be a hassle-free service platform.

  1. Collection of Development Languages and Tools

The App Engine supports numerous programming languages for developers and offers the flexibility to import libraries and frameworks through docker containers. You can develop and test an app locally using the SDK tools for deploying apps. Every language has its SDK and runtime.

Some of the languages offered include — Python, PHP, .NET, Java, Ruby, C#, Go, and NodeJs.

2. Fully Managed

Google allows you to add your web application code to the platform while managing the infrastructure for you. The engine ensures that your web apps are secure and running and saves them from malware and threats by enabling the firewall.

3. Pay-as-you-Go

The app engine works on a pay-as-you-go model, i.e., you only pay for what you use. The app engine automatically scales up resources when the application traffic picks up and vice-versa.

4. Effective Diagnostic & Security Services

Cloud Monitoring and Cloud Logging help run app scans to identify bugs. Further, app reporting documents help developers fix bugs on an immediate basis. GAE also sets up rules for access, SSL certificates on custom domains, and TSL certificates without any extra charge to create user firewall systems.

5. Traffic Splitting

The app engine automatically routes the incoming traffic to different versions of the apps as a part of A/B testing. You can plan the consecutive increments based on the app’s best version.

What are the Benefits of Google App Engine?

Adopting the App Engine is a smart decision for your organization — It extends the benefits of cloud computing to application development & hosting. GAE allows businesses to innovate and stay focused on their core functions. Here’s why it is preferred as an app-building platform:

Source: Net solutions

1. All-Time Availability

When you develop and deploy your web applications on the cloud, you enable remote access for your applications. Considering the impact of COVID-19 on businesses, Google App Engine is the right choice that lets the developers develop applications remotely while the cloud service manages the infrastructure needs.

2. Ensure Faster Time to Market

For your web applications to succeed, ensuring faster time to market is imperative as the requirements will likely change if the launch time is extended. Using Google App Engine is as easy as it can get for developers. The diverse tool repository and other functionalities reduce the Google Cloud application development and testing time, ensuring a faster launch time for Minimum Viable Product (MVP) and consecutive launches.

3. Easy-to-Use Platform

The developers are only required to write code. You eliminate all the burdens of managing and deploying the code with zero configuration and server management. Google App Engine makes it easy to use the platform, which offers the flexibility to focus on other concurrent web applications and processes. The best part is that GAE automatically handles the traffic increase through patching, provisioning, and monitoring.

4. Diverse Set of APIs

Google App Engine has several built-in APIs and services that allow developers to build robust and feature-rich apps. These features include-

  • Access to the application log
  • Blobstore, serve large data objects
  • Google App Engine Cloud Storage
  • SSL Support
  • Page Speed Services
  • Google Cloud Endpoint, for mobile application
  • URL, Fetch API, User API, Memcache API, Channel API, XXMP API, File API

5. Increased Scalability

Scalability is synonymous with growth — an essential factor that assures success and competitive advantage. The good news is that the Google App Engine cloud development platform is automatically scalable. Whenever the traffic to the web application increases, GAE automatically scales up the resources and vice-versa.

6. Improved Savings

With Google App Engine, you do not have to spend extra on server management of the app. The Google Cloud service is good at handling the backend process. Also, Google App Engine pricing is flexible as the resources can scale up/down based on the app’s usage. The resources automatically scale up/down based on how the app performs in the market, thus ensuring honest pricing.

7. Smart Pricing

The major concern of organizations revolves around how much does Google App Engine cost? For your convenience, Google App Engine has a daily and a monthly billing cycle, i.e.,

  • Daily: You will be charged daily for the resources you use
  • Monthly: All the daily charges are calculated and added to the taxes (if applicable) and debited from your payment method

Also, the App Engine has a dedicated billing dashboard, “App Engine Dashboard” to view and manage your account and subsequent billings.

How does Google App Engine benefit your Business?

Google App Engine boosts businesses with the following advantages:

  • Security norms for protecting sensitive data
  • Expansive & Quicker Market reach with increased efficiency in app development & maintenance
  • Easy Management backed by the consolidation of tools by GAE
  • Market responsiveness with the ease of scalability that Google App Engine provides
  • Efficient iterations by developers as per the demand & requirements of users
  • Smooth transitions to other environments since there aren’t too many dependencies

What are the challenges that GAE presents?

Even with all the cloud computing benefits that Google App Engine ushers in, there are a few implementation challenges.

1. Control

What does a user do if there is a problem related to the infrastructure? Wait for Google to solve it? Unfortunately, the Back-end infrastructural setup, along with its advantages, also brings in a limitation in problem-solving.

2. Customer Support

This is one aspect that has been under scrutiny. Users are known to have been dissatisfied with the customer support facilities.

3. Porting

The porting of applications faces limitations because of potential vendor lock-in issues. Users often face issues with data migration to other NoSQL databases.

4. Limitations of access & performance

Several times, developers have access to the Google App Engine file system only in a limited read-only manner, creating issues. Writing to local files is a hurdle many times. Moreover, performance is affected because one physical server could be playing host to many separate and unrelated app engine users.

5. Expense

Some users have an issue that GAE can be costlier than self-hosted environments.

Top 10 Google App Engine Alternatives & Comparisons

Most people seek time-saving, efficient software solutions with hassle-free app development & deployment. They want easy-to-use and reliable platforms. The following have come across as alternatives to GAE within the gamut of cloud platforms as services.

Source: Net solutions

How do you host your website on Google App Engine?

Creating a Google Cloud Platform project

To use Google’s tools for your own site or app, you need to create a new project on the Google Cloud Platform. This requires having a Google account.

  1. Go to the App Engine dashboard on the Google Cloud Platform Console and press the Create button.
  2. If you’ve not created a project before, you’ll need to select whether you want to receive email updates or not, agree to the Terms of Service, and then you should be able to continue.
  3. Enter a name for the project, edit your project ID, and note it down. For this tutorial, the following values are used:

Project Name: GAE Sample Site

Project ID: gaesamplesite

Click the Create button to create your project.

Creating an application

Each Cloud Platform project can contain one App Engine application. Let’s prepare an app for our project.

  1. We’ll need a sample application to publish. If you’ve not got one to use, download and unzip this sample app.
  2. Have a look at the sample application’s structure — the website folder contains your website content and app.yaml is your application configuration file.
  • Your website content must go inside the website folder, and its landing page must be called index.html, but apart from that it can take whatever form you like.
  • The app.yaml file is a configuration file that tells App Engine how to map URLs to your static files. You don’t need to edit it.

Publishing your application

Now that we’ve got our project made and sample app files collected together, let’s publish our app.

  1. Open Google Cloud Shell.
  2. Drag and drop the sample-app folder into the left pane of the code editor.
  3. Run the following in the command line to select your project:

gcloud config set project gaesamplesite

4. Then run the following command to go to your app’s directory:

cd sample-app

5. You are now ready to deploy your application, i.e. upload your app to App Engine:

gcloud app deploy

6. Enter a number to choose the region where you want your application located.

7. Enter Y to confirm.

8. Now navigate your browser to your-project-id.appspot.com to see your website online. For example, for the project ID gaesamplesite, go to gaesamplesite.appspot.com.

Conclusion

App Engine is a powerful platform for developing and hosting web applications. It offers a number of features that make it easy to get started, including a free trial and support for multiple programming languages.

App Engine also provides a number of resources for developers, such as tutorials, documentation, and a wide range of add-ons. If you’re looking for a platform to develop and host your web application, App Engine is a great option to consider.

--

--

Group-21

Dr. S. T. Patil, Sahil Shendurkar, Tanmay Kadam, Shubham Waghule and Umesh Patekar