Lately I've been looking into writing Azure applications. I already know the .NET platform, so it's a very familiar development experience for me: all the libraries I know and love are there.
There are two aspects however that are new to me.
- The first is how to build systems that can scale up and be always on. There is a lot of support from Windows Azure in terms of runtime environment, libraries and services, and I think I've got a fair grip on them, but I'm still building the muscle of thinking about building highly scalable, highly reliable systems.
- The second is how to engineer the development environment and runtime operations. In other words, how to set up my environment correctly, design things to be able to run unit tests quickly and with flexibility, and how to maintain enough information flowing and stored in the system to be able to keep the thing going when it's deployed. It turns out that building in flexiblity and diagnostics can help in both cases.
If you're in a similar situation as I am, I can't recomment the Windows Azure How-To Index enough. It's a densely packed page with lots of information to get you going with practical tasks, and it's refreshed quite frequently.