A Guide to Self-Hosting in Sitecore

November 18, 2016 Mike SkuttaRick Tham

One North is a Sitecore Platinum Implementation Partner and Hosting Partner that has extensive experience hosting Sitecore on Microsoft Azure.  We offer managed hosting services that benefit from the power, flexibility, performance and reliability of hosting Sitecore on the Microsoft Azure Cloud.  While most of our clients choose our managed hosting offering on Azure, some may want full control and host Sitecore themselves.

There are numerous ways that you can host and deploy Sitecore.  Here are some options and trade-offs.

Basic Automated Deployment and Hosting Environment
This is a sample of a basic automated deployment and hosting environment.

  1. Version Control: All code is stored in a version control system. Typically, the version control system would be GIT or TFS (Team Foundation Server).  Environment branches would be used for production and QA environments. Development branches would be used for ongoing work.
  2. Build Server: A build server would be utilized to build, test and deploy code updates to the various environments. TeamCity would typically be utilized here.
  3. Packaging and Deployment Tool: Team Development for Sitecore (TDS), a tool developed to package and deploy Sitecore Items and code, would be used as part of the build process. This tool supports automated publishing of key items.
  4. QA Environment: A QA environment would be utilized to test changes before the changes are taken live. In a simple setup, a single QA server would host both Content Management and Content delivery.
  5. Staging Environment: A pre-production environment for final testing prior to deploying to production. This environment resembles production as close as possible. We recommend a staging environment. Some of our self-hosted clients have chosen not to include a staging environment.
  6. Production Environment: A production environment would be set up based on requirements. The most basic setup would include a single Content Management server and two load balanced content delivery servers.

Here is a diagram of the above:

Basic Automated Deployment Hosting Environment

Advanced Automated Deployment and Hosting Environment
This is a sample of an advanced automated deployment and hosting environment.

  1. Version Control: All code is stored in a version control system. Typically, the version control system would be GIT or TFS (Team Foundation Server).  Environment branches would be used for production, staged and QA environments. Development branches would be used for ongoing work.
  2. Build Server: A build server would be utilized to build, test and package code updates to the various environments.  TeamCity would typically be utilized here.
  3. Packaging Tool: Team Development for Sitecore (TDS), a tool developed to package Sitecore Items and code, would be used as part of the build process. 
  4. Deployment Server: A deployment tool such as Octopus Deploy would be used to deploy the packages to various environments.  Benefits of using a deployment server include rolling deployments (updating the environment so no users are impacted) and rollback (in case something goes wrong).
  5. QA Environment: A QA environment would be utilized to test changes before the changes are taken to staged. In a simple setup, a single QA server would host both Content Management and Content delivery.
  6. Staging Environment: A pre-production environment for final testing prior to deploying to production. This environment resembles production as close as possible.
  7. Production Environment: A production environment would be setup based on requirements. The setup would include multiple geo-distributed content delivery servers in the cloud. A single content management server would publish to the content delivery servers.

Here is a diagram of the above:

Advanced Automated Deployment Hosting Enviornment Sitecore

This example is more difficult to setup and maintain. There is more control over the deployments as the deployment server can do rolling deployments and rollbacks. Deploying to the cloud allows for geo-distribution of the content delivery servers as well as the ability to scale on demand.

REQUEST INFO

Subscribe
Mike Skutta Architect

As an Architect within the Technology Labs group at One North, Mike works to research, test and integrate new technologies for both One North and its clients. He is also a Sitecore Technology MVP – a distinction received by only 217 people worldwide – and holds more than 14 years of experience architecting, designing, developing software and leading technology teams. Based in Florida, Mike is often seen wheeling around the office via our robot.

  • Favorite vending machine snack: Doritos
  • Most unusual job: Working as a Serf at Medieval Times
Rick Tham Director, Technology

Rick Tham is the Director of Technology at One North, working to research, test and integrate new technologies for both One North and our clients. Rick is the only Rick at our company…and, yes, this was his fun fact.

  • Favorite movie: Ferris Bueller's Day Off. Before I moved to Chicago, this movie was my main source of things to do in Chicago.
  • What you wanted to be when you were little: A doctor, but I guess my patients are now just applications. They get sick too.

One North Interactive 
222 North LaSalle St, #1500
Chicago, IL 60601

+1 312.469.1740