So, armed with an SDL Tridion 2013 license file and the Building Blocks MSDN account, I set about creating a one box solution in Azure.
Choosing your Virtual Machine
Tridion, due to its power, needs to live in an Infrastructure as a Service (IaaS) environment, which Azure offers in several types.
So, the first step in creating a Tridion environment in Azure is to determine the architecture you want to create, and the types of machine needed to realise it.
Azure offers four high level server types, of which two are relevant to this post
- Windows Server – Servers running several variations of the Windows Server operating system (OS), ideal for the Tridion Content Manager (CME), scaling out your environment or content delivery (CD) servers.
- SQL Server – Servers running several variations of the Windows Server operating system pre-configured and licensed with SQL Server. Ideal for content manager and content delivery database (DB) servers.
Next you need to choose the specifics; the desired OS and SQL versions, as well as the size of the instance. This largely depends on your architectural decisions and usage expectations (the beauty of the Cloud is you can increase this later, when required).
For this proof of concept, I chose to run a single machine environment (CME, CD & DB all on one server), and to use one of the gallery images available within Azure:
|Operating System||Windows Server 2008 R2 SP1|
|SQL Server||SQL Server 2008 R2 SP2|
An important note, you cannot use Azure SQL Databases, as this runs a custom version of SQL Server not supported by SDL Tridion 2013.
I have deliberately not gone into more advanced techniques, like building a machine based on a pre-configured Virtual Hard Drive (VHD) or cloning machines. For now let’s keep it simple.
Building your Virtual Machine
Once chosen, the server takes a couple of minutes to provision and then you are ready to begin. No more waiting weeks for IT to create your virtual machine! Once familiar with the Azure interface, you can create a virtual machine and be working in less than 5 minutes.
Before jumping to the new Tridion 2013 PowerShell database scripts, there are a couple of things you need to do first.
- Install Microsoft .NET Framework 4.0 or higher
- Create an ‘MTSUser’ local user account
- Follow ‘Configuring Microsoft SQL Server database server’ section of the Tridion 2013 install manual
- Enable the SQL Server ‘sa’ user login; again, out of the box this is disabled
If using Windows Server 2008, like me
- Upgrade to PowerShell 3.0
Once all the prerequisites are out of the way, it is time to run the PowerShell scripts as described in the install manual.
Installing The Content Manager Server is a simple process, again, following the install manual. A couple of points to note:
- Install the legacy pack (only if required)
- If you allow the Tridion 2013 installer to add the IIS server role, then avoid port 80 with no hostname, as you will get an install error due to a clash with the default IIS website. My preferred approach is, to manually add the IIS server role before installation, and delete the default website.
- Personally, I also would add in a step, to install the Razor Mediator, but that is my preference.
Finally, after following the steps to install content delivery, you are all set, with a Tridion 2013 environment in the Azure Cloud.
In this POC, I am keeping it simple; I will be publishing directly to the same server as the CME. Other publishing options are on my agenda and discussed later in the post, but for now they are only in the idea phase.
What else is possible?
This is a very simple architecture, and only to prove that Tridion 2013 can be hosted in Windows Azure as well as Amazon EC2 and most other IaaS Cloud platforms.
At Building Blocks, we have much more complex infrastructures hosted, and managed, in the Cloud in all sorts of different configurations, as discussed in Can Tridion Fly?
I am planning several followup posts, exploring Tridion in the Cloud, in which I will be investigating what is possible on the content delivery and authentication side of things. My initial thoughts are:
- Extending this solution to publish from the Cloud hosted Tridion 2013 environment to Windows Azure Web Sites, Cloud Services and Mobile Services platforms. These platforms provide the effortless (even automated) scalability which is the Cloud’s crowning glory, and integrating it with the Tridion CMS will be a winning combination. This approach should also be transferable to internally hosted CME environments using the Cloud for content delivery only.
- Integrate local and Cloud active directories to allow seamless transition between internal and external hosting.
Watch this space for more Tridion Cloud related posts soon.