Google Cloud Platform

Google Compute Engine: It is the Infrastructure as a Service (IaaS) component of Google Cloud Platform which is built on the global infrastructure that runs Google’s search engine, Gmail, YouTube and other services. Google Compute Engine enables users to launch virtual machines (VMs) on demand. VMs can be launched from the standard images or custom images created by users. GCE users need to get authenticated based on OAuth 2.0 before
lau nching the VMs.

Google App Engine: It is the Platform as a Service (PaaS) component of  Google Cloud Platform which is a platform for developing and hosting web applications in Google-managed data centers. Applications are sandboxed and run across multiple servers.They offer automatic scaling for web applications, as the number of requests increases for an application, App Engine automatically allocates more resources for the web application to handle the additional demand. It is free up to a certain level of consumed resources. Fees are charged for additional storage, bandwidth, or instance hours required by the application.

Bigtable: The Bigtable is compressed high performance data storage system that is proprietary to Google. This Filesystem is created based on the Google File System and Google’s Chubby Lock Service, SSTable and a few other google technologies. Bigtable also underlies Google Cloud Datastore, which is available as a part of the Google Cloud Platform.

A three dimensional mapping system is  used by the system where  it uses the row key and column key and timestamp into an arbitrary byte array. Though row and column are used it along with the time stamp, the Bigtable is not a relational database but it’s more of a sparse, distributed multi-dimensional sorted map. Bigtable is designed to scale into the petabyte range across “hundreds or thousands of machines, and to make it easy to add more machines into the system and automatically start taking advantage of those resources without any reconfiguration. Each table has multiple dimensions which are optimised for the Google File System (GFS) by being split into multiple tablets, segments of the table are split along a row chosen such that the table will be about 200 megabytes in size. When sizes threaten to grow beyond a specified limit, the tablets are compressed using the algorithm BMDiff and Zippy compression algorithm.

BigQuery: It is a RESTful Web Service that enable the users to analyse massively large data sets along with the Google storage. Its is an Infrastructure as a service that can used complementarily with MapReduce.

Features Of BigQuery:

Managing data:  Using BigQuery a subscriber or user can create or delete tables, all of tables created or deleted is in JSON encoded schema, the user can also import data encoded as CSV or JSON from the Google Storage.

Query: A user does all the CRUD operation in almost the same fashion as standard SQL form  and the results are returned as JSON form with a maximum reply length of about 128 MBs or it can also download unlimited amount when large query size is enabled.

Integration: BigQuery can be used from Google Apps Script, Google Spreadsheets, or any language that can work with its REST API or client libraries.

Access control: It is possible to share data sets with arbitrary individuals, groups, or the world.

Google Cloud Storage: It is a RESTful online file storage web service for storing and accessing data on Google’s infrastructure. This has the best of both worlds in terms of performance and scalability of Google’s cloud and the advanced security and sharing capabilities. It is again a Infrastructure as a Service.

The main features of the GCS include:

1. Interoperability -The Google Storage is interoperable with other cloud storage tools and libraries that work with services such as Amazon S3 and Eucalyptus Systems.

2. Consistency – Upload operations to Google Storage are atomic, providing strong read-write consistency for all upload operations performed.

3. Access Control – The Google Storage uses access control lists (ACLs) to manage object and bucket access. An ACL consists of one or more entries, each granting a specific permission to a scope. Permissions define what someone can do with an object or bucket. Scopes define who the permission applies to. For example, a specific user or a group of users, such as Google account email addresses, Google Apps domain, public access, etc.

4. Resumable Uploads – The Google Storage provides resumable uploads feature that allows resuming the data transfer again, even if there was a failure in data connection previously which caused the uploads to stop