The choice of a cloud platform provider is one of the most important business decisions for a company.
It is not just a bunch of technical specs that neatly fit the requirements, it's about possibilities and making things happen in the long-term.
In this article, we will:
- Explain how to choose the right cloud platform provider;
- Compare Three Large Cloud Providers (AWS, Azure, Google Cloud) and their pros and cons.
In one way or another, the choice of which public cloud platform provider is determined by business and technical requirements.
- The choice is about what you NEED, not what you want.
- A cloud platform is a means of accomplishing a particular goal.
The key choice factors for cloud platforms are:
- What kind of features do you need?
- What are your application integration needs?
- What is the estimated budget for a cloud solution?
- Is there a need for future expansion or reduction of the features?
- What is the level of expertise of your IT department? Can they handle the proceedings on their own?
For the most part, the choice is less a matter of taste and preference. In fact, it is more a matter of what kind of possibilities this or that cloud platform offers to accomplish a goal.
Probably, the single most important decisive factor is cost-effectiveness. Yup, it’s all about the money.
Cloud computing services are not cheap. If used unwisely - they can be a considerable burden on a company’s budget. While the cloud platform itself can provide an efficient service regardless, the way it is used might be draining and ultimately detrimental to the company’s business operation. Because of this, you need to be cautious about your cloud computing spending.
Let’s take a look at the major factors which influence the choice of a cloud platform.
Pricing is probably the trickiest thing about cloud computing services. Here’s why. The thing about cloud services is that you can measure the exact scope and calculate a unique price for a particular client.
It is incredibly practical both for companies and cloud providers. You can estimate the budget and negotiate an appropriate deal based on that.
The way cloud providers charge for their services is based on a multi-layered approach.
- the scope of services (user-based and time-based),
- the configuration of the platform,
- related expenses (for example, cloud migration, etc).
Let’s look at how pricing models are organized on the three big cloud providers.
Amazon AWS is known for its borderline incomprehensible pricing policies. While on the surface it all seems clear and distinct, by the time you get to the actual price estimation, things get complicated.
In order to keep things transparent, Amazon provides a cost calculator that includes numerous variables. Because of the sheer number of options, it is really hard to estimate anything in a realistic manner, so the actual prices may be drastically different.
One of the viable solutions for this issue is the use of third-party cost management tools like Trigger or Hubstaff.
Microsoft Azure's pricing structure is similarly complicated, albeit more clearly defined. The complexity comes from the numerous software licensing options, variations of configuration and special offers.
Just like AWS, the effective use of Azure will require a third-party cost management tool to keep things intact.
Unlike AWS and Azure, Google Cloud keeps things as transparent and accessible as possible. It almost seems like Google Cloud pricing policies were designed in spite of Azure and AWS approaches.
GCP prices for similar computing and storage services are significantly lower than AWS and Azure. In addition to that, Google provides a wide array of various discounts for their services. It goes as far as contract negotiations, which are considerably more flexible than with AWS and Azure who prefer a more cookie-cutter-styled contract format.
Now let’s look at the features of AWS, Azure, and Google Cloud and how they compare to one another.
- The main AWS compute asset is Elastic Compute Cloud aka EC2. It is a kind of swiss army knife with different cloud features. One of its main advantages is the immense flexibility of configuration. You can shape it in any way you need it.
- Then there are computational instances. AWS provides a wide array of bare metal instances, GPU instances, high-performance computing, auto-scaling, et al. Basically, anything you might need in your cloud infrastructure
- Elastic Beanstalk provides efficient autoscaling features for web and mobile applications.
- The other big AWS asset is container services. Docker, Kubernetes, and Fargate provide automatic server management that relieves administrators of pesky headaches.
- In addition to that, AWS offers a virtual private cloud option titled Lightsail. It might be a good choice in the case of implementing hybrid cloud infrastructure.
- The main advantage of Microsoft Azure over GCP and AWS are Virtual Machines - an emulation of the computer system comprised of disparate parts.
- Similar to AWS Elastic Beanstalk, Azure’s Virtual Machine Scale Set provides everything the system needs to maintain a proper level of scalability.
- Virtual Machines are compatible with the majority of commonly used services and applications (including Windows Server, SQL Server, Oracle, IBM, SAP, and more).
- Similar to AWS, Azure provides a large variety of functional instances for GPU and high-performance computing. The other big thing is Artificial Intelligence and Machine Learning features.
- Then there is an exclusive distributed systems platform for applications with a microservice architecture called Service Fabric. It allows streamlining of the application structure while keeping its performance high and reliable.
- GCP primary service, Compute Engine has custom and predefined machine types with per-second billing. This may come in handy when you need to perform specific workload-intense operations.
- Since Google was involved in the development of Kubernetes, there is a wide array of Kubernetes container features.
- The other good thing about GCP is that there are automatic discounts if you are using the service a lot. That comes in handy a lot.
- GCP Container Registry
Read also: Cloud Orchestration vs. Cloud Automation
- AWS provides data storage for different purposes:
- Simple Storage Service (S3) - object storage;
- Elastic Block Storage (EBS) - persistent block storage;
- Elastic File System (EFS) - file storage.
- There is a feature called Storage Gateway. It is used to create a hybrid storage environment
- Then there is Snowball, a piece of hardware that the company can use to transfer immense quantities of data (petabytes and so on) in those cases when the internet transfer is simply not efficient enough.
- AWS databases include:
- Aurora for SQL-compatible databases.
- Relational Database Service (RDS),
- DynamoDB NoSQL database,
- ElastiCache in-memory data store,
- Redshift data warehouse,
- Neptune graph database
- Database Migration Service.
- For archival storage, AWS provides Glacier service.
- Storage Gateway can be used to easily set up backup and archive processes.
Microsoft Azure Storage features are tailor-made for intrinsic manipulations and large-scale operations.
- Highlights of Azure storage services include:
- Blob Storage for REST-based unstructured data object storages,
- Queue Storage for large-volume workloads,
- Basic File Storage and Disk Storage.
- Data Lake Store for big data applications.
- Data Warehouse service,
- SQL-based options are wide and compatible with numerous integrations:
- SQL Database
- Database for MySQL
- Database for PostgreSQL.
- Cosmos DB
- Table Storage for NoSQL with Redis Cache as in-memory service
- Server Stretch Database is its hybrid storage service designed specifically for organizations that use Microsoft SQL Server in their own data centers.
- Unlike AWS, Microsoft does offer an actual Backup service, as well as Site Recovery service and Archive Storage.
- Unlike Azure and AWS, Google Cloud provides Unified Storage.
- Similarly to AWS Snowball, there is a Transfer Appliance for extra-sized data transmissions.
- GCP databases include SQL-based Cloud SQL, Cloud Spanner which is a relational database for mission-critical workloads. There also NoSQL solutions Cloud Bigtable and Cloud Datastore.
- No backup and archive services. You will need to use third-party solutions.
Looking ahead, experts say that emerging technologies like artificial intelligence, machine learning, the Internet of Things (IoT) and serverless computing will become key points of differentiation for cloud vendors. All three leading vendors have begun experimenting with offerings in these areas and are likely to expand their services in the coming year.
Amazon AWS has so many different features to offer it is easy to get lost. Among the highlights are services like:
- Sagemaker for training and deployment of machine learning models;
- Lex conversational interface (the one used in Alexa);
- Greengrass IoT messaging service for edge computing and data analytics;
- Lambda serverless computing service.
- DeepLens framework for optical character recognition and image/object recognition.
Microsoft Azure is great at all sorts of AI Machine Learnings operations. There are numerous tools that make machine learning model training nice and easy while retaining a decent performance.
Let’s look at the most prominent:
- Bing Web Search API,
- Text Analytics API,
- Face API,
- Computer Vision API
- Custom Vision Service.
- Then there are IoT features, including management and analytics
The other good thing is Azure’s serverless computing service Functions. While from a technical standpoint it is similar to the ones on AWS and GCP, the availability of other features on Azure cloud can make it a very versatile and efficient tool.
Like Azure, Google Cloud also prominently features various Artificial Intelligence and Machine Learning operations. In fact, of all the Big Three of Cloud, Google has the most versatile AI Machine Learning tools of the bunch. While they are less polished than the ones from Microsoft, they provide more room for experimentation and innovation.
The key ML component of Google Cloud is TensorFlow - a swiss army knife of all machine learning libraries (if you want to know more about Machine Learning tools - here’s an article).
Google Cloud provides many powerful APIs for natural language processing, machine translation, computer vision, and speech recognition.
Download Free E-book with DevOps Checklist
The choice of cloud provider mostly depends on the business and technical requirements of a particular company. However, the way Cloud Providers position themselves tells a lot about their target audiences.
Here’s how it is laid down:
- Azure is a good option for companies that use a lot of Microsoft products and have a need for reliable and effective cloud solutions.
- AWS provides the broadest selection of different services and has the biggest reach with its data center all over the world. However, its pricing policies move it towards enterprise-level companies that look for versatile and expansive solutions.
- In comparison with AWS and Azure, Google Cloud seems almost grassroots. Because of its incredibly flexible pricing models, and a solid service package, Google Cloud is a perfect solution for companies that rely on web-based products, and need simple and efficient grounds for their operation.
Write to us