Everything-about-App-Engine

Everything about App Engine!

Google App Engine is a managed PAAS service that intends to help developers build & deploy scalable applications. The application you build can be scalable from zero to millions without worrying about management of the infrastructure. With Google App Engine, you can implement utmost focus upon the coding aspects, while every other requirement is fulfilled by the platform itself. Google App Engine is not just destined to build or deploy applications, but it also takes ideal concern for complete hosting of it as well. You have the potential to choose from top languages, frameworks, and libraries for developing web applications.

New in the world of Cloud Computing? Read this quick Introduction to Cloud Computing to know what’s behind its growing importance.

Upon successful development and deployment of the web applications, App Engine will then implement management attributes for the provisioning servers. Along with that, it will also help you scale up the instances based upon specific demands. The language options that are feasible for you to pick within Google App Engine are GO, PHP, Java, Python, .Net, Ruby, NodeJS, and any custom runtime. There is more to it that you must learn and implement in order to master the fundamental concepts of Google App Engine. And for that, you must follow this article till the end!

Overview of Google App Engine

Google App Engine is a fully managed service that demands you to stay put upon working at the infrastructure level. The apps you build and deploy will be at Google scale. The best part is that Google App Engine is embedded with several built-in features, such as up-scaling or down-scaling, monitoring, diagnostics, and others. The app-building potential of App Engine is proficient, and the time-to-market is considerably shorter with it! You are billed to pay only for the features or services that you use!

Google Cloud Certified Associate Cloud Engineer is now easy with Whizlabs. Check out out free test, practice tests and online course here!

Google App Engine has the ability to scale down to even Zero when there is no request or traffic over your application. Hence, it can conclude upon a hefty amount of monetary savings. Google App Engine consists of an Application Version Deployment feature that allows you to roll back onto the previous version within a matter of seconds! Along with that, another feature includes traffic splitting, which has the potential of splitting the traffic between two versions. It offers help upon incremental rollout features and A/B Testing.

Some of the things that are best to run over Google App Engine include web apps, mobile backends, IoT, Frontend & Backend workload, and internal IT applications. With the knowledge of what you can run over App Engine, it is also important for you to know what you should not run over App Engine. 

Read more about Introduction to Google Cloud Platform!

It includes genomics, media rendering, VM images, Financial Data Analytics, and Stateful storage. Your respective App Engine application is created under the Cloud Project when you build the app resources. App engine application is more like a top-level container that consists of instance resources, services, and versions, to make up the application.

At the moment of creating the App Engine app, all of the resources are created within the region of choice. Each of the applications built over the App engine consists of at least one service, which is set at default! This service can hold multiple versions, which depends upon the billing status of that application. There is a specific hierarchy that an application built over App Engine adapts and follows when it executes with multiple services.

Google App Engine Pricing

The pricing is stated differently for the apps that are built over standard and flexible environments. Irrespective of the environment upon which the app is built, the charges are incurred from all of the other Cloud products. The incurred charges also depend upon the products that the developers use, along with Google App Engine.

Pricing for Standard Environment Apps

The applications within a standard environment consist of a free tier for diverse app engine resources. If the use of App Engine surpasses the free tier offerings, then you are liable to be billed for your standard environment apps. The pricing as per the instance class is highlighted below:

  • For Instance class B1, you will be charged $0.05 per hour per instance.
  • For instance class B2, you will be charged $0.10 per hour per instance.
  • For instance class B4, you will be charged $0.20 per hour per instance.
  • For instance class B4_1G, you will be charged $0.30 per hour per instance.
  • For instance class B8, you will be charged $0.40 per hour per instance.
  • For instance class F1, you will be charged $0.05 per hour per instance.
  • For instance class F2, you will be charged $0.10 per hour per instance.
  • For instance class F4, you will be charged $0.20 per hour per instance.
  • For instance class F4_1G, you will be charged $0.30 per hour per instance.

Pricing for Flexible Environment Apps

Google App Engine has no provision of a free tier for the flexible environment apps. The applications that intend to run over a flexible environment are deployed onto the virtual machine types, as per individual specifications. All of the VM resources are billed on a per-second basis, with a minimum usage cost of 1-minute.

Learn More about What is Cloud Run!

Along with that, the memory resource billing accounts for the memory that is used by the app, along with the memory that is essential for the runtime to run the application. Hence, it means that the usage and cost of memory can be much higher in comparison to the requested memory. Here is the pricing list of resources, and their unit cost, for the apps built under flexible environment:

  • For resource vCPU, you will be charged $0.0526 per core hour.
  • For memory, you will be charged $0.0071 per GB hour.
  • For Persistent Disk, you will be charged as per the persistent disk of Compute Engine, which is also referred to as Storage PD Capacity, over the bill.
  • For Outgoing Network Traffic, you are charged upon the internet egress of the Compute Engine.
  • For Incoming Network Traffic, you needn’t pay any charges.

If you intend to know more about the detailed pricing structure for Google App Engine and other related Cloud products, you can refer to this official documentation by Google!

Instance Management Over App Engine

Instances are referred to as the common building blocks for an application over App Engine. It intends to offer all of the efficient resources that you need in order to host the application successfully. At any time of execution, the application will be possibly running over single or multiple instances, with diverse requests being proposed, across all of those instances. Each of the instances is destined to include a security layer for ensuring that the instances can prevent affecting one another!

Read more about What is google Operations or stackdriver!

Google App Engine has the potential to create and shut down instances, depending upon the traffic fluctuations. You can specify quite a lot of instances for running a high amount of traffic without any limitation. You need to determine the scaling type that is to be implemented upon your application, to get an idea of how & when the new instances are proposed to be created!

There are basically three scaling types that are supported within the App Engine that includes Automatic, Manual, and Basic. Here is a brief explanation of all of the three scaling types:

1. Automatic Scaling

Automatic scaling intends to seek the creation of the instances, depending upon the response latencies, request rate, and other such app metrics. Within automatic scaling, you have the potential to specify certain thresholds for all of the metrics and also implement control over permitting a certain number of instances to run constantly!

When you prefer to use automatic scaling type, every instance within the app has its respective queue to handle the incoming requests. Before the queues get longer over time, App engine automatically creates and brings in a new instance for handling the load aspects. It is effective, as a long queue will have an impactful effect upon increasing the latency level.

Also check:What is BigQuery!

You have the flexibility to configure the settings for the automatic scaling type. It is helpful to achieve a trade-off between cost and performance! You can trigger the settings for automatic scaling types such as target CPU utilization, target Throughput utilization, and max concurrent requests. Check out this video, uploaded over the official Google Cloud YouTube channel, to get an idea of how these settings work!

2. Manual Scaling

Manual Scaling type is used for specifying the instances that can continuously run, irrespective of the load levels. Hence, it allows the tasks that put up complex applications and initializations that rely upon memory state.

3. Basic Scaling

Basic scaling allows you to create instances only when there is a request over the application. Each of the instances will shut down if the app enters the idle phase. This scaling type is prominent for the work that is driven by the respective activities imposed by users. If you intend to adopt a basic scaling type for your application, then App Engine will prefer to keep the overall billing cost as low. There is a chance that it might result in an increase in latency, as the incoming request volume will increase over time!

Planning to take Google Cloud Certifications? Check out whizlabs online courses and practice tests here!

In case there are no instances existing within the app for serving requests, App engine then brings in a new instance. After the new instance is initiated, some of the requests need to wait or are lined up in a queue until the start-up process, for instance, is completed. Basic scaling type is not for the apps, which demand the lowest latency levels. In that case, automatic scaling is a perfect choice!

Impactful Potentials of Google App Engine within Cloud Computing

The features of Google App Engine are what explains its potential for organizational implementation. Here are the details associated with the internal features of this service by Google Cloud to help you understand its efficacy:

1. Proficient Diagnostic Services

Cloud Logging & Cloud Monitoring assist you in running the application scans, in identifying bugs within the app that you build over App Engine. The reporting document of the application intends to help developers fix the bugs or errors instantly to get the app back to efficient running condition.

2. Consists of Diverse APIs & Services

Google App Engine consists of several built-in APIs & services that are useful for creating top-notch applications. You get page speed services, SSL support, Google App Engine cloud storage, Cloud Endpoint for mobile apps, Blob store, app log access, and other such services. When it comes to APIs, you get User API, Memcache API, URL Fetch API, XMPP API, Channel API, and File API.

3. SQL Service & No SQL Availability  

The built-in NoSQL service can offer you storage space for over 1000 TB of data. Along with that, it also gets the advantage of low scalability and 3-independent replication sites. The apps built over App Engine can also prefer to use Google Cloud SQL, which is a relational database that exists within Google Cloud.

4. Convenient Usability of the Platform

App Engine only demands you to write code, while all of the other configuration & server management aspects are handled by the service. You are not burdened with the hassle of deploying or managing the code, as App Engine will do the needful. The best part of using Google App Engine is that it has the potential to automatically handle the increase in traffic with the help of monitoring, provisioning, and patching.

Bottom Line

If you are new to Google Cloud, then you should first go ahead and create your Cloud Account. When you are in your account, you are eligible to avail of the $300 free credits for running, testing, and deploying your workloads. It means that you can test Google App Engine for free! Log onto this link, to carry on with the same!

Read more on What is Google Cloud DataFlow!

The maximum amount of services or versions that you can deploy over your applications built with App Engine depends upon the pricing. The maximum number of services that you can implement per application for a free app is 5, whereas, for a paid app, it is 105. The maximum version for every application, for a free app, is 15, while for a paid app, it is 210. So, decide upon the pricing of your app, and understand the potential of App Engine, to leverage its profitability!

About Girdharee Saran

Girdharee Saran has a glorious 13 years of experience transforming the way e-learning and SaaS start-ups approach digital marketing for their organisations. He has successfully chartered tangible results, which have proven beneficial. Working in the spaces of content marketing and SEO for a considerable amount of time, he is well conversant in his art. Having taken a deep interest in content and growth marketing, his urge to learn more is perpetual. His current role at Whizlabs as VP Marketing is about but not limited to driving SEO, conversion optimisation, marketing automation, link building and strategising result driven content.

Leave a Comment

Your email address will not be published. Required fields are marked *


Scroll to Top