Last time we talked about the pros and cons of DevOps as a Service. There we mentioned AWS and Google Cloud Platform as the main platforms that are frequently used by DevOps. Why can’t we make a small comparison for them? Sure, there’s also Microsoft Azure among the giants. But we’ll come back to it later. So, today we have AWS vs Google Cloud Platform. What is better for DevOps in the cloud?
You already know that DevOps as a Service (DaaS) is a delivery model for a set of tools that facilitates collaboration between an organization’s software development team and the operations team. In this delivery model, the DevOps as a Service provider collects the disparate tools that cover various aspects of the overall process and connects these tools to work together as one unit.
Nowadays, many organization adapt DevOps and migrate their apps to the cloud. Essentially it is the migration of your tools and processes for continuous delivery to a hosted virtual platform. How to choose a better cloud computing provider? We’re going to compare AWS vs Google Cloud Platform!
AWS vs Google Cloud Platform
Let’s start with Amazon Web Services (AWS). AWS has already built a powerful global network to provide a virtual host for some of the world’s most complex IT environments. Its data centers are fiber linked and arranged all over the world. In AWS the payments are scheduled according to exactly the services you use down to the millisecond of compute time. In a nutshell, AWS is a fast and relatively easy way to migrate your DevOps to the cloud.
Google Cloud Platform’s (GCP) DevOps option worth seriously considering too. The ever-growing list of capabilities of this global network already includes the support for such platforms as Visual Studio, Android Studio, Eclipse, Powershell and many others.
There is no need to name all the obvious AWS main benefits like ‘automation’, ‘secure’, ‘programmable’, ‘pay-as-you-go’ etc.
In AWS, there are three particular services are the core of continuous cloud delivery:
- AWS CodeBuild
This is extensible, fully managed build service that provides continuous scaling along with CI and CD. CodeBuild offers automatic scaling and grows on demand with your needs, for example, the simultaneous deployment of two different build versions, which allows for comparison testing in the production environment. Particularly important for many organizations is CodeBuild’s cost efficiency, because you are charged by the minute for the compute resources you use.
- AWS CodePipeline
It builds, tests, and deploys your code every time there is a code change, based on the release process models you define. This enables you to rapidly and reliably deliver features and updates. You can easily build out an end-to-end solution by using the pre-built plugins for popular third-party services like GitHub or integrating your own custom plugins into any stage of your release process. With this CodePipeline, you pay for what you use – no upfront fees or long-term commitments.
- AWS CodeDeploy
CodeDeploy delivers the working package to every instance outlined your preconfigured parameters. AWS CodeDeploy automates code deployments to any instance, including Amazon EC2 instances and on-premises servers. AWS CodeDeploy makes it easier to rapidly release new features, helps in avoiding downtime during application deployment, and handles the complexity of updating the applications. It is code-agnostic and easily incorporates common legacy code.
In addition to native AWS DevOps tools, there are some 3rd party options like Chef, Puppet, Jenkins etc.
Google Cloud Platform
Google Cloud Platform is made up of a lot of different services and solutions to utilize the same software and hardware infrastructure that Google uses for its own products (like YouTube and Gmail).
Some of the main GCP’s benefits are that it is one of the largest and most advanced computer networks, and it gives you an access to the numerous tools to help you focus on building your application. Stackdriver Monitoring, Stackdriver debugger, Stackdriver Logging, security scanner service (App Engine) and many more. You can use them all immediately as part of your application lifecycle pipeline.
Native management tools for the Google Cloud environment include the next modules:
- Google Compute Engine
Google Compute Engine allows users to launch virtual machines on demand. This is one of the primary services for complete isolation and automatic scaling from single instances to global. Compute Engine’s VMs boot quickly, come with persistent disk storage, and deliver consistent performance. Its virtual servers are available in many configurations including predefined sizes or the option to create Custom Machine Types optimized for specific needs.
Note, if you compare, Amazon EC2 is essentially the same thing as Google Compute Engine.
- GCP Deployment Manager
Google Cloud Deployment Manager allows you to specify all the resources needed for your application in a declarative format using yaml (or Python, or Jinja2). This means that rather than painstakingly listing each step that will be required for a deployment, DevOps teams can tell Deployment Manager what a final deployment should look like and GCP will use the necessary tools and processes for you. When a perfect deployment procedure is developed, it is saved to be repeatable and scalable on demand. With Google Cloud Deployment Manager you can do deploy many resources at one time, in parallel, pass variables into your templates and get output values back, view your deployments in the Google Cloud Console in a hierarchical view and more…
- GCP Cloud Console
Cloud Console gives you a detailed view of every detail of your DevOps in the cloud. Web applications, data analysis, virtual machines, datastore, databases, networking, developer services… Google Cloud Console helps you deploy, scale and diagnose production issues in a simple web-based interface. From virtual machines to release management and rollback, master, monitor and manage all things GCP from the desktop or on the fly. With GCP Cloud Console for DevOps, you can easily take charge of the cloud-based continuous delivery cycle.
Find out more about Google Platform for DevOps here. Also, there you can read some useful tips mentioned in DevOps guides that are linked to the same page we just mentioned. Documentation can be found here.
Google Cloud Platform vs AWS comparison table
Google Cloud Platform
|Compute||You can equip AWS EC2 instances with up to 128 vCPUs and 3,904 GB of RAM.||You can equip Google Compute Engine instances with up to 96 vCPUs and 624 GB of RAM|
|Storage/Disk||General with volume sizes from 1GB to 16TB, and Provisioned IOPS SSD from 4GB to 16 TB||SSD, volume sizes from 1 GB to 64 TB|
|Network||Amazon EC2 instances have a maximum bandwidth of 25 Gbps, however, this is only on the largest instance sizes. Standard instances max out at 10 Gbps/second.||Each core is subject to a 2 Gbits/second (Gbps) cap for peak performance. Each additional core increases the network cap, up to a theoretical maximum of 16 Gbps for each virtual machine.|
Billing and Pricing
|AWS simple monthly calculator||Google Cloud Platform pricing calculator|
|AWS Documentation||Google Cloud Forums|
|Security||AWS platform security model includes:
||Google Cloud security model includes:
The most important telemetry insights for DevOps
- Server and VM health and statistics
- Application health
- Automated testing results
- Network volume
- Security and access control list activity
- Database transactions
Nowadays cloud computing has become more cost-efficient, reliable and secure. All the major providers are now investing in their hardware, software, and global networking infrastructure to obtain more market share. Due to the competition between them, the DevOps teams received very sophisticated, easy-to-integrate, fast and hi-end solutions. As the quality remains almost equal, the difference between main cloud computing providers lies mostly in price and the number of options you get.
What can also make a difference this is the operation zones. AWS operates 49 Availability Zones within 18 geographic Regions, with announced plans for 12 more Availability Zones and four more Regions in Bahrain, Hong Kong SAR, Sweden, and a second AWS GovCloud Region in the US. While Google Cloud Platform has 13 regions, 39 zones, over 100 points of presence, and a global network with 100,000s of miles of fiber optic cable.
Taking a market share into account, AWS is leading. Google is making good progress but has much more work to do to prove itself a viable enterprise option.
AWS leads in terms of the numbers of customers and products. On the other hand, GCP already provides all the necessary functionality and offers good pricing along with configuration models, backed up by serious traffic privacy and security measures.
So, what is better for DevOps in the cloud? As usual, we don’t give an answer but we show you the alternatives to choose from. Now, when you have all the data, you have the power to make your own decision for your DevOps team!
p.s. Don’t forget about Microsoft Azure! We’ll consider it soon too!
- Resources for getting into DevOps
- The Managed DevOps Services and Cloud Services Landscape
- Google Cloud vs AWS (detailed parameters comparison), there you will find even a latency test for both!
AWS vs Heroku comparison might be useful too!