I've been working with Microsoft Azure for the last couple of years and while Azure seemed really good at first I've developed a more balanced view over time. These pros and cons are based on my own experiences with Azure, I'd be glad if you could contribute your own (or comment on mine) in the comment section below.
Let's start with the positive...
- It's cheep
Take a look at the Azure Pricing Overview - it's cheep. The most basic variant of each service is just a few dollars a month, some of them are even free.
- It's rich
Microsoft Azure is a smorgasbord of services to choose from. If Microsoft's offerings isn't enough, there are 3rd party services like SendGrid or NewRelic available through Microsoft Azure Marketplace. If that's still not enough you can install your own applications in Virtual Machines.
- It's solid
Azure services like blobs, queues and table storage are rock solid - they just work, no matter what you throw at them.
- It's integrated with Visual Studio
Visual Studio is the number one IDE and the integration between Azure and Visual Studio is just great.
- It's global
Azure has data centers pretty much all over the world and you can get the majority of services in any of them. It's perfect if you are making a global product.
Cons- It's expensive
But I thought you said it was cheep? Yes, at a first glance it might seem cheep but when you start using it it soon gets apparent
that you have to scale up quite a bit before your instances gets usable - even for simple operations / small load. To be frank, Microsoft Azure gets expensive pretty fast.
If you compare the cost, it might actually be cheeper to rent a VPS / buy your own servers to host your application. Try to evaluate the performance needed before you start coding so you get a picture of what it will cost you.- It's pretty low quality
Are they trying to do too much? Perhaps, because sometimes the quality of services, API:s, documentation and interfaces are just not good enough. And don't get me started on the Azure SDK - Visual Studio will crash several times per day, and it will freeze, and it will mess up your project files.- It's unfinished
Some services feels half done. And don't expect any bug fixes / new features once they are named "classic". You also still have to use both the new and the old portal.- It has an unclear road map
Services are suddenly marked as "classic". When will they be deprecated? Well even the support doesn't know (or may not answer). But it obvious that classic services aren't getting any attention from the Azure team.- It has no support for bugs
There are bugs in Azure, and plenty of them. That's bad by itself, but what makes it even worse is that you can't place a free support ticket for bugs to the Azure development teams through the official Azure support system. You actually need to pay for a support account in order to do this.