You may want to take the following with a grain of salt, but I do think there are a few valid concerns expressed herein.
Recently, I’ve been working on a little project for my wife – a website where she can keep track of upcoming running races. I figured it’d be an interesting little project that wouldn’t take me that long, and it would give me a chance to test out my recently re-vamped (non-entity framework) back end. Given that I’ve currently got a bunch of Azure credit, I figured I’d be an idiot to not use it. I’m beginning to question whether that was a good decision or not.
When working on Azure, I’ve come across the following issues:
The entire Azure portal feels like a bad beta.
The new Azure portal has a similar interface to Windows 8. This isn’t necessarily a bad thing, but navigating it is a pain in the butt. On Amazon, to navigate between resources, there’s a single menu down the left hand side that lets you quickly switch between resources. Want to look at instances? Click on the left. Want to look at elastic IPs? Click on the left. If you do want to look at some of the other services, you do have to navigate to the top menu, mouse down, then select whatever other service it is, but at least everything that is somewhat related is grouped together. Perhaps I’m nitpicking here, but I’m certainly not with my next point.
The Azure portal seems slow as molasses in January.
I don’t know what they’ve done, but it seems to take an inordinate amount of time to bring up any sort of details on a particular resource. Click on a web app, wait five seconds while the details load. And when they do load, they push whatever was previously selected off to the left. Want to see your web app settings? Click on a button, wait a few more seconds, and everything again gets pushed to the left, while in the mean time, you’ve got acres of screen real estate to the right that isn’t being utilized, sitting there completely empty. It seems like any time you want to do something, you have to wait several seconds for things to shuffle around, and a few more seconds for things to actually load from Azure. Yes, a second or two here or there doesn’t matter too much, but it does! And don’t think that this is something to do with my computer. I’m running a 30 mbps internet connection on a quad core i7 with 9 GB of RAM, and only one Chrome extension loaded (Ghostery). I suspect what it is that takes so long is the UI, or actually getting data from Azure itself. Next time I pull it open perhaps I’ll do a bit of profiling.
It isn’t just the UI that is slow, either.
A few days ago I was wanting a new database. I created a new database server, then created a new database. Once the sort of wizard-ish thing was over, an icon appeared on my Azure portal home screen saying that the creation was still in progress. This went on… and on… and on. Finally, after 45 minutes or so, I switched back over to the old Portal, and sure enough, it had finished shortly after I had started it. For whatever reason, the new portal didn’t get the hint that the job was actually done. There’s some seriously broken behaviour between the old and new Portal, and so far the new Portal seems not great.
Half the documentation references the old Azure portal, and half references the new portal.
This is especially true for documentation outside of Microsoft. Want to figure out how do some particular thing? Chances are, the first few Google search results will show you how to do it – on the old Azure portal. Microsoft really could do themselves a favour by asking site owners to update their documentation to the new Portal for, say, a $20 Azure credit. It’d cost them next to nothing, and they’d get consistent documentation so that everything references the new Azure portal.
The notification system doesn’t work well.
I understand the desire for a central notification system. I do. But when you start sending notifications for every little thing, it gets annoying. It seems that even something as simple as setting a web app configuration setting? That’s a notification. And whenever a notification does come in, there’s no way of telling whether it is something good or bad without having to actually open the notifications tab. This kind of freaks me out, as my first reaction is usually “oh crap, what went wrong now?”. Oh, it was just saving my web app settings? Then why didn’t it tell me that on the same UI when I clicked on the Save button?
They seem to have done away with the free 20 MB SQL database
When I first started poking around with Azure, I could have sworn there was a free 20 MB database option. I can’t find any trace of it at all through the new Azure portal. Plenty of blogs mention it, but nothing on the new portal. Is this a problem with the new portal, or is it something that isn’t offered anymore? I have no idea. And good luck trying to find out.
The difference between SQL Server and SQL on Azure is annoying
Maybe I’m just old-school, but there’s some subtle things about SQL databases on Azure that annoy me. First of all, I have to create a server before I can create a database. Given how Azure seems to isolate you from a lot of things, I’m surprised this step is necessary. 99.9% of the time, I bet most people don’t care about server specific settings, and only want to deal with database specific settings. Also, try to deploy an existing SQL Express database to Azure. You’ll find how to do this in the documentation, but it’s a completely convoluted process. The process for deploying a web app? Right click on the solution, deploy to Azure. Getting this to work with a SQL Express database was a real chore. First, I was getting a convoluted error message, which, turns out, meant that I needed a newer version of SQL Server Management Studio. Once I had that installed, it still didn’t work, and required a hotfix in order to actually display the correct wizard options when deploying. It seems like there’s a real disconnect between how the Visual Studio team and the SQL Server team went about implementing deployments.
Custom domains seems half-baked.
Yesterday I tried registering a custom domain through Azure. This was the cherry on the top of an already frustration frosted cake. I put all my info in, tried clicking OK/Save/Submit (or whatever it was the button said)… and it turns out I had forgotten to enter a country code. Once I did that… the OK/Save/Submit button was still greyed out. I had to close the tab/wizard thing, then re-open it, then click. Then, what did it do? Who knows? It sent me a notification saying that it had been submitted. Well that’s great, but I want the domain. There was also no indication of how the domain would be paid, or how much it would cost. And checking back a while later, there’s still no sign of the domain. It seems like custom domains is totally half-baked.
Pricing seems out of whack
Pricing with Amazon EC2 is pretty straightforward – they quite clearly list the prices for individual services in terms of hours. Want a t2.micro? That’s $0.02/hour. Pricing on Azure seems to be stated by the month (despite being charged by the minute?). Also, there’s some pretty huge jumps in pricing for certain services. For example, take a look at the pricing for ElasticSearch. The first tier is free. The second tier jumps up to several hundred dollars a month, and there’s nothing in between. (Or at least there’s no visible tiers between them). That’s brutal.
Again, perhaps half of these points are unfounded. In my day job, I deal with Amazon EC2 (and related) services, Python, Django, and PostgreSQL. At home, I’m attempting to do everything on Azure, C#, ASP.Net, and Microsoft SQL Server. That’s a lot to learn/take in, so perhaps a lot of this is just my own stupidity or lack of knowledge. But what I have experienced so far has made me incredibly frustrated with Azure as a whole, and makes me want to avoid it for future projects.