Starting around two years ago we started moving all of our internal business applications, tools, and web properties over to Microsoft Azure.  As with any transition there were bumps in the road but overall the move has been a huge blessing and very positive experience for us.  We have seen a dramatic decrease in total cost of ownership (TCO) including much lower hosting and maintenance costs.  It’s also been really nice to have easy access to everything through the management portal.

What We Use

We currently have a wide range of sites and services hosted in Azure using everything from Azure Websites to Recovery Services.  Here’s a list of all the Azure functionality we currently utilize:

  • Azure Websites
  • Cloud Services
  • SQL Databases
  • Table and Blob Storage
  • Recovery Services
  • Virtual Machines
  • Mobile Services
  • Add-ons
  • Azure Active Directory

How We Use It

We have all of our internal systems and public web properties hosted on Azure.  We currently have three internal business process applications running on a combination of Virtual Machines, Azure Web Sites, and SQL Servers.  We also have our two public facing web properties, Wintellect.com and WintellectNow.com, hosted on Azure Websites and utilizing a combination of storage services.  There’s a ton to talk about so I’m going to cherry pick a few specific topics for this post that are especially interesting.

Single Sign-on (SSO)

We are constantly finding new and cool ways that Azure improves how we run our business and work with our customers.  One of those ways was to use Access Control Services (ACS) to provide a SSO experience for all of our applications.  This was quite easy to set up and provides us with great value from an end-user point of view.  This might seem like a small thing but you really take a measurable chunk of effort away when you no longer need to write or maintain authentication functionality for any of your applications.

VMs for Training Hands-on-Labs (HOLs)

At Wintellect we do a good bit of training both internally and externally.  HOLs are a big part of almost all of our training because learning by doing is one of the best ways students learn and commit that knowledge for the long term.  Setting up student machines for HOLs has always been a pain and has quite frequently eaten up valuable time which should have been spent teaching valuable concepts and practices.

This is no longer a problem as long as you have decent connectivity.  Later this month we will be delivering a full-day of Azure training as a pre-con to the DevLink conference in Chattanooga, TN.  The focus of this training event is Azure so we thought it would be a great idea to not only teach it but also utilize some Azure services during the event.

The VM services in Azure allow you to spin up VMs instances only when you need them so we will be able to spin up machines for each student at a total cost of $3.00/hr.  For twenty students this would mean an aggregate cost of just $24.00 for the 8 hour time period we needed them; this was a no-brainer for us.

image_thumb16

Furthermore, we will be able to tailor make the VM image prior to the event making sure that Visual Studio, HOL source, and all the appropriate Azure tools are tested and ready to go.  This means that on the day of the event we will simply provide RDP information to each student, spin up the appropriate number of VM instances, and hit the ground running without any of the standard machine prep.  This is such a cool way to use the Azure tools available to us to provide students with a better experience.

There are a few tickets left for this DevLink pre-con so click here to see event details and register if you can be in the Chattanooga area Tuesday August 26th.

Staged Website Deployments

Everyone should have some strategy to deploy their application in a staged manner so functionality can be tested and vetted prior to going live.  For our web properties hosted via Azure Websites we have employed two different strategies.  Initially, we created totally separate websites to perform as beta, staging, and production sites.  This worked well but was not optimal from a deployment standpoint since there was no standard way to promote releases from one environment to another or to roll back a release if something went wrong.

Recently deployment slots have come to our rescue.  Deployment slots can be thought of as separate sites which run under the umbrella of a single Azure Website entity.  For Wintellect.com we have three additional deployment slots which can be seen below.

image_thumb14

Each of these deployment slots provides a specific URL that will provide users with access to the website deployed to that specific slot.  It’s important to note that resources are shared across the main website and all deployment slots so you should make sure that your usage of sites deployed to the various slots does not impact the performance of your main website.

Swapping deployments between the various slots is a breeze, albeit maybe a little too easy.  Deployment slots is a preview feature so it’s certainly possible that the functionality and experience will change prior to being released.

image_thumb11

Conclusion

Azure rocks!  Seriously, we have had a remarkable experience migrating all of our applications and web properties to Azure.  We’ve seen performance gains and cost savings across the board.  Our monthly spend on Azure services is 1/5th what it was when we were using a traditional hosting provider and as I mentioned, performance is better.  This translates to thousands in savings each month.

Microsoft Azure has turned out to be a great cloud platform for us and it could be just as great for you too.  We would love to teach you more about Azure and help you adopt the platform in your organization.

Click here to contact us today to get the conversation started.