Google has everything.
On 5 of December in Moscow, Google Cloud Developer Meetup event has occurred. Now we will tell about the main points of this meeting, where the presentation of Google cloud services for developers took place. There are hardly people left who don’t know what the clouds are using for and how they evolve, but many people still use physical resources. Introduction to the theme of clouds you can read here.
In the picture below, you may see how many years it took for each technology to exceed the level of 50 million users. Note, that each next new technology requires less time to become popular enough. The game Pokemon GO exceeded this threshold in 19 days only (if Pokemon Go can be called a great technology)!
The same can be noted in the software development field: trends are changing, new technologies are coming, but in fact, the way of developer looks as follows.
It is necessary for developers to pass a difficult way, is not it? Recognizing this problem, Google has released a plenty of services and other software that have simplified life of developers for many years. So, what is the advantage of Google?
The main advantage is that it has a software for all stages of development. You do not need to search for something specific somewhere on the side.
Google Cloud Platform
What is it?
During last 15 years, Google worked to create one of the fastest, powerful, and high-performance cloud infrastructure all over the world. Nowadays, this infrastructure is used as the base for multiple high-speed global Google services, including Gmail, Maps, YouTube, and Search.
Google Cloud Platform gives you the opportunity to work with different tools for computing, and hosting. You can choose a managed application platform to use the technology of containers for more flexibility or to create your own private cloud infrastructure, which is maximally controlled. on the one hand, this solution offers you a plenty of room for independent management of resources, and on the other hand, if you don’t want independent control, Google can manage all the infrastructure itself! In this case you will only deal with application development.
Google App Engine it is cloud platform to host various web and mobile applications and “back-end”s. App Engine controls most of the resources. For example, if your application needs more computing resources, cause of increasing the traffic to your website, Google will auto-scale the system to provide them. In the case when the system software is required for security update, it will also be updated for you.
Containers. When you are using containerized computing, you can focus on your application code and not on the deployment and integration. Google Container Engine is built on the ”open-source system base “Kubernetes, which provides the flexibility of local or hybrid clouds and also Cloud Platform infrastructure.
Virtual machine. Google provides reliable computing infrastructure, but you should select and configure the platform components that you want to use by yourself. Compute Engine will help you to manage configuration, administration, and monitoring systems. The service provides full control and unlimited flexibility.
This is only a small part of the services that Google is ready to provide developers and businessmen. Although it is possible to speak about it eternally, in this article we will talk about basic services, and most importantly, compare solution cost from Google with the closest competitors AWS from Amazon and Azure from Microsoft. More detail can be found on the Google Cloud Platform.
On the picture below you can see all main services from the follow categories: : compute, storage, networking, Big Data, Machine Learning and Identity & Security.
The basic element of any cloud infrastructure is the network. Google network technologies are widely represented. They are virtual networks, load balancing (single ip), etc. Virtual machines make it possible to manage service on OS or core level. There is also a platform for hosting web and mobile apps. In part of Big Data and Analytics, Google has always been ahead of the whole planet. Their Google Analytics tool is amazing indeed. The administration of all your resources is an important point also. There is a fine tuning of administrative rights to access of particular person to a specific part of your application control. For example, software developers have access to the virtual machine, marketing experts to Google Analytics tool, etc.
Now I am going to tell you about what you will not find on the official website: about the economy. Namely, why do we call “Google pricing policy friendly?”
You can run in the cloud exactly the machine configuration you need according to your resources. For example, if you have a small website, you don’t need to take more than 10 cores and 20 GB of memory. This procedure will not take more than 10–15 minutes.
Compared with Google AWS (Amazon Web Services) has no possibility to create a custom configuration of the machine that you need (for example, if you need all 32 cores, then you cannot choose RAM except 256 GB, as it offered). Moreover, Google offers discount in case of extended use.
Imagine that you use a virtual machine for a month.
Then the first quarter of the month you pay full price, the second discount of 10 %, third 20%, fourth 30%.
Also, there are recommendations for calibration of your project, if necessary. It means that, if according to monitoring data your application does not consume the resources you have (the number of CPU cores and RAM), then Google will offer to reduce extra resources to reduce the price. This information is available immediately. Similarly, in the opposite direction: if you do not have enough resources, you will be offered to refill them.
Now, let’s compare Google Cloud Platform prices with Microsoft Azure and Amazon Web Services. For example, we will take not very powerful machine for transcoding with following features: 20 virtual machines with 20 GB of memory and 4 cores and an additional 40 TB of storage. It will look like follow:
May notice that using GCP we can save approximately 1,000 $ per month. Not small money. All figures are counted on the official calculators from each cloud.
Why Pokemon GO?
It was a real test for Google Cloud Platform, when Niantic has run their Pokemon GO.
Google Customer Reliability Engineering is a new model of cooperation. According to it Google technical experts integrate with the client’s team and share responsibility for the reliability and success of cloud applications. Niantic was the first customer of Google CRE and the first project they made was the launch of Pokémon GO.
And it was the best test for all!
Within 15 minutes since it was launched in Australia and New Zealand, the traffic of Pokemon GO has far exceeded the Studio expectations. This was first and clear indication that the Niantic team has created something special. Niantic called Google CRE for help on the eve of the American launch, that was going to be held next day. Niantic and Google Cloud, including CRE, developers, support and management were ready for the new pokémon coach invasion, since according to all forecasts, Pokémon GO was going to beat all previous records of number of players.
Pokemon GO is a mobile application that uses many services of Google Cloud, but the major cause of game popularity was in Cloud Datastore, with its role of the main database of the game in which you should catch the pokemons. A chart shows the story from the start: Niantic team was expecting 1x players, and the worst-case scenario envisaged 5x. The rapid growth of popularity of Pokémon GO has led the traffic to over 50 times greater compared with the initial estimation and 10 times more than critical level. In response, on behalf of Niantic, Google CRE has prepared additional resources to stay ahead of the record growth still.
Not everything went smoothly at startup. When there were problems with the stability of the game, Niantic and Google engineers were consistently solving every bug, rapidly developing and deploying solutions. Google CRE team worked hand in hand with Niantic, reviewing the whole their architecture with the help of key engineers and product managers of the Google Cloud. All this was done on the background of millions of new players who had connected to the game.
Thus, Google has the broadest range of tools for any task and any wishes of the developers. No need to search anywhere else, Google has everything already. In addition, a flexible pricing policy is the main advantage over other competitors who provide similar cloud solutions. Google Cloud Platform is designed for full support of developers for projects of all sizes and purposes. Example of Pokemon Go confirms this. Of course, there are other solution like Amazon AWS and Microsoft Azure. But healthy competition is always good for the end user.