I don’t remember exactly what my tipping point was. Maybe it was the seemly longer hold times with GoDaddy technical support. Or maybe it was the SPAM delivery issues using GoDaddy’s default SMTP server (relay-hosting.secureserver.net).
Or maybe it was just Carl and Richard from .NET Rocks and how much they and their podcast guests continually talked about Microsoft Azure.
Whatever the exact reason was, I recently jumped into Microsoft Azure head first by recommending to a client that they migrate their web application from a GoDaddy Shared Windows Hosting account to Microsoft Azure.
For those out there who may be considering the same thing, this blog goes over a couple lessons learned from this experience.
Why the Switch
This migration was for an organization called the American Academy and Board of Regenerative Medicine (AABRM). The organization is pretty new having just been established in 2015 and their website was new as well and didn’t have much traffic to it. To GoDaddy’s defense, the site (for the most part) was running just fine. There was that SMTP delivery issue I mentioned above and just one short server outage that I was aware of on that shared hosting platform. But overall it could have potentially been hosted with GoDaddy for quite a while and really been okay.
But AABRM was expecting to grow their membership base and didn’t think a shared hosting account would support its needs for long. So the primary motivator for the switch to Azure which I imagine is the selling point for most organizations was scalability and being able to add resources if CPU usage meets a certain threshold.
The Technology Being Migrated
The AABRM website was an MVC ASP.NET application with a razor view engine and C# code base and used Bootstrap as the html/css/javascript framework. There was a fairly small SQL database that powered a searchable member directory, member login area and membership application. The membership application included a step that allowed potential members the ability to upload their resume which would later be used for membership approval decisions.
Lesson Learned #1: Understand the Azure Free Trial and $200 Credit
If you do a Google or Bing search for Microsoft Azure (or follow the resource link at the end of this blog) you will stumble upon a free $200 credit to start an Azure account.
This is a great incentive, however one thing to note on this is that the $200 credit is only good for the first month of the subscription and whatever balance you have after that will go away. This part was a bit misleading for me as Microsoft does a really nice job graphically displaying your current monthly consumption rate and how much you will owe for the month.
After a few weeks, I was foolishly thinking how awesome this migration is going to end up being because I thought this credit would almost pay for AABRM’s hosting for the entire year.
In hindsight now that the free credit is gone, I would have played around a bit more for the first month and tried some of the more advanced Azure offerings like the Internet of Things (IOT) Hub so the credit didn’t go to waste.
Nonetheless at the end of the first month of subscription cost for the month was only $18 leaving me $182 of the credit that went away.
Lesson Learned #2: Become familiar with Azure Subscriptions and App Service Plans
This sounds like a no-brainer but in cases like mine where you have to sell the client that the move will be cost effective over time, it’s not. For many it is a hard pill to swallow to go from a fixed yearly hosting cost to a pay-as-you go service offering so being able thoroughly explaining how the App Service Plan pricing works will help said pill swallowing.
When you create an App Service plan, Azure will default the plan to their S1 Standard plan which they estimate at $74.40 per month. For a small organization like AABRM this would have been a big jump from their GoDaddy $7.99 per month plan. I initially setup the App under S1 plan and spent a week of development paying for way more resources than necessary for development and testing. In fact if you look at the screen shot below it is a bit confusing at first because Azure makes it appear as though there are only (3) plans available to choose from
But if you click on the small View all circled below this will open up their more affordable small business offerings like the D1 plan (estimated at $9.67) and Free plan (F1 Plan).
On that note, if you can develop under the F1 (free) plan definitely do it. This will get you access to most the resources you need and it is a very easy process to scale up once you are in production. The only problem is you can’t associate a custom domain with the F1 plan so test and review links you give to customers will use the default Azure hosting site: http://CustomName.azurewebsites.net
And my final tip (probably again a no-brainer) but make sure to change the default App location during initial setup. Azure will default to an East Asia location but there are many U.S. location options available in the dropdown if that is more applicable to your audience and where most of the application traffic will come from.