Disclaimer
This is not an official document of Google Cloud Platform. Please refer to the GCP web site for the official information.
GCP Basics
Google Cloud Platform provides various computing resources as a cloud service on top of Google's core infrastructure. It has several categories such as Compute, Storage and Bigdata. They offer the following core services in addition to other interesting services for Bigdata processing and analysis.
Compute
Service | Description |
---|---|
App Engine | Runtime environment for scale-out Web applications. |
Compute Engine | Runtime environment for virtual machines. |
Container Engine | Runtime environment for container application based on Kubernetes |
Cloud Functions | Runtime environment for asynchronous event driven functions. |
Networking | Common network infrastructure for all cloud services. |
Storage
Service | Description |
---|---|
Bigtable | Distributed Key-Value store with HBase compatible API |
Cloud SQL | Managed service for MySQL database |
Cloud Datastore | NoSQL document database |
Cloud Storage | Object storage service |
It also provides a common functionality for IAM (Identity & Access Management). You can use the following tools to interact with these services.
- REST API
- SDK (Command line interface tools such as the gcloud command.)
- Google Cloud Console (Web portal)
The following shows a rough comparison with OpenStack's major components in terms of their functionalities.
OpenStack | GCP |
---|---|
Keystone | IAM |
Horizon | Cloud Console |
Nova, Glance, Cinder | Compute Engine |
Neutron | Networking |
Swift | Cloud Storage |
Physical locations - Regions and Zones
OpenStack
When deploying OpenStack clusters in multiple locations, a single cluster managed with a dedicated controller is specified as "Region." You can define multiple "Availability Zones" inside a Region so that you can group together physical resources such as compute nodes and storage boxes. It depends on the infrastructure design how you split resources with Availability Zones. Typically, you would split them in the unit of racks or datacenter floors.
However, you need to ensure that you have a reasonable network bandwidth between Availability Zones. The best practice tells you that you'd better consolidate a single cluster (i.e. physical resources for a single Region) into a single data center to avoid problems caused by a lack of sufficient network bandwidth.
GCP
GCP also has a concept of "Regions" and "Zones" which allows users to manage geographical locations and failure zones of service resources.
. At the time of writing (July, 2016) there are four Regions around the globe, and each of them has multiple Zones. There is a more detailed description in the following official web site.
Inside a Region, all Zones are connected with a dedicated internal network providing a bandwidth and latency comparable to one within a data center. It means you can safely deploy a (traditional tightly coupled) cluster application over multiple zones to achieve a high availability across multiple failure zones.
In addition, there has been an announcement about a plan for more Regions in coming years.
For some managed services like Bigtable and Cloud Storage, there are some patterns how you could specify the Regions and Zones to be used. Please refer to the following documents for details.
What's next?
In Part2, I'll give you a comparison between OpenStack Neutron and GCP's Networking service.
Here's Part2 now.!