What do you like best?
The ease of deployment of .NET projects to Azure is incredible. The system truly was built with the .NET ecosystem in mind. Integration with Visual Studio is wonderful, and managing the deployment lifecycle through Microsoft's ecosystem is often very seamless. In particular, the ability to configure and monitor auto-scaling options to allow for cost savings and confidence in production systems is a huge benefit over other platforms.
What do you dislike?
Windows Azure's reliability can go in waves. After a year and a half of using Cloud Services, we have seen periods of downtime that were often inexplicable. Typically, services would come back up as inexplicably as they went down. Nonetheless, these issues are few and far between, and Azure's customer support team has always been very responsive.
Recommendations to others considering the product
Read the documentation before writing any code. It's often confusing, but building things right the first time around can be a huge time-saver later on.
What business problems are you solving with the product? What benefits have you realized?
Our original decision to use Azure was its seamless integration into the .NET ecosystem. We have several Windows Servers deployed through Cloud Services, and they all access a common back-end built on Azure Tables, Queues, and Caches. Because the SDK is easy to work with, linking all of those backend components together is easy. It's simple and straightforward to get up to speed, and everything is managed through one portal.