7

I have a Single Sitecore Instance, where multi-site implemented for 3 countries.

- Content
   - Country 1
       - Home 
       - About Us
   - Country 2
       - Home 
       - About Us
   - Country 3
       - Home 
       - About Us


1. Country 1    (www.example.c1)
2. Country 2    (www.example.c2)
3. Country 3    (www.example.c3)

During deployment

  1. If any deployment done to Country 1 website, expecting only the Country 1 website to have the down-time, the other sites should have 'Zero downtime & impact'

To achieve this, what is the best practice to be followed ?

  1. A separate IIS website & app pool needs to be created for each country ?
  2. A separate folder for each website, in which the binaries needs to be deployed ?
  3. What is the Sitecore license implication ?
3
  • 4
    For each app pool/website you will need another SItecore license. That gets really expensive. For zero downtime, you will need to implement a blue/green deployment strategy. sitecore.stackexchange.com/questions/11370/…
    – Chris Auer
    Commented Oct 6, 2018 at 21:26
  • You can make deployment during non- business hours ,since making separate pool/websites will be costly, Also as far my understanding, the downtime will be less than 10 minutes while deployment and it depends on your Server/ deployment strategy. May I know, how you are trying to perform - Manual or Automated through Devops Process.
    – rams
    Commented Oct 8, 2018 at 9:40
  • sitecorepocs.blogspot.com/2016/06/… <-- ashar shah gives very good insights into how to have literal 0 downtime for cd and cm
    – Anicho
    Commented Feb 6, 2019 at 17:51

2 Answers 2

3

To achieve zero downtime for sitecore websites, a commonly recommended "best-practice" approach is to have two sitecore Content Delivery (CD) servers and a load balancer in front, and then a separate CM server for content management. This approach also works perfectly for your multisite scenario because all 3 sites are served from both CD servers (one app pool in each, with all site bindings). Any deployment can be done by taking one CD server offline (removed from load balancer) at a time, updating the code, then bringing online and repeating this for the other server, always having one CD server online and resulting in zero downtime.

Note that sitecore licensing typically requires that you have a license per instance (and different app pools also count as separate instances, so contact sitecore to discuss your licensing requirements).

The examples you suggested are not best practice, but could be considered to reduce costs. You could have 3 separate app pools serving separate sitecore CD instances (each its own website folder on disk with a full copy of the website files/binaries), the only difference would need to be a unique config "Analytics.ClusterName" setting. This means you don't need extra infrastructure, but this will share the resources of the server and possibly result in slower performance, and still need to be licensed as separate instances. Then the site bindings in IIS for each country's website can each be binded to one app pool.

Note that you should use the sitecore standard single instance (combined CM/CD) configuration for multiple instances. They should be configured as CD instances, so that they don't all do the same processing jobs that will conflict with each other and result in a broken application!

0

In order to achieve Zero / No downtime while deploying the country specific websites, there could be two possible solutions:

  1. Use two or more content delivery servers with load balancer. You can deploy in each server one by one. For example, take one server down from the load balancer (remaining servers still serves the requests) and deploy ot it and once deployment is complete, connect this server back to the load balancer.

    Repeat the same steps with other content delivery servers.

  2. Use cloud solutions for highest website availability.

Either of the above approach, will give you zero downtime when you deploy your country specific websites.

Hope this helps!

1
  • To clarify, using a "Cloud Solution" alone will not give you a zero downtime deployment. Commented Feb 6, 2019 at 22:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.