David Justice first introduced me to the cloud while at Edgenet in Waukesha, WI back in 2008. At the time, I was a ASP.NET developer using C#, but also had a Java background. I would need to just off my Python skills if I were to start using Google App Engine.
Software like anything in life is full of trade-offs, and cloud computing with Google App Engine was no exception. Not having to worry about hardware was great, but the trade-offs introduced me to some shortcomings of cloud services. In addition to being forced to use Python, the tooling and reporting at the time was rather spare, and there were some application restrictions which could stop your development in it's tracks. Still, Google App Engine was a good introduction to platform-as-a-service cloud computing. I never did much with Python on Google App Engine other than trivial applications which were never very useful, but I am glad that it got me into Python again and I got to learn Python's MVC framework, Django.
Later, Google App Engine adopted Java as another language option, so I decided to become a Java developer once more. In school, and even after school I was primarily a Java developer, so it was easy getting back into it... at least it should have been. As a Java developer wanting to use a free IDE you had to choose between Ecliple and NetBeans. I chose Netbeans, which was not supported by Google App Engine. Having to now use Eclipse, I started the journey of picking up Java once again, learing the latest web technologies, and writing simple web apps in Ecplise. This development story ended up being no better than the Python story, and so it came to the same end; having learned much, but accomplished little.
Amazon's early cloud was a step in a different direction.
Beanstalk was not out yet, or maybe had just come out, but what was really hot was EC2. I didn't get involved with EC2 since what I was really looking for was platform-as-a-service and not just scale-able virtual machines. i liked what Google App Engine was doing, Amazon's EC2 was a proven technology, but I needed to keep looking for what was right for me.
When I was first introduced to Microsoft Azure, I was amazed at how complete it was. Microsoft really integrated everything a developer needs to build and deploy a web application.
My first introduction to Microsoft Azure was back in 2013 when I was doing application development and support for Johnson Controls International in Milwaukee, WI. Initially what I liked best about Microsoft Azure is that I got free money to spend on Azure with my MSDN Ultimate subscription... every month! Since I was getting free money to spend, I figured I might as well do something useful with it.
For me, the development story of choice writing ASP.NET MVC apps to be deployed as Azure Websites. In this scenario, I'm able to use Visual Studio to develop just like normal, but instead of having to deal with disk, CPU, memory on a physical machine, I can easily deploy to my Azure website and scale it up or down to fit my needs.
Along with being able to deploy ASP.NET web applications easily, I also have a handful of virtual machines running on Azure for various purposes. Running critical application in the cloud is great when needing to upgrade local workstation hardware, or when you simply want to work from multiple different machines. Being able to work on a virtual machine in the cloud lets you work from anywhere and on anything as long as it has an internet connection. It takes some trust to allow a cloud service to host a virtual machine for you, and it can be more expensive, but the trust can be gained by knowing you can always get a backup if something happens, and there's many ways to make it cost effective.