Tuesday 28 June 2016

Azure VM vs Amazon EC2 vs Google CE: Cloud Computing Comparison



If you look for a cloud VM infrastructure, there are 3 biggest cloud systems available: Amazon Elastic Cloud 2, Google ComputeEngine and Microsoft Azure Virtual Machines. Since it’s still hard to choose the right one, we are going to explain key differences to make the choice easier.

Virtual Machines

Cloud virtual machines are mostly considered IaaS — Infrastructures as a Service. This means that VM instances provided should be perceived (nominally, of course) as a real computer with its CPU, memory, network, storage etc. Computing resources are the first thing to be paid for and we’ve put together hosts’ offers below.
Amazon EC2Google CEMicrosoft Azure VM
Number of instance templates available391840
GPU accelerationYesNoNo
Custom instance creation featureNoYesNo
CPU Limits1 – 401 Shared – 32 dedicated CPU1 – 32 CPU
Memory Limits0,5 – 244 GB0,6 — 208 GB0,75 — 448 GB
Temporary Storage LimitsUp to 48 TB (Multiple Disks)3 TB2 TB
Network features supportedCDN, Direct connection, DNS, Load Balancing, Virtual private cloud network, VPN Gateway
PricelistAmazonGoogleAzure
Ultra-performing configurations may not be available in some regions, and instance characteristics are pre-defined — except for Google Compute Engine, where it’s possible to make your-own-tier VM. For permanent data storage, all 3 cloud platforms use external services, which we’ve reviewed in our previous post.

VM Scalability

You may not only reduce or decrease VM power but also adapt its computing resources to the current needs. Moreover, cloud systems advertise their auto-scaling utilities which are able to size VM up and down on demand:
  • Amazon EC2 can both auto-scale and resize a virtual machine. Autoscaling task consists in keeping up a desired number of instances, starting and terminating them on demand. Amazon Auto-scaling is also useful because its ability to maintain VMs healthy, restarting when it’s needed. Resizing can be done in a couple of clicks while the instance is stopped, but the process has a bunch of virtualization, platform and networking compatibility issues. So it might be easier to backup VM and create a new instance.
  • Microsoft Azure’s auto-scaling functions via Availability groups, in which VMs can be added. Then you can set the number of instances to scale up and down and choose the criteria — CPU workload or a queue size. All instances can be easily resized using either Azure web-interface or PowerShell commands. It can be done on a fly, but with some tier changing limitations.
  • Google CE provides horizontal auto-scaling by adding or removing new instances in a managed group of VMs. They are created from the same template instance. It appeals to the wide range of scaling policies available, which can be tied up to any metric of Google Cloud Monitoring. Thus VM may adjust its capacity by custom criteria. Any instance may be resized by using Console, gcloud or API, yet you must stop your machine before.

Guests and Apps Support

Just after the purchase, you get a bare-metal machine, which needs some basic software before going into action. The cloud hosts support a broad range of OS’s which are adapted for cloud computing and may be modified according to your needs.The key point here is compatibility. Not every cloud system would get along with any OS or service. Let’s check the software supported by cloud hosts:
Amazon EC2Google CEMS Azure VM
Operating Systems
CentOSVVV
CloudLinuxVXX
CoreOSVVV
DebianVVV
FreeBSDVVX
openSUSEVVV
Oracle LinuxVXV
RHELVVV
SLESVVV
UbuntuVVV
Windows ServerVVV
Databases
MySQLVVX
Microsoft SQL ServerVXV
MariaDBVXX
OracleVXV
HadoopVVV
NoSQLVVV
Keep in mind that OS architectures supported may vary from host to host and from region to region. So it is worth trying every system for free to check if your favorite platform is available before moving to the cloud. (Trial offers and their terms may be found at the end of the post)

Availability

After choosing the right cloud platform you need to be sure that corporate data are always available. These well-founded claims are guaranteed by Service Level Agreement with cloud providers, which is signed with system’s terms of use. It assigns the responsibility a host admits for the quality of its facilities. If this contract is violated, the user gets some benefits:
  • Amazon EC2 SLA (Service Level Agreement) provides a 10% discount if VM was down for more than 0,05% time of the whole month. 30% credit is available if you weren’t able to access the machine for more than 1% of the month. The minimal downtime counted is 1 minute
  • Microsoft Azure SLA are the same as Amazon’s, with distinction in maximum credit — only 25%
  • Google CE SLA provides a credit if an instance was unavailable for more than 5 consecutive minutes. For 0,05-1% monthly downtime you get 10% discount, for 1-5% — 25% discount, and for 5+% — 50% off

Backup Tools

But however durable cloud systems are, there can and will be fails — if not on the host side, then on yours. So the backup facilities are not less important than uptime:
  • Amazon EC2 provides two main ways of backup — image-creation and snapshots. Both variants make a copy of whole root volume, but in the snapshot you can check the consistency of saved data. In addition, they are stored in a different Amazon cloud services for an extra fee. File-backup is also available, and it’s much faster, but needs additional scripts and tools for automation.
  • Google CE has its own backup service which allows to store up to 7 snapshots for free, schedule and plan backups. Google also has binary logging feature which allows to perform point-in-time recovery — rewind your machine to any desired period, not only to “just backed up” moment.
  • Microsoft Azure has all features listed above, which can be additionally performed by its Azure Backup tool and Recovery Services. They cope well with basic functions, but have some inconvenient limits and restrictions which we have examined thoroughly before.
More info can be found in our special post. In the upshot all the cloud systems have their own tools to provide recovery of both virtual and physical machines, but they lack flexibility and cross-platform support. That is why there is a third-party software with additional features using open API. Cloudberry Backup does its best in giving maximum flexibility. It can not only backup virtual and real-action servers but also cross-recover backup as a virtual machine on a cloud. Moreover, Cloudberry isn’t tied to any storage service, so you can choose by yourself where to store backups. Now it supports Amazon EC2 and Microsoft Azure VM-level restores; Google CE support is coming soon.

So, What to Choose?

It’s quite obvious that there is no champion — each cloud vendor has unique features and appealing offers with pros and cons. We have created a quick comparison table to help you choose:

Amazon EC2Google CEMicrosoft Azure VM
Number of instance templates available391840
GPU accelerationYesNoNo
Custom instance creation featureNoYesNo
CPU Limits1 – 401 Shared – 32 dedicated CPU1 – 32 CPU
Memory Limits0,5 – 244 GB0,6 — 208 GB0,75 — 448 GB
Temporary Storage LimitsUp to 48 TB (Multiple Disks)3 TB2 TB
Network features supportedCDN, Direct connection, DNS, Load Balancing, Virtual private cloud network, VPN Gateway
Number of OS supported1199
Number of Databases supported5+33
AutoscalingYes, clone buildingYes, clone buildingYes, presettable group
Size changeAvailableAvailableAvailable
SLA TermsCredit for 1+ minutes downtime, max monthly credit: 30%, uptime SLA: 99.95%Credit for 5+ consecutive minutes downtime, max monthly credit: 50%, uptime SLA: 99.95%Credit for 1+ minutes downtime, max monthly credit: 25%, uptime SLA: 99.95%
Cloudberry SupportYesIn progressYes
Free trialYes, time-limited on one instanceYes, time and resource limited on any instanceYes, time and resource limited on any instance

0 comments:

Post a Comment

Popular Posts

Powered by Blogger.

Recent Comments

Contact Form

Name

Email *

Message *

Followers