Google App Engine

Google App Engine

 Google App Engine is an application that is often regarded as GAE or simply App Engine.  Google-managed data centers have a platform as a service and cloud computing platform for spreading and hosting web applications.  Applications are sandboxed and can run on multiple servers.  App Engine provides automatic scaling for web applications - for example as the number of requests for an application increases, App Engine automatically allocates more resources for the web application to handle the additional demand.
Google App Engine
Google App Engine


  Google App Engine is free up to a certain level of resources consumed and not only in standard environments but also in flexible environments.  The application is charged for additional storage, bandwidth, or instance hours.  It was first released as a preview version in April 2008 and came out of preview in September 2011.


  Runtimes and Profile

  Programming languages ​​supported in the standard environment include Python, Java (and, by extension, other JVM languages ​​such as Kotlin, Groovy, Jerry, Scala, Clojure), Go, PHP, and nodes.  All programming languages ​​available in standard environment are also available in flexible environment.  Ruby and C are only available in flexible environments.  Google has stated that it plans to support more languages ​​in the future, and that Google App Engine has been written to be language independent.  Doktor containers are also supported by contrast.

  The Python web framework running on Google App Engine includes Django, CherryPy, Pyramid, Flask, web2py and webapp2, as well as a custom web framework written by Google and many others designed specifically for platforms that release  Has come since.  The Python framework supports WSGI using CGI adapters that can be used to build applications;  The framework can be uploaded with the developed application.  Third party libraries written in Pure Python can also be uploaded.
  Google App Engine supports many Java standards and frameworks.  Core This is with the Servlet 2.5 technology using open-source Jetty web servers as well as technologies such as JSP.  JavaServer faces work with some workarounds.  A new release of App Engine Standard Java in beta supports Java8, Servlet 3.1 and Jetty 9.

  Although the integrated database, Google Cloud Datastore, may be unfamiliar to programmers, it is accessed and supported by JPA, JDO and simple low-level APIs.  There are several alternative libraries and frameworks that you can use to manipulate data into a database and map objects such as the Objectify, Slim3and Jello Framework.

  The Spring Framework works with GAE.  However, Spring Security modules (if used) require workarounds.  Apache Struts 1 is supported, and Struts 2 runs alongside the workaround.


  The Django web framework and applications running on it can be used on App Engine with modifications.  Django-nonrelaims allow Django to work with non-relational databases and the project includes support for App Engine.

  Reliability and support

  All Bill App Engine applications have a 99.95% uptime SLA.

  App Engine is designed in such a way that it can sustain multiple datacenter outages without any downtime.  This flexibility for downtime is statistically shown by the high replication datastore that saw 0% downtime over a period of one year.

  Paid support from Google engineers is offered as part of Premier Accounts.  Free support is provided in App Engine groups, Stack Overflow, Server Fault and GitHub.  However support is not guaranteed by a Google staff member.

  Bulk downloading

  The SDK version 1.2.2 adds support for bulk download of data using Python.  The open source Python project allows Gabor, Embarket, and Gavsalo users to download and backup App Engine data.  There exists no method of downloading data from GAE using currently existing Java.

  The restriction

  Developers have read-only access to the filesystem on the application engine.  Applications can only use virtual file systems, such as Gay-FileStore.

  App Engine can only execute code derived from an HTTP request (the background task set for HTTP requests calling itself).

  Users can upload arbitrary Python modules, but only if they are pure-python;  C and Pyrex modules are not supported.

  Java applications can only use a subset of classes (JRE class whitelist) from the JRE standard version.  This restriction does not exist with the App Engine standard Java8 runtime.

  The process started on the server to respond to the request cannot last more than 60 seconds (with 1.4.0 release, this restriction no longer applies to background jobs).

  Sticky does not support sessions (a.k.a session affinity), only repeated sessions are supported that limit the amount of data and include time for session serialization.


  Difference with other application hosting

  Compared to other scalable hosting services such as Amazon EC2, App Engine provides more infrastructure to make scalable applications easier to write, but can only run a limited range of applications designed for that infrastructure.
  The application engine's infrastructure overcomes many challenges of system administration and development for building applications to implement hundreds of requests per second and beyond.  Handles deploying code in groups, handling and launching application instances as necessary.

  Although other services allow users to install and configure almost any * NIX compatible software, App Engine only requires developers to use their supported languages, APIs, and frameworks.  Current APIs allow data to be stored and retrieved from document-oriented Google Cloud Datastore databases;  HTTP requesting;  Sending email;  Manipulation of images;  And caching.  Google Cloud SQL can be used for App Engine applications requiring a relational MySQL compatible database backend.

  The per-day and per-minute quota restricts bandwidth and CPU usage, the number of service requests, the number of concurrent requests, and calls to various APIs, and individual requests expire if they take longer than 60 seconds  Or return data over 32 MB.
Google App Engine
Google App Engine


  Difference between SQL and GQL

  Google App Engine's integrated Google Cloud Datastore database has a SQL-like syntax, known as "GQL".  GQL does not support join statements.  [37] Instead, one-to-many and many-to-many relationships can be accomplished using ReferenceProperty.  This shared-anything approach allows disks to fail without causing the system to fail.  Despite being related to databases that belong to the cloud datastore, a paradigm shift is required for developers when modeling their data.

  Portability concerns

  Developers are worried that applications will not be portable to the engine and will be afraid of being locked into the technology.  In response, App Engine has several projects to build open-source back-ends for various proprietary / closed APIs, most notably Datastore.  AppScale, CapeDwarf and TyphoonAE are some of the open source efforts.

  AppScale automatically renders Google App Engine applications priceless on popular public and private cloud systems and on-premises clusters.  [39] AppScale can run Python, Java, PHP and Go applications on EC2, Google Compute Engine, Softlayer, Azure and other cloud vendors.


  TyphoonAE can run Python App Engine applications on any cloud that supports Linux machines.

  The Web2py web framework provides migration between the SQL database and Google App Engine, although it does not support many App Engine-specific features such as transactions and namespace.

  Kubernetes is an open-source job control system invented by Google to remove infrastructure, so that open-source (eg Doktor) containerized applications can run on many types of infrastructure, such as Amazon Web Services, Microsoft Azure,  and others.  This is one of Google's responses to the portability concern.

  backends

  In Google I / O 2011, Google announced the App Engine backend, which has been allowed to run continuously and consume more memory.  The backend API was removed as of March 13, 2014 in favor of the module API.

  Google cloud sql

  In October 2011, Google previewed a zero maintenance SQL database, which supports JDBC and DB-API.  [44] This service allows creating, configuring and using relational databases with App Engine applications.  Google Cloud SQL provides MySQL 5.5 and 5.6.

  Usage quota

  Google App Engine requires a Google Account to get started, and an account can allow developers to register up to 25 free applications and an unlimited number of paid applications.

  Google Application Engine sets usage quota for free applications.  Extensions to these quotas may be requested, and application authors may pay for additional resources.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.