So I finally decided to take the plunge and start learning about hosting in the cloud. In the four years that I was out of the programming game, this has to be one of the areas that has seen the most rapid change and development. What was just starting to take off back in 2010 has now become a virtual necessity for most programmers, and is one of the most important things for me to catch up on. Seeing as most of my recent experience was in a .NET environment, I decided to get my feet wet with Azure.
It’s been quite a while since I’ve done any real web development, so it took me a few days to get up to speed with ASP.NET MVC 5, EF 6, and Azure, but after a weekend of tutorials and experimentation, I was up and running. The screenshot below is what I managed to create – a simple recipe website my mom has been wanting for years. Sadly, it’s far from finished, and is more of a quick demo to get me familiar with Azure. I doubt it will see true completion any time in the near future. Sorry mom!
I plan on leaving the site up indefinitely, or until Microsoft decides I can no longer host it for free. The code can be found here, on my bitbucket account. To wrap up this post, I’d like to give you a few of my first impressions of Azure, mostly pertaining to simple website development.
The Good
- Publishing to Azure couldn’t be easier. Right click your project in Visual Studio, select Publish… and you’re on your way. Incredibly simple.
- There’s tons of documentation and tutorials available, and a lot of them are pretty good. Getting up and running quickly with ASP.NET MVC and Azure was a breeze.
- When you sign up for Azure, you get $200 of free credits. Experiment to your heart’s content.
- It’s incredibly easy to choose which geographical region you’d like to deploy your site to, and more data centers are continually being added worldwide.
The Bad
- The pricing scheme is very complex, and is changing constantly. This is especially true for features like DocumentDB, that are still in preview, and haven’t been properly ironed out yet.
- The $200 in free credits you get for signing up expire after your first month. Use it or lose it. Because of how busy I was at the time, one month simply wasn’t enough to allow me to explore all of the areas I wanted to explore. Let my unused free credits rollover!
- Figuring out how to actually set my website to be 100% free was a pain. You’re only allowed one free 20MB sql database, and it’s a little tricky to figure out how to set it up. In addition, it looks like it might only be free for the first year. Very confusing. Here’s some more info.
- Azure, and the .NET platform in general, seems very geared towards big corporations and Microsoft partners. There’s nothing wrong with this I suppose, but as a mostly hobbyist developer, there’s a lot of cheaper, less complex hosting options available. In order to take full advantage of what Azure has to offer, I feel you really need to have a Premium or Enterprise license, granting you $100-$150 of free Azure credits monthly. I don’t want to fork out a bunch of money for hosting while I’m still in development (features like service bus and DocumentDB are cloud-only, and cannot be emulated in the Azure Emulator).
Great Resources for Getting Started
- Visual Studio 2013 Community Edition (Free)
- Getting started with ASP.NET MVC and Entity Framework
- Azure Friday Video Blog Series – great for keeping up with all the awesome new things happening in Azure
- Scott Gu’s Blog – lots of great info on ASP.NET and Azure