When it comes to software development, you are going to need many things to support you on your journey. Some of those things include servers, hosting, backups, and even more! What do many of these things have in common? They can look to a common provider as their solution for cloud computing.
The three biggest players in the space are Amazon Web Services, Microsoft Azure, and Google Cloud. While you can't go wrong with any of the three, as they are all incredible services, there are for sure different pros and cons with each service.
We'll outline below what the pros and cons are for each service. It isn't up to us to make the decision for you, but what we can do is provide you with enough details to educate you to make that decision for yourself.
Amazon Web Services (AWS)
Founded in 2006, AWS is a subsidiary of Amazon itself. If you didn't know that Amazon does literally everything, well, here you have it. As a provider for cloud computing as well as APIs, AWS is used by individuals, non-profits, private companies, and governments themselves. If you have anything software, you are an eligible customer for AWS. EC2 is probably their most popular product, and is their virtual server service.
Pros of using AWS
With tons of different products, Amazon really does cover it all with over 18,000 available services. To name a few...
- Amazon S3 Bucket (cloud storage)
- Amazon DynamoDB (managed NoSQL database)
- Amazon EC2 (virtual servers)
- AWS Device Farm (testing apps on real devices in the cloud)
- Managed IT Services
- Regional data centers for faster delivery and response time
- Offers machine learning and predictive analytics
- Unlimited server capacity
Cons of using AWS
- AWS can be a very confusing place; even technical individuals get confused on this platform. This means that billing can also be confusing, which may be a deal breaker for some
- Regional storage is also a downside, as you are bound by your region. Some customers have complained regarding EC2 limits and other service limitations
- There have been many complaints about glitches on AWS's cloud computing efforts
Built by Microsoft themselves (yes, Microsoft also does a lot), Azure is a cloud computing service that also supports the development, testing, deployment and maintenance of applications. Through Azure, you can manage all of your applications, as well as services. Azure was initially released in 2010.
Pros of using Microsoft Azure
- Microsoft for Startups offers TONS of advantages for startups, so if you are just getting going, give them a look
- Azure has tons of services as well, to name some:
- Azure Kubernetes Service (simplifying deployment, management, and operations)
- Azure Cosmos DB (globally distributed)
- Azure DevOps (share code, track work, and ship software)
- Web Apps (creating and deploying web apps at scale)
- Big data and predictive analytics
- Relatively easy to use DevOps, IoT integrations, and Blockchain technology
Cons of using Microsoft Azure
- Azure tends to be a bit more hands on when it comes to maintenance during migrations to their system as well as for live applications
- Costs add up. With Azure, many are not good at optimizing storage and usage, so the costs end up being higher than it needs to be
- B2B focus is a pro and a con, as if you are a B2B company, you know that you are using a service that is loved by large B2B companies; if you aren't B2B, then you may be in over your head
Google Cloud Platform
Last but not least, we have Google Cloud Platform (GCP). GCP, like AWS, has a whole suite of services for all your digital needs. Their competitor product equivalent to AWS's EC2 is called Compute Engine, though many developers also love the Firebase product. Firebase was originally founded back in 2011 as an independent company and acquired by Google in 2014 to join its suite of services. Firebase now supports a wide range of web and mobile apps as one of the most popular cloud databases out there.
Pros of using GCP
Just like AWS, Google Cloud Platform offers a wide variety of services to its users, to name a few:
- Cloud Functions (running code without managing servers)
- Test Lab (testing your app on Google devices)
- Google Analytics (free and unlimited app analytics)
- ML Kit (machine learning for mobile developers)
- Efficient data management and storage with Firebase and Firestore
- Small and medium business analytics and AI
- Google for Startups also offers tons of advantages for startups who are less than 5 years old!
Cons of using GCP
- Google has had some issues when it comes to GDPR compliance and data privacy policies, so be sure to double check on compliance!
- Some people find their data storage as inconvenient as its main storage is a realtime database (can also be a pro!)
- As Google devices are Android focused, the services and offerings are much more Android focused than iOS (though their products can be used perfectly fine to develop iOS apps)
Let's Close it Up
So overall, all three are fantastic providers and will serve you well. They all do have pay as you grow models, meaning the smaller guys pay little and the bigger guys pay a lot. If you are an early stage startup, you shouldn't be paying for any of these services since they offer generous free starter plans, but as you grow, be sure to know what costs are right around the corner.
If you have more questions, hit us up at firstname.lastname@example.org!