Google Cloud Platform – GCP is a collection of various services of SaaS, PaaS, and IaaS, and new services are still being launched day by day. There are lot of services including beta service etc and we will not introduce everything in detail in this article but i am going to introduce mainly the services which become important in infrastructure considering game.
GCP service classification and overview of each service
In GCP, there are many services like other cloud services, but in this document we classify those services into five categories of “execution environment service” “storage service” “network service” “data processing service” “other” to introduce.
Actually everyone does not use all these services, but if you learn a rough idea from the perspective that there is such a service, it will be useful for designing a more flexible architecture.
Computing (execution environment) service: Below are service name and features.
- Engine Compute (abbreviation: GCE) : It is the service of the most central IaaS. We provide OS layer as managed service. It supports Linux and Windows. The feature is that there is almost no stoppage of maintenance, it is easy to create a private network configuration across regions, instant startup speed is fast, billing amount is cheap and so on.
- Engine App (abbreviation: GAE) : PaaS service provides application runtime, that is, runtime environment as a managed service. As a language, PHP, Java, Python, Go language is supported. It features auto scale at high speed according to load.
- Engine Container : (abbreviation: GKE) : Clock managed service for running and managing Docker containers. It is a managed service of open source Kubernete.
Storage service: Below are service name and features.
- Storage Cloud (abbreviation: GCS) : High performance, high availability, low cost object storage managed service. While securing the function and quality of general object storage, it also has a cache function called edge cache.
- Storage Nearline Cloud (abbreviation: Nearline) : It is a high-availability, low-cost managed service of cold storage. It is suitable for data archive and backup. The general cold storage service takes several hours to start data recovery, while Nearline can start recovery in a few seconds.
- Cloud SQL Second Generation : It is a high performance MySQL managed service. Although there is a first generation and a second generation (Second Generation), we strongly recommend the use of the second generation from the viewpoint of performance in the game.
- Cloud Datastore : It is a NoSQL managed database service. It is characterized by being able to automatically scale to the petabyte size according to the load of the application and the size of the data.
- Cloud Bigtable : NoSQL Managed Database Service with high scalability. It is suitable for applications that require more response performance than Datastore. You can use Apache HBase compatible API. It has long been used as a major database such as Gmail in various Google services.
Network service : Below are service name and features.
- Load balancing (function of GCE) : GCE can use very powerful network (L3) load balancing and HTTP (S) load balancing. These load balancers can process 1 million requests (Request per second) of access suddenly without sizing or warming up, and can also perform Anycast (IP based load balancing). In the game infrastructure, this load balancer is one of the major differentiators when compared with other cloud services.
- Cloud CDN : Edge caching, which is part of Google’s infrastructure, is automatically applied to GCS and GAE, but Cloud CDN also uses this edge cache mechanism. In GCE, you can use the cache function by configuring HTTP (S) load balancing. By using this caching function, end users can access content faster while reducing server load.
- Cloud DNS : It is a reliable, low-latency DNS service that takes advantage of Google’s global network and Anycast mechanisms. Various settings and customization can be flexibly done with command line interface and RESTful API.
- Cloud VPN : It is a function for performing IPSec connection from GCE instance and performing secure communication via the Internet. Cloud VPN is rarely used for gaming infrastructure because GCP can build a private network across regions by default.
- Cloud CDN Interconnect : It is a service that can improve the quality of traffic from GCE and GCS to end users by directly connecting the network between Google Inc. and Akamai Inc.’s CDN partner and discount download traffic to GCP → CDN partner.
- Cloud Interconnect : It is a service that connects Google’s network and the network of companies and network carriers directly. This service will not be used as a game infrastructure.
Data processing service : Below are service name and features.
- BigQuery : An OLAP / DWH (data warehouse) service for processing large amounts of data with SQL-like syntax. Infrastructure tuning is unnecessary, it is an inexpensive billing system corresponding to the analyzed data volume, and it is a service becoming standard in charging, user behavior, log analysis in game.
- Cloud Dataproc : It is a managed service of Hadoop / Spark. It can be used to process big data. In the game industry I think that it is often used as a case to transfer existing assets.
- Cloud Dataflow : It is used for batch processing of large amounts of data and processing. It may be easier to understand if you think of big data ETL platform.
- Cloud Datalab : It is integrated with GCP running on Jupyter (iPython Notebook). We will interactively search and analyze large-scale data, visualize and analyze data for visualization.
- Cloud Pub/Sub : It is a highly available MQ service. In the game, it may be used for asynchronous message transmission such as log collection and chat.
Other services : I’ll introduce services other than those introduced so far. These services will not have much opportunity to be used directly in the infrastructure game.
- Translate API : It translates text into the specified language.
- Prediction API : It is a service that predicts and classifies by machine learning.
Cloud Endpoints : It is a service that easily creates an API service on GAE, and generates a client library for Android, iOS, and Web client. Endpoints itself is not a runtime service, it is a tool for generating code to be executed on the server/client.
Keep on updating to micro level…