Umbraco Cloud Hosting on Microsoft Azure
I was asked to research two technologies I had a keen interest in, to see if they could work together and be used as the basis of an Enterprise Solution for a big client. It had been decided an Umbraco cloud website running on Azure should be used as the chosen soltuion. Umbraco has been around for a while now. I have setup and used a personal instance of Umbraco for a good few years.
Umbraco has been built using Mircosoft .Net MVC Framework and is rapidly becoming a prime candidate to be installed on Microsoft’s cloud offering Azure. I was asked to investigate an Umbraco cloud instance on Azure as a proof of concept to find out the best way to install and run the Umbraco CMS.
At the time of my research. There were three ways you could deploy Umbraco cloud on Azure. First, by installing it on a Virtual Machine that you managed yourself. Second, Azure offered an App Service installation of Umbraco, which doesn’t require as much up front work as the first option. It still required a bit of configuration at the start. Third was Umbraco’s own Umbraco as a Service (UaaS) offering. Which is a paid service where you enter minimal configuration and Umbraco’s clever automated setup does the rest.
Off the bat I decided against UaaS as it was a lot more costly. You have to register a credit card before trying out their service. As the company I worked at the time for already had an Azure pay as you go subscription. I felt there was no need to pay for UaaS. Another reason not to use UaaS was that you could not access the underlying infrastructure or code that the service ran on easily.
I decided against option 1. Managing a Virtual Machine. Installing a SQL database. Setting up an IIS website all to host Umbraco seemed liked too much work. When you compare it to Azure’s app service installation of Umbraco, which setups and manages the SQL database and website hosting for you. It was a no brainer. As it is part of the Azure App Service offering you can deploy code and access any underlying service as and when you need. Microsoft also takes care of all the updates and maintenance for you. This allows you to then concentrate on getting your Umbraco website up and running.
Getting An Umbraco Cloud Instance Working
The setup and installation is reasonably straight forward. Giving both the underlying SQL server and SQL database a name. Also specifying a username and password for both. Once all the database configuration and installation has been configured. You are automatically redirected to a site to setup your Umbraco website. Give the screen your name, email address and a password. Finalising the install only took a few minutes. Hey presto a website.
Out of the box Umbraco installs a basic website with 4 or 5 pages, along with a impressive website theme template that you can quickly design any new pages with. I wanted to style the website using the clients marketing website colour scheme. After a bit of searching I found a website called uskinned which would build you an Umbraco theme template using 3 or 4 colours of your chosing. Umbraco is fairly straight forward in terms of installing new themes and packages (Reminds me of WordPress).
Design and Styling
After installing the new theme, I quickly created a home page for the POC website using Umbraco’s grid builder. Again this is really straight forward to use. So, I had a new website with a purpose build home page. Styled in the colours of the clients marketing scheme. It wasn’t even morning brew time yet. A few hours later I had pretty much finished the proof of concept website.
One of the main requirements from the client is they need a specific user flow from the home page, leading the user to a form which they could then complete. Back to Umbraco’s page builder. Building the pages that made up the user flow along with the endpoints that contained the forms hadn’t taken long at all.
To create a form within your website. Umbraco offers an extensive form builder which you can easily drop into any webpage. This is free to use for a short period of time but it is a paid service. I recommended to the business that they should pay for the builder. It is far cheaper than paying for developer time to either create a form builder or create each form within website page as needed. Departments such as marketing teams can create and maintain any forms within the website using the forms builder.
I created 8 different forms. Matching the requirements from the clients specification. Each form was integration into a new page within the website. To try and entice the client into choosing the solution I also created a login screen the mirrored their current login system (This wasn’t a requirement, as the goal was to have a website that a customer had to login to. It was a case of showing them what we could do with Umbraco. I was hoping this would influence the client. Why go with something else or another software house if we have already done most of the work already?). All in all it took me a day or two to get the proof of concept ready for the demo to the client.
IT WORKED. Luckily the client went with Umbraco and our company for their new website development.
Umbraco is very easy to work with. If you are familiar with WordPress or other popular CMS’ then you will be able to navigate around Umbraco’s admin area with no problems. Running Umbraco on Azure is also another benefit. You no longer need to worry about the underlying infrastructure that it takes to run Umbraco. It makes sense to let Microsoft take care of that you.
Is Umbraco easy for developers/programmers to use? Personally I really like using it. Umbraco is built using the C# .Net MVC framework. Any developer who has experience in this framework should be able to pick up any development tasks.
Learning how to use Umbraco can take a bit of time. Getting used to how Umbraco stitches together on top of the MVC framework can take a or reading and research. Businesses that already employ .Net developers, then choosing Umbraco is a very sensible option. Any development team should be able to easily extend and enhance the websites functionality meeting your business needs.
What about for businesses. I have already touched on the fact you can take advantage of your existing developer skills. Umbraco recommends installing their CMS using SQL Server as the underlying database. Giving businesses scaleability. SQL Server can scales better than other database such as MySQL and can be tailored for Enterprise solutions. Umbraco comes with an in-built API, built using Microsofts WebAPI framework and ships out of the box with Umbraco. You can then begin consuming the API or even construct your own custom endpoints to allow other software solutions you may have talk with your Umbraco website. Again this gives businesses the option to scale and integrate Umbraco with other systems very easily.
For a Proof of Concept Umbraco and Azure played really nicely together and I loved using Umbraco. I wouldn’t recommend using Umbraco if you are a part time blogger. Businesses or start-ups that are looking to build a new website should seriously consider using Umbraco on Azure. As a business owner you won’t be limited in growing your business moving forward.