Same old question for engineers- AWS or GCP or Azure and you are still confused about what to choose between them for your start-up.
Don’t worry we’ll pretty much sum up everything in this article. Welcome to part 2 of what an early Saas start-up considers between AWS, Azure, and GCP. In this blog, we will discuss and dive deep into the critical technical aspects of all three.
Free tier/Starting benefits:
Having a free tier is very important for startups since you need to evaluate the cloud providers and whether they are going to suit your needs. As well as doing a cost analysis on how much running your workloads there would cost and since you are a startup and you can’t afford very high cloud bills, this is where the starting benefits would help you develop on the cloud without worrying too much on the bill.
AWS: Offers AWS activate which gives you access to up to $100,000 in AWS Activate credits and access to AWS technical support, which helps you in getting advice and support from AWS which helps if you are just starting on developing on Cloud
GCP: Offers cloud credits for two years (up to $100,000 each year) and guidance from Google engineers. This helps you in getting advice and support from GCP which helps if you are just starting on developing on Cloud
Azure: Offers upto $150,000 credits and 25+ free services that can be used to develop and run your applications along with technical support from Microsoft which is beneficial if you are new to cloud development.
Ease of onboarding new engineers
- GCP and Azure have a better browser console than AWS.
- AWS documentation and community support are better than GCP and Azure, with GCP being especially unclear and esoteric with how their APIs work. Plus when we started building over GCP the documentation was very outdated in most places.
- APIs ease of use is an important factor to consider. AWS offers very straightforward APIs, whereas GCP has a very complex way of getting the same information through APIs. Case in point, to write a script that would get the Average CPU utilisation of all to compute instances for a week with samples over a period of an hour. Doing this in AWS can’t be simpler but with GCP, you have to go through mountains of documentation to get this, especially the aligners and reducers being very esoteric.
- GCP and Azure have better options for experimenting i.e In GCP you can create and delete extermination projects or resource groups quite quickly. This is not the case for creating new AWS accounts, cleaning up has to be given extreme consideration.
- Community support is extremely important when building on the cloud because you need people to answer the problems/doubts that you have. AWS community support is way better than the rest, so you get most of your questions answered by people who have already faced the same thing.
This is especially important since all cloud providers keep introducing new services, and you need to ensure that the services you are using are going to be supported moving forward, AWS keeps supporting all their old services and previous versions of current services, for example, EC2 classic is still being supported.
But with GCP, they have multiple deprecated and conflicting versions of the same service, an example being stack driver, which was deprecated into 2 separate services for logging and monitoring or under cloud operations suite.
Fine-grained control / Abstraction
These are 2 mutually exclusive qualities for the most part, for example abstracting compute by providing load balancing, and deployment helps in getting our application up and running without having to spend time on figuring out the ins and outs of how/what you should consider before deploying your application. On the other hand, it removes the fine-grained control that we need in case we have to tweak something according to our needs.
- AWS offers a lot of abstractions over computing, which can help you get started with running your application. With lightsail and beanstalk, you don’t have to worry about the deployment, scaling, and balancing of your application. Here both of them are using EC2 under the hood, but you get the simplicity as well as fine-grained control on the beanstalk, with lightsail being even simpler without the same fine-grained control. AWS also offers Apprun
- Azure has the same with Spring apps, App Service, and Service Fabric.
- GCP has the least options with only the app engine.
Okay, so here is a one-liner for all three platforms and you can decide which one is suitable for your business-
Use AWS if:
Your team has highly skilled and experienced engineers who have worked with the AWS platform before and they need the finest third-party ecosystem and unique external tools (missing in Azure and GCP).
Use Azure if:
You want to build and run a static website/API+SPA, are familiar with C# or TypeScript, require the simplest approach to manage the complexity and also want first-party IDE integration that is extremely extensive.
Use GCP if:
Your team lacks some cloud expertise, your primary product relies on HTTP APIs, and you require the greatest possible working environment for containers, whether they are Kubernetes-operated or Serverless.
So, all things considered, it is preferable to state that it is not about selecting the greatest cloud providers, but rather about selecting the best-suited cloud provider based on your requirements for your startup.
Here we come to the end of part 2 of our blog “Big 3 for start-ups”, hope it was a help in the process of choosing the one for you 😀