App Engine


Why app engine is used?

Building applications on the cloud is gaining traction as it accelerates your business opportunities while ensuring availability, security, accessibility, and scalability. To start with creating web applications, you would require a suitable cloud computing technology. This is where App Engine fits in by allowing you to build and host web applications on a fully managed serverless platform.

App Engine is a fully controlled, serverless platform for developing and hosting web applications at scale. We can choose from several popular languages, libraries, and frameworks to develop our apps, and then let app engine take care of provide servers and scaling your app instances based on necessity.




Fig1: App Engine

What is app engine in cloud?

App Engine is a service for developing and hosting Web applications in Google's data centres, belonging to the platform as a service (PaaS) category of cloud computing. Web applications hosted on App Engine  are sandboxed and run across multiple servers  for scaling of resources according to the traffic necessities of the moment. App Engine automatically allocates additional resources to  servers to fit 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 advanced infrastructure. These applications are required to  written in one of a few supported languages, eg: Java, Python, PHP and Go. It  Π°lsΠΎ  needs  the  use  ΠΎf  gΠΎΠΎgle  query  lΠ°nguΠ°ge  Π°nd  thΠ°t  the  dΠ°tΠ°bΠ°se  used  is  GΠΎΠΎgle  Big  TΠ°ble. Applications must abide by these standards, so applications either must be developed with app engine in mind or else modified to meet the demands.

App Engine  is a platform, so it provides all of the required elements to run and host Web applications, be it on mobile or Web. Without this all in features, developers would have to source their own server, database software and the APIs that would make all of them work properly , not to mention the entire configuration that must be complete. App Engine 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 in cloud computing looks like this:


Fig2: App Engine architecture in cloud computing

Image address:https://www.netsolutions.com/insights/wp-content/uploads/2014/04/google-app-engine-architecture-diagram.jpg


Benefits of app engine for websites?

Adopting the App Engine is a smart decision for your organization it will allows us to innovate and stay valuable. Here the answer to why Google App Engine is a preferable choice for building applications.

1. All Time Availability

When we develop and deploy our web applications on the cloud, we enable remote access for our applications. Considering the impact of COVID-19 on businesses,  app engine is the right choice that  the developers develop applications remotely, while the cloud service manages the infrastructure needs.

2. Ensure Faster Time to Market

For our web applications to succeed, ensuring faster time to market is imperative as the requirements are likely to change if the launch time is extended. Use of app engine is as easy as it can get for developers. The diverse tool repository and other functionalities ensure that the Google Cloud application development and testing time gets reduced, which, in turn, ensures faster launch time for MVP and consecutive launches.

 

3. Easy to Use Platform

The developers only requires to write a code. With zero configuration, you eliminate all the load to manage and deploy the code.  App Engine makes it easy to use the platform, which offers the flexibility to focus on other simultaneous web applications and processes. The best part is that app engine automatically handles the traffic increase through patching, provisioning, and monitoring.

4. Diverse Set of APIs

App Engine has several built in APIs and services those allow developers to build robust apps. These features include:

•         Access to the application log

•         App Engine Cloud Storage

•         SSL Support

•         Page speed services

•         Google cloud endpoint, for mobile applications

5. Increased Scalability

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

 

Differences with other application hosting

Compared to other hosting services such as Amazon EC2, App Engine provides more infrastructure to make it easy to write a scalable application, but it can only run  limited range of applications those designed for that infrastructure.

App Engine's infrastructure removes many of the system administration and development challenges of building applications to scale to hundreds of requests per second . Google maintains deploying code to a cluster, monitoring, failover, and launching application instances as necessary.

While other services let users install and configure nearly any *NIX suitable software, App Engine needs developers to use only its supported languages, APIs, and frameworks. Current API allow storing and returning the data from the document oriented Google Cloud Datastore database; making HTTP requests; sending e-mail; manipulating images;  caching. Google Cloud SQL can be used for App Engine applications requires a relational MySQL compatible database backend.

Per-day and per-minute quotas restrict bandwidth(BW) and CPU use, number of requests served, number of concurrent requests, and calls to the different APIs, and individual requests are terminated if they take more than 60 seconds and return more than 32MB of data.


App Engine environments

App Engine is well suited to applications that are designed using a microservice architecture, especially if you decide to use both environments. Use the following sections to learn and understand which environment is best meets your application's needs.

When to choose a standard Environment

  • Application instances run in sandbox, using runtime environment of a supported language given below.
  • Applications that need to deal with rapid scaling.
  • The standard environment is excellent for applications with the following characteristics:

               ·        Python 2.7, Python 3.7,  Python 3.8 and Python 3.

           ·        Java 8 and  Java 11

               ·        Node.js 10, Node.js 12,  Node.js 14 and  Node.js 16

               ·        PHP 5.5, PHP 7.2, PHP 7.3, and PHP 7.4

               ·        Ruby 2.5, Ruby 2.6, and Ruby 2.7

               ·        Go 1.11, Go 1.12, Go 1.13, Go 1.14, Go 1.15, and Go 1.16

·       Intended to run for free , where you pay only for what you need and when you need it. For eg: your application can scale to zero instances when there is no traffic.

·        Experiences sudden and extreme spikes of traffic which require immediate scaling.

      When to choose the flexible environment

     Application instances run in  Docker containers on Compute Engine virtual machines.

     Applications that receives consistent traffic, experience regular traffic fluctuations, or meet  the parameters for scaling up and down gradually.

     The flexible environment is excellent for applications with the following characteristics:

     Source code  i.e., written in  version of any of the supported programming language:

     Such as python, java, Go, Ruby, PHP etc.

     Runs in a Docker container that includes a source code written in other programming        languages.

    Runs in a Docker container that includes a source code written in other programming   languages.

     Depends on the frameworks that include native code.

     Accesses the services of  google cloud project that reside in the Compute Engine network.

 


Comments

  1. Exactly right! Keep it up. Excellent Keep up the good work.

    ReplyDelete
  2. Amazing πŸ‘πŸ»πŸ‘πŸ»

    ReplyDelete
  3. Informative πŸ‘πŸ‘πŸ‘

    ReplyDelete
  4. Quite informative blog. Thanks for increasing my Technical knowledge.πŸ‘

    ReplyDelete
  5. Very informative
    Explained in detail !!!

    ReplyDelete
  6. Nice blog, very easy to understand and very informative

    ReplyDelete
  7. Nice information..keep it upπŸ‘

    ReplyDelete

Post a Comment