The many benefits offered by the cloud - rapidly scalability, reduced upfront costs - make it an attractive proposition for all kinds of organisations. But if you have decided that you want to make use of the cloud, which solution do you choose? How can you even begin to make that decision?
Well, each cloud provider offers a different set of features/capabilities to suit different requirements - so you first need to know and understand what your specific requirements are. Once these have been defined, you can start working out which solution will best meet your needs. In this article I am going to compare the differences between Amazon Web Services (AWS) and Azure - two of the leading cloud solution providers - to give you the vital information that will help you make this decision.
AWS has been running now for over 10 years, having started in 2004. It started with just a single service, SQS - but quickly expanded to the list of services that we see below (along with many more).
Azure is more of a newcomer to cloud, having started in 2010. It too started as a compute cloud, before branching into different Infrastructure as a Service (IaaS) solutions - see below for some of the top products.
If your requirements were just to host a single application/service rather than a complex infrastructure, the decision you make between AWS and Azure will likely come down to factors such as cost, performance, security and uptime (covered later in this post). A virtual server is just a virtual server after all. Where these two providers (and indeed any cloud providers) do differentiate their offerings though is through the services they deliver around their compute cloud.
Just some of the supporting services offered by AWS and Azure
Each provider offers a huge number of services to complement their respective clouds. When it comes down to some of the core services though, they often use different service names to actually mean the same thing, as the below table shows.
Comparison of top cloud products
So, once you have decided what your requirements are, you can determine which provider will best fit your needs. And you’ll probably want to look at the following...
Obviously, you’ll want to work out how much your solution is going to cost. There are many calculators on the web that can help you do this, such as:
- AWS: https://calculator.s3.amazonaws.com/index.html
- Azure: https://azure.microsoft.com/en-gb/pricing/calculator/
If you are a Microsoft partner, then they will offer discounts for Azure depending on your partner level - another factor worth considering. It’s also useful to check if signing up for a contracted time period will deliver any further cost savings.
Working out which of these two cloud providers delivers the best performance for your particular use case is very difficult to do. There are numerous articles that have been published which test CPU/Disk/Network performance (such as this one). However, unless this exactly matches what you are going to use the platform for, you are going to get different results.
If you can, I would suggest signing up for the free trials that are offered by each provider, in order to benchmark your application and compare the results (note though that instance types between providers may well differ). The pricing model for all cloud offerings allows you to “pay-as-you-use”, so running these tests should be comparatively cheap.
Does the security of a cloud provider matter to you? Of course it does, but each will approach security in a different way. If you have specific requirements - such as encrypting your data at rest - will your cloud provider support this? Do you need to ensure the data center your provider uses is ISO 9001/27001-compliant? If so, look for this when selecting your cloud solution to avoid problems in the future.
Both AWS and Azure have a Service Level Agreement (SLA) which states the level of service you should expect to receive. See which of these gives you the best service level for the requirements of your application. It should hopefully also show you which service puts a bigger/better guarantee of their service being available. Be sure though, to note any caveats in regards to their SLA applying (e.g. you might have to use multiple servers).
It might be that either AWS or Azure (or another provider) has a unique feature which means that this would be a better solution for you. A good example would be Azure’s “Web Apps” service which has auto scaling and load balancing built in. AWS doesn’t have a service that competes (currently). AWS, however, has a service called Glacier which allows secure, durable and extremely low-cost cloud storage. Azure doesn’t have a competing service.
Finally, weight each of these areas to decide which is most important to you. Hopefully this should make it easy to work out which of these competing providers to use.
Representative weighted scoring matrix
There isn’t a wrong answer when choosing your cloud partner - but choosing the right provider will make your new cloud infrastructure a much happier place. This in turn will make your business stronger and more resilient to the changes in your industry. Remember, though, that this decision needs to be reviewed on a regular basis to ensure you are still using the right cloud provider for you.
To learn more, check out our webinar "An SME’s journey in migrating to the cloud" where we share the story of our own cloud migration - which has delivered impressive results including significant scalability benefits, and cost-savings of approximately 50%.