Introduction to Google Cloud Platform

The basics


These days I am meeting with the Google Developer Group (GDG) from Guadalajara, and is a recurring theme of conversation the way Google is making their own platform for cloud computing, this is what Google Cloud Platform is.

The History

Google in the past few years, was developing some powerful tools for their applications, and today put all this tools and service in the hands of us. That means that we have all the development power for creating web applications like Gmail, YouTube, Google+, Google Drive, and more. Giving us the great concept of SCALABILITY to our projects.

Fig 1. Timeline evolution of Google Cloud Platform

One of the last startups, to hit the world and use this platform is Snapchat. They started with few employees, and this platform give them the possibility of growing without limitations, and when go viral. Google Cloud Platform expand their instances, maintaining the data and the applications always online, and don’t need a big team for this quest, because this application runs, in the same way, like other big applications and grow with the needs.

How It Works?

Google Cloud Platform have different solutions depends on the needs of your application.

Fig 2. Google Cloud Platform Tools

These services can be:

  • Service as a Server (SaaS): BigQuery, Cloud Endpoints, Translate API, Prediction API, and others API’s.
  • Platform as a Service (PaaS): App Engine, Cloud Storage, Cloud Data storage, Cloud SQL.
  • Infrastructure as a Service (IaaS): Compute Engine.

Every application can have different configuration; it depends in the app needs, for example, if you install a WordPress, you use App Engine with Cloud Storage and Cloud SQL.

Fig 3. WordPress in Google Cloud Platform

But also you can do different kinds of implementation, depends in what you need, with only Compute engine also you can implement WordPress, but it would require more configuration.

Fig 4. WordPress with Compute Engine

That is why we need know the needs for our apps, and this is the description of the individual services until now.



With Compute Engine, you can create instances of different servers (Unix, Linux) and make your own configuration (like if you want Apache or Java, PostgreSQL o MySQL, or something like Ruby or Python).

These instances are in low level, so you can make everything like other dedicated server, even you can create instances programmatically like if you have your own hosting server, this is the power of IaaS.



App Engine gives to you the power of developing in some implemented languages like Python, Java, PHP and GO; you have some benefits for use it, like version control, more comparability with the storage service, better performance and easy to scale.



This service allows you to save any files in the cloud, for easy access and expansion, the Cloud Storage also have API.



A non-relational database server, this with the objective of horizontal replication without the problems of the relational ones, a little confusing if you don use before, but very convenient for the task.



If you need a relational database this is your best shot, but you need keep in mind that if you need big queries and you have traffic this is not the best option.



Allows make data mining in the Cloud Data storage, this only works in no relational databases.



The last but not least, my favorite one, because this SaaS have the objective of generating an API for your app, this can be consumed in your Web App, iOS App or Android App.

The back end is program in Python or Java, live in the App Engine, but when it’s ready, you don have to worry about the communication or security between your app and your servers. Because Endpoints make the libraries for you, the perfect match if you are thinking in a startup.

Fig. 5 Endpoints Diagram

How Much It Cost?

The great news is the cost depends on the consumer, and for developers you can use one account and test without restrictions, but if you need test something more demanding. Google offers you $500 for make this tests; you only need fill this form with the promo code: gdg-in
https://cloud.google.com/developers/starterpack/

Tools & Resources

The best way to learn is experience, for that you have to go and start you account inhttp://google.com/cloud you only need a Google account.
The official documentation is in https://developers.google.com/cloud/
And if you want basic examples of different combinations of the tools then you can go to http://googlecloudplatform.github.io/

Email me when Adrian Espinoza publishes or recommends stories