Microsoft vs Amazon on the Cloud

Amazon wins! Why?

Well, Amazon’s Python interface is a lot more lightweight and simple. It took me less time to get setup and start using Amazon’s S3 storage than it did with Azure. I spend a few hours fighting with Azure. I spent an hour fighting with Amazon. Things are intuitive with Amazon.

Microsoft has a really nice GUI but it wasn’t intuitive. I had a lot of trouble figuring out how to do things using storage accounts. I liked the idea of a storage account and to be honest I thought Microsoft’s Azure was well thought out but the whole level of complexity, lack of any straight forward documentation, and the heavy Python support library was annoying.

So far it seems like all I have to type is `pip install boto3`. For Microsoft, I had to figure out exactly what sub-module I needed. Then I had to install the right credential module if I remember correctly. I had this complicated login process where I needed to visit a URL to authorize my app and you know I never did figure out the proper way to do it.

I don’t hate Azure. Amazon didn’t win in my mind by leagues. They just won because in the end I built what I wanted quicker. It just worked. Also, Azure loses too because it was slow. I even opted out of the free tier with Microsoft and the entire service was slow a lot of the time. With Amazon I’ve always experienced fast speeds and it impresses me. There isn’t this six second delay between transactions and I think maybe Amazon’s core fabric is just simply faster and more adaptive.

I’d use Azure again in the future. They have some really nice services. I wish I could combine Azure and Amazon AWS. I was impressed by Azure in certain ways. I felt that their UI was really refreshing but UIs don’t mean the world to me.

I still had trouble with Amazon’s Python documentation. It was hard to find good examples. It was hairier trying to just simply find the methods the S3 client supported, and I blame that on Amazon and Microsoft not following either good Python practices or good documentation practices. They just seemed to either not connect the dots for me well enough or they made using help() within the language almost ineffective.

I find it is important as a Python user to be able to start a Python interpreter, load the Amazon or Azure client, and then use help to find the methods especially with a lack of solid documentation. It is possible better documentation existed and I think I did find the bulk of Microsoft, but it was hidden, difficult to find, or easy to miss.

I think a good example is some of these third-party libraries out there that have a website and it says here is how to download the library and then here is how to use the library. Well, the way Azure and Amazon do it you end up feeling like there is a sphegetti of documentation links. A literal spiderweb that could take hours to navigate.

I had to cheat with Amazon’s S3 client. I ended up having to use python’s type keyword to get the internal type of the S3 client then I had to specifically load up that internal type to enumerate the methods. I shouldn’t have had to do that. Worst case should have been that help(boto3_client) displayed the internal types I needed to load up but I give credit to the Amazon team that did the Python library because in the end it was a lot more intuitive than Azure or at least simple enough to dissect.

Another thing that bugged me was the amount of downloading that the Azure Python library had to do through PIP. I’m sure that is partly the reason they ended up making the whole install process complicated where you had to install individual modules. They likely got into trouble, but Microsoft has always been bad about their software being larger than it needs to be. I’ve always experienced a lot of anti-minimalism from Microsoft. Now, I’ve seen some big changes especially since they have a new core version of their OS last, I looked, and I suspect they are figuring it out that keeping it simple and lightweight is good, but it still reflects in Azure if you ask me that mentality of who cares how complex and large it is getting.