For any organization planning to move their IT Infrastructure to a public cloud it would be a very crucial and difficult decision to choose the right CSP which would fulfils their requirement in an efficient, cost effective and secure manner.

Whatever the requirement would be. Either planning to migrate the IT Infrastructure completely or running them on a hybrid model along with existing on-premises setup Or in case of any startup who are exploring the options, where they would start their cloud adoption journey, they have to get into the journey of selecting the right CSP for them.

There are many CSPs available in the market however the leading CSPs ruling the market are Amazon’s AWS, Microsoft’s Azure and Google’s GCP. (Refer to the image published by Gartner Inc in June 2022). Hence I will be considering those 3 major CSPs in my discussion.

Various factors have to be taken into consideration while getting into the journey of selecting the right CSP for your business. The major factors which could be considered but not limited to are listed below:

  1. Existing usage of cloud if already using any of them.
  2. Types and nature of application to be hosted on the cloud
  3. Services to be used.
  4. Location of the audience and wider presence of the CSP in that location.
  5. Seamless Integration of the CSP with your existing On-premises platform.
  6. Growth prospects, Scalability and High availability needs.
  7. Budget and pricing i.e. Cost.
  8. Lastly but optional consideration is market share, older presence and maturity of the CSP.
  9. Security of your data on the cloud.
  10. Your Industry types.

Let’s discuss them one by one.

  1. Existing usage of cloud if already using any of them

If you are already using any of the cloud among the top 3 listed i.e. AWS, Azure or GCP, then it is assumed that you already have some experience with them either Good, Bad or Mixed.

You need to ask yourself these questions before moving forward:

  • Since you are already using a cloud then why are you comparing again between the CSPs?
  • What problems or issues are you experiencing with your current CSP that motivates you to reconsider continuing with your current CSP?
  • What type and level of contracts do you have with your current CSP?
  • How much is the comfort level and expertise of using the cloud of your IT Team?
  • What is the count and percentage of cloud services are you using?
  • Spread of your applications hosted on Cloud as well as on on-premises?
  • How is your existing on-premises infrastructure if you have one, integrated with the cloud?
  • How has the authentication and authorization mechanism been configured in your existing setup?

These are some of the example questions however, there could be many more such questions which might arise and relevant to your environment that you need to figure out. Finding answers to these questions and of course other relevant questions would definitely show you some path to take further.

2. Types and nature of application to be hosted on the cloud

Nowadays in the current state of the IT world, applications are mostly designed using distributed microservice based architecture along with its close integration/combination with serverless components. Microservice based applications which use container technologies and need a hosting platform like Kubernetes. Kubernetes was originally designed by Google, the project is now maintained by the Cloud Native Computing Foundation.

Though Kubernetes was originally designed by Google and they have their managed version on GCP known as Google Kubernetes Engine (GKE), AWS and Azure does have their managed equivalent product which use the same Kubernetes, called by AWS as Elastic Kubernetes Service (EKS) and Azure Kubernetes Service (AKS). Google GKE is a very mature product however both EKS and AKS are also very robust and mature products.

3. Services/Cloud resources to be used

Though we have discussed using the Kubernetes as the base platform in the previous section, it’s not going to work on its own. Kubernetes also needs to be integrated with other cloud resources like:

  • Cloud Virtual Machines/Instances
  • Databases like AWS RDS/DynamoDB, Azure Databases/Cosmos DB, Google Cloud SQL etc.
  • Networking components like VPC/VNet, hybrid connection (i.e. AWS direct connect, Azure express route and Google Dedicated Interconnect), IP Addresses etc.
  • Different kinds of Storages like block or blob/object storage i.e. AWS EBS/EFS/S3, Azure Blob/Disks, Google Cloud storage etc.)
  • Load balancers, Application Gateways for ingress and load distributions etc.
  • Content Delivery Network (CDN) and Edge Networks etc.
  • Serverless technologies like AWS Lambda, Azure Functions, Google Cloud Functions etc.

In addition to the above listed categories of cloud resources, the organization might also be using other next generation cutting edge technologies to make their environment/platform/devices smarter and data intensive using IOT and Data Management/Analytics which adds more related components to the list.

4. Location of the audience and wider presence of the CSP in that location

Almost all the three CSPs we are comparing do have a wider presence globally hence we dont have to worry much in this area. However if the applications are hosted from one region and supposed to be used from other regions, we have to explore their CDN services and edge network and also we might be required to explore external third party solutions like Akamai CDN etc. in case the native solution provided by the CSP does not fulfill their requirement.

5. Seamless Integration of the CSP with your existing On-premises platform

Though I have already listed the necessary hybrid connection options provided by the respective CSPs i.e. AWS direct connect, Azure express route and Google Dedicated Interconnect, we might also need alternative backup connection using VPN or MPLS from multiple Internet Service Providers (ISP) available in the region.

6. Growth prospects, Scalability and High availability needs

This is one of the very crucial and important areas to be considered while planning and designing the architecture. We need to find out answers of the below questions but not limited to:

  • How does our platform/environment behave during frequent and fluctuating surge traffic?
  • What scalability like auto scaling options the CSPs are providing natively?
  • What high availability options the CSPs are providing natively?
  • What DR capabilities do the CSPs provide natively?
  • Whether they could be able to scale the hosted services to different regions during inter region business expansions?

All the three CSPs we are comparing have a wider global presence and do provide multiple scalability, high availability and DR options. However we need to explore which one the organization would be able to afford and obviously such options should fulfill their requirement.

7. Budget and pricing i.e. Cost

This is one of the most critical and important factors of motivation that drives the decision making process for selecting an CSP. However, what I have seen from various price comparison and analysis done by me at various client projects is that all the three CSPs provide very competitive base pricing for the resources which are almost similar. The initial calculations are done using the cost/pricing calculators provided by each CSPs considering bare minimum i.e. lowest possible usage of the resource. This cost is variable in nature, because additional costs could add up on the basis of actual usage including networking and data transfer costs.

Example cost comparison of the major services from AWS, Azure and GCP. Price values taken from their respective pricing calculators on the day when the comparison was done, hence the values might have changed now. Hence it is recommended to create your own table for your analysis.

ServicesAzureAzure Pricing Per Month (USD)AWSAWS Pricing Per Month (USD)GCPPricing Per Month (USD)
Virtual Machine1 VM Linux (2vCPU & 4G Mem) reserved instance discount 20% to 45%*71.51 EC2 Instance Linux (2vCPU & 4G Mem) reserved price: 30-55% with zero upfront cost32.71: e2-medium (vCPUs:2, RAM: 4 GB)24.46
Managed KubernetesAKS73EKS73GKE72
DatabasesAzure Database for PostgreSQL with reserved instance discount: 35-55%*193.27RDS Postgres with reserved instance discount: 30-65%200.7cloud sql for PostgreSQL with reserved instance discount: 10-25%223.39
CDNAzure CDN (Akamai) 100GB13CloudFront 100 GB12Cloud CDN9
Hybrid ConnectionExpressroute (Mumbai) – (Without support) (1Gig)436Direct Connect (Mumbai) (Support model need to be checked) (1Gig)219Cloud Interconnect(10 Gbit/s# Interconnect mumbai)1,699.44
ServerlessAzure Functions2Lambda 100,00,000 Reqs/month2Cloud function(Memory: 128MB CPU: 200MHz, invocation: 10000 & runtime: 3 mins)2.24
StorageAzure Storage(1 TB storage cost)20S3(1 TB storage cost)25Cloud Storage(1 TB storage cost)23
LoadBalancerApplication Gateway(basic)21API gateway21Cloud Load Balancing19
Total758.27552.72048.07

After the CSP decision has been made and the deployment of the infra on the selected CSP platform and after monitoring the monthly cost of actual usage for a couple of months, the organization would be in a position to make a decision for further cost optimization.

Though pricing and cost is a crucial and important factor however this is not the only factor to be considered while decision making before finalizing the CSP and also while finalizing the design and architecture. We are not supposed to select the CSP which does not fulfill our requirement to provide efficient and wonderful customer experience. At the same time we are not supposed to design and architect our infra only considering the pricing and cost by downgrading the compute sizing and selecting resource SKUs just to minimize costs, that would not be able to handle peak user traffic thereby providing bad customer experience.

All the three CSPs provide very flexible and multiple alternative options to tune the environment that provides wonderful customer experience. While designing the architecture we have to select the right components i.e. right sizing of the resources that would be able to handle peak user traffic and also balance the cost within our defined limits and control. Sometimes we need to trade off performance against costs in order to provide an efficient and wonderful customer experience.

If the end user i.e. customers of the organization is not happy using your platform/apps/website etc. they would stop using your product and most probably switch to other products of your competitors. It would result in considerable business loss which you definitely do not want….right?

8. Lastly but optional consideration is market share, older presence and maturity of the CSP

According to me, this factor does not make any difference because all the three major CSPs we are comparing have a considerably good amount of presence in the market (AWS has the most longer presence) hence they are all mature and provide almost similar categories of products.

This is again a subjective matter and other factors discussed above might influence your likings and decision making process. The next factors i.e. Data Security and your Industry types also influence decision making some times.

9. Security of your data on the cloud

Cloud service providers follow Shared Responsibility Model with respect to security and compliance. The Shared Responsibility Model is a security and compliance framework that defines responsibilities of cloud service providers and the customers or securing every aspect of the cloud environment, including but not limited to infrastructure, hardware, data, endpoints, operating system (OS), configurations, networking and access control.

It defines that the cloud provider such as Amazon Web Service (AWS), Microsoft Azure, or Google Cloud Platform (GCP) should monitor and respond to security threats related to the cloud itself and its underlying infrastructure. Whereas end users, including individuals and companies, are responsible for protecting data and other assets they store in any cloud environment.

People often misunderstand this shared responsibility concept and assume that workloads as well as any applications, data or activity associated with them are fully protected by the cloud provider. This can result in users unknowingly running workloads in a public cloud that are not fully protected, making them vulnerable to attacks that target the operating system, data or applications.

Cloud service providers (CSP) are already make themselves compliant with regional or global government regulations with respect to data security and compliance related to the cloud itself and its underlying infrastructure. They obtain certifications like ISO, HIPPA, GDPR, PCI DSS etc. as applicable to run their infrastructure in the specific region.

Hence as a user and cloud solution architect we need to design our architecture in a secure and compliant manner specifically with respect to the applications we are hosting and data we are supposed to store over there.

Organizations falls under the category Banking, Financial Services and Insurance (BFSI), Healthcare Industries are very cautious about data security and privacy because most of the time transactions performed by the users on those platforms contains Sensitive Personal Information (SPI)/Personally Identifiable Information (PII), Credit Cards or Bank account related information, Patient records etc. which needs to handled securely and in a compliant manner.

They usually are very reluctant to deploy their infrastructure completely on a public cloud, instead they sometimes go for hybrid model i.e. integrating cloud with their on-premises data center or using hybrid services like AWS Outposts that use dedicated hardware racks provided by AWS and deployed them at the customers data centers. It extends AWS cloud to the customers premises and all major services like EKS, S3, EBS, EFS, RDS etc. could be deployed in AWS Outposts Racks locally and they run those services in colocation with services deployed in the data center side by side. I was working with a banking client from the Middle East earlier who used such a solution in their environment.

Similar solution available with Microsoft Azure as well called Azure Stack however I don’t have much experience with it and hence it needs to be explored. Google GCP does provides Anthos however that is again a hybrid solution related to container technologies and Kubernetes i.e. GKE.

Some realistic examples from different client projects I worked on in the past

Example 1: For example in one of my client projects earlier, I was responsible for designing a robust cloud Infrastructure architecture to host a newer distributed microservice based web application. Though they were using Microsoft Azure already at some level, they were still open to explore and compare other cloud CSPs i.e. AWS and GCP. Hence I had to discover their existing infrastructure along with their cloud usage.

After discovering and understanding their environment, we have narrowed down to a few points mentioned below that could be the motivational factors for further exploration.

  • Their current cloud contract.
  • Their experience and expertise with Azure
  • Pricing and Cost

After doing more deeper understanding, questioning and brainstorming, we have identified that they are using a considerably good amount of Azure. They are using many SAAS, PAAS and IAAS products already in the cloud. They have also deployed their older legacy ERP applications on Azure VMs. Their existing legacy web applications were also running on Azure VMs. Finally they could not confirm or highlight any major problems or issues about the usage of cloud services except scalability, high availability or performance which could mostly be due to the legacy design of their existing applications and also due to legacy design used even in the cloud for hosting those applications. Hence we could not find any major motivational factors for moving out of Azure.

Now the other factor of pricing and cost, that comes closer to AWS and GCP with very less deviation hence that is also not a very strong motivational factor here. As a result, we have finally recommended to continue with Azure and created the architecture. design using newer services on Azure.

Example 2: Earlier I worked with one major banking customer located at middle east who migrated many of their IT Infrastructure to AWS from on-premises data center and they use hybrid technologies like EKS, S3, EBS, EFS and RDS on AWS Outposts in order to run the workloads in secure and compliant manner in colocation with on premises legacy databases like IBM DB2 etc. Since all of them are located locally in the customers data centers itself, there will less latency involves with data transfer. They put those non critical service on the public part of AWS which does not posses security threat and those are publicly available components.

Example 3: Worked with one of the leading investment banking organization earlier who are an AWS shop by themselves. Their entire IT infrastructure is running on AWS. They migrated all of their workloads to the cloud. At least I have not seen any on-premises services over there during my tenure. May be they are using or exploring other CSPs as well along with AWS in a hybrid model, however I didn’t get the opportunity to work with such hybrid platforms over there.

Conclusion

After working side by side with many clients in my long tenure, it has been observed that the main crucial motivational factor of selecting CSP after analyzing all factors discussed above and narrowing down is the Pricing and Cost. It again depends on your existing relation with the CSP and your bargaining capability to obtain discounts and offers etc.from the CSP. Other factors would not impact much because they are all mature and already spend considerable amounts of time in the industry.

If your decision is finally on the basis of Pricing and Cost, I would suggest to check their reserved instances and savings plan and compare them between the three CSPs and also check if you can leverage their spot instance pricing plans in any way because that would help in massive reduction in costs where the work loads involved are batch oriented and less critical.

Also check if the types of compute instances to be used either independently or as part of any kind of a cluster e.g. Kubernetes cluster, that suits your specific requirement is available with the CSP or not. Ideally similar instance sizes should be available with all the 3 CSPs.

You need to check and validate other specific requirements like IOT, Data Management & Analytics, AI and Machine Learning related services etc. Please review the availability options and pricing of the related services and make a decision. Also check if the related managed services provided by the CSP fulfills your specific requirement or not. In my experience, such services cost massive amounts and add up to a huge amount over the base pricing. Hence explore and negotiate properly before taking the final decision.

#########That’s the end of this blog. This topic is in itself very big and needs lots of exploration and analysis and it’s not always possible to capture every minute points to be included.##########

Suggestions and comments for improvement are highly appreciated…😊

4 responses to “Cloud Service Provider (CSP) comparison & value proposition for choosing between AWS, Azure and GCP”

  1. Great post
    Great blog post! The comprehensive analysis of factors to consider when selecting a CSP for IT Infrastructure migration to the public cloud is really helpful.

    I have a question: In terms of security, what are some best practices that organizations should follow to ensure the protection of their data on the cloud? Are there any specific certifications or compliance standards that CSPs should have to ensure data security?
    Johnie
    AiRiches.Online

    Like

    1. Bibek Chatterjee Avatar
      Bibek Chatterjee

      Hi Johnie,

      Thank you for the review and appreciating my efforts!😊

      In order to address your question on cloud security consideration, I have published another post on the topic. Hope you will be liking it..:)

      Security and Compliance considerations while selecting a Cloud Service Provider (CSP)

      Regards,
      Bibek

      Like

  2. […] Cloud Service Provider (CSP) comparison & value proposition for choosing between AWS, Azure and&… […]

    Like

Leave a comment

Trending