WHAT IS GCP

WHAT IS GCP

Google Cloud Platform (GCP), offered by Google, is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search, Gmail, Google Drive, and YouTube.[2][disputeddiscuss] Alongside a set of management tools, it provides a series of modular cloud services including computing, data storage, data analytics and machine learning.[3] Registration requires a credit card or bank account details.[4]

Google Cloud Platform provides infrastructure as a service, platform as a service, and serverless computing environments.

In April 2008, Google announced App Engine, a platform for developing and hosting web applications in Google-managed data centers, which was the first cloud computing service from the company. The service became generally available in November 2011. Since the announcement of App Engine, Google added multiple cloud services to the platform.

Google Cloud Platform is a part[5] of Google Cloud, which includes the Google Cloud Platform public cloud infrastructure, as well as Google Workspace (G Suite), enterprise versions of Android and ChromeOS, and application programming interfaces (APIs) for machine learning and enterprise mapping services.

Google App Engine primarily supports Go, PHP, Java, Python, Node.js, .NET, and Ruby applications, although it can also support other languages via "custom runtimes".[4]

Python web frameworks that run on Google App Engine include Django, CherryPy, Pyramid, Flask, web2py and webapp2,[6] as well as a custom Google-written webapp framework and several others designed specifically for the platform that emerged since the release.[7] Any Python framework that supports the WSGI using the CGI adapter can be used to create an application; the framework can be uploaded with the developed application. Third-party libraries written in pure Python may also be uploaded.[8][9]

Google App Engine supports many Java standards and frameworks. Core to this is the servlet 2.5 technology using the open-source Jetty Web Server,[10] along with accompanying technologies such as JSP. JavaServer Faces operates with some workarounds. A newer release of App Engine Standard Java in Beta supports Java8, Servlet 3.1 and Jetty9.

Though the integrated database, Google Cloud Datastore, may be unfamiliar to programmers, it is accessed and supported with JPA, JDO, and by the simple low-level API.[11] There are several alternative libraries and frameworks you can use to model and map the data to the database such as Objectify,[12] Slim3[13] and Jello framework.[14]

The Spring Framework works with GAE. However, the Spring Security module (if used) requires workarounds. Apache Struts 1 is supported, and Struts 2 runs with workarounds.[15]

The Django web framework and applications running on it can be used on App Engine with modification. Django-nonrel[16] aims to allow Django to work with non-relational databases and the project includes support for App Engine.[17]

Reliability and support[edit]

All billed App Engine applications have a 99.95% uptime SLA.[18]

App Engine is designed in such a way that it can sustain multiple datacenter outages without any downtime. This resilience to downtime is shown by the statistic that the High Replication Datastore saw 0% downtime over a period of a year.[19]

Paid support from Google engineers is offered as part of Premier Accounts.[20]

Bulk downloading[edit]

SDK version 1.2.2 adds support for bulk downloads of data using Python.[21] The open source Python projects gaebar,[22] approcket,[23] and gawsh[24] also allow users to download and back up App Engine data. No method for bulk downloading data from GAE using Java currently exists.

Restrictions[edit]

  • Developers have read only access to the filesystem on App Engine. Applications can use only virtual filesystems, like gae-filestore.[25]
  • App Engine can only execute code called from an HTTP request (scheduled background tasks allow for self calling HTTP requests).
  • Users may upload arbitrary Python modules, but only if they are pure-Python; C and Pyrex modules are not supported.
  • Java applications may only use a subset (The JRE Class White List) of the classes from the JRE standard edition.[26] This restriction does not exist with the App Engine Standard Java8 runtime.
  • A process started on the server to answer a request can't last more than 60 seconds (with the 1.4.0 release, this restriction does not apply to background jobs anymore).
  • Does not support sticky sessions (a.k.a. session affinity), only replicated sessions are supported including limitation of the amount of data being serialized and time for session serialization.

Major differences[edit]

Differences with other application hosting[edit]

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

To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics