1) Windows Azure supports ASP.NET and Node.js, among other platforms.
2) Due to the Node.js supported library, Azure is capable of supporting the Map Reduce Infrastructure, Hadoop, for distributed data processing and number processing.
3) With the help of AppFabric Internet services, it can support Java, Ruby, etc.
4) Since the underlying Azure OS runs on Windows Server 2008 edition, it supports running all Microsoft Enterprise Applications, hosting services like IIS and many more.
5) Using Windows Azure Connect, various Virtual Machines can be easily connected with each other
6) Has support for multiple users & roles for management purposes.
Room for Improvement:
1) It is a well known fact that Microsoft has yet to upgrade its IaaS technologies for providing a near zero interruption triggered by Load balancers.
2) Physical security of data is a major concern for various IaaS service providers, and Azure is no different.
3) Though having data served from multiple data centers improves performance, it has increased the risk of data security.
4) Compared to other IaaS service providers out there in the market, Azure is a bit expensive.
It's true that to run various Microsoft Enterprise Solutions, Azure is the best option, keeping aside minor caveats. Unless your requirement makes it mandatory to use IIS, you should consider other IaaS service providers available in the market, which are comparatively cheaper as well. It has good support for various platforms like Java, Ruby, and PHP for websites. Windows Azure provides API's built on popular and robust technology like HTML, REST, and XML.