Cloud Platforms and 10 key differentiators
In my opinion the main Public Cloud Vendors are used in the following ways:
- AWS – LAMP, Linux, IaaS, PaaS serverless, RDS, Java applications
- Azure – PaaS, SQL, .Net applications (does support Linux, Java)
- Google – Data related analysis for systems, apps on Linux
Some other areas of comparison.
All clouds offer an API management platform. In reality, API integration with reduced latency is much easier if the networks are on the same cloud infrastructure. For example Mulesoft uses AWS as its underlying IaaS. If you are all-in on a cloudy-platform, than use the natural API platform it supports. You don’t need to add yet another iPaaS layer, with license fees, training and latency attached.
All of the clouds have data centres spread out around the globe. Microsoft Azure, for instance, has 54 regions and they carefully note where the data is “at rest” and which government has sovereignty. Perhaps you have a large collection of customers in one country. Perhaps the legal department has identified a special and particularly lucrative “feature” of the tax law of another one. Most of these different data centers are clones of each other and it makes sense to stay with the same stack throughout the world. The only caveat is that not all of the data centers are perfect clones and not all of the products are available in every location.
Value Added services
While the compute and storage resources are largely commodities, each of the clouds offers a few products that stand out. Google’s Firebase, for instance, is a database that automatically migrates the right data to the client, saving you the trouble of worrying about much of the consistency and marshalling code. Amazon’s S3 Glacier will store data for the long term at a very low price. Microsoft has Azure Cosmos DB, a database that supports multiple data models. There’s no reason why you can’t knit together services from different clouds, but it’s often a bit simpler and faster to buy your commodity computation from the same cloud.
The clouds are all corners of larger corporations and there are often synergies between the different divisions. If your office uses Google G Suite, everyone will feel a bit more comfortable working with some of the Google Cloud Platform services to dump their data into Google Sheets. Microsoft’s Excel is one of the standard ways that many large organizations work with data and it can import data from Azure or work with the Azure Analysis Services.
Amazon offers a spot market for computational power that lets the price adjust to supply and demand. This is a great feature for work that doesn’t need to be done at any particular time. Batch jobs and monthly reports can wait until the price is low enough. Just remember that demand can spike at odd times. Some of the streaming services, for instance, use the cloud to handle extra demand on Friday and Saturday nights.
Google offers a pricing mechanism that doesn’t require any thinking on your part. When your instance runs for more than 25% of the month, you start getting the volume discount. No negotiations. No new contracts. No switching to a different plan. The price just goes down. They call them “sustained use discounts.”
If your stack is premised on .NET and it continues to use many Microsoft parts, there’s a good chance you’ll find it easier to choose Azure. It’s not strictly necessary because the other cloud providers will boot Microsoft machines and there are good containers filled with Microsoft code that will run anywhere. There is also native Federated AD integration with Azure – also offered on AWS.
The different versions of the operating systems are meant to be commodities and for the most part they’re exactly the same. Ubuntu 18.04 is probably going to behave exactly the same on any of the clouds. At least it might seem that way. But sometimes there are slight differences deep inside the kernels and sometimes these changes show up in performance during benchmarking. Some of the clouds make this optimization obvious. The clouds offer their own versions of the operating systems and it usually makes sense to use them if you can. An example is AWS Linux which allows you to use EC2 System Manager to automated upgrade, patching tasks.
The instances sound like commodities but there are subtle differences between architectures and the speed of the various components. Benchmarking your code on different platforms and different machine types makes great sense and can reveal that some clouds offer a better price/performance ratio. Many of the machines inside the clouds look like different versions, and the only real difference is the number of CPU cores or the amount of RAM, but sometimes there are architectural differences that can affect your code’s performance.
Training, Support, Long-term investments
You’re going to be using the platform of choice every day. This means that your teams will need to be constantly trained, updated and supported to use the Cloud platform. The operational management and training is an on-going effort and needs to be budgeted. Understanding and becoming proficient with just one Cloud platform is a large task that should be not be underestimated. Operational support needs careful planning including the right skills, certifications, training budgets and change management budgets.
==END Source here