3

We are setting up new SharePoint 2013 3-tier farm with LoadBalanancer and looking for zero downtime during deployments.

Given a "tradtional" SharePoint farm:

2 webfrontend servers (WFE)
1 application servers (APP)
1 SQL server (SQL)

This farm will be down when a wsp-file is deployed as the application pools get restarted for each of the servers.

So we are planning a farm layout like this:

2 webfrontend servers (WFE1, WFE2)
2 application servers (APP1, APP2)
1 SQL server (SQL)

The request from WFE1 should be served by APP1, WFE2 should be served by APP2. So when we deploy in WFE1, WFE2 is available and vice-versa.

Is our approach correct? Can we achieve zero downtime with one application server also? Can SharePoint have two independent application servers pointing to same SQL and running same services?

  • do you have loadbalancer? is you application required 24/7 up time? – Waqas Sarwar MVP Feb 3 '16 at 16:34
  • Yes we do have load balancer (NLB) and wanted to be available 24 X 7 – user25351 Feb 4 '16 at 7:19
3

As far as I remember, this is possible. 1 APP server should work fine as well. The only must-have is 2 WFEs. Steps you need to do:

  1. Configure load balancing so that all traffic is redirected to another WFE if one is down;
  2. Connect to one WFE using RDC, run the usual Add-SPSolution in SharePoint Management Shell;
  3. Run Install-SPSolution with -Local attribute. This will deploy the .wsp locally;
  4. Wait until solution is successfully deployed. You can check by running the following PS command: Get-SPSolution solution.wsp | ? {$_.LastOperationDetails}. It should display True under Deployed.
  5. Restart IIS and the SharePoint Timer Job Service on that server. Either manually or by running: Restart-Service sptimerv4 and iisreset;
  6. Repeat steps 2-5 on the other WFE.

If I recall correctly, using the -Force attribute will recycle affected app pools, so be careful with that. I think the hardest part in all this is getting the load balancing configured properly.

  • Thanks for you reply Paul. So if i understand correctly even if we are just updating the solution using Update-SPSolution your steps 2- 5 should be valid? Also correct me if am wrong, when this activity is done on App server WFE will not be able to serve the request so still there will be a down time i suppose? – user25351 Feb 4 '16 at 7:22
  • I am pretty sure that IIS Reset doesn't affect service applications - just tested this with 2 WFEs and 1 APP server - iisreset being run in a loop on APP server while uploading documents and setting user/managed metadata fields - everything worked like a charm. You can Add/Install/Update solutions on APP server whenever you want. Keep in mind, that if you are doing Update-SPSolution you will need to install new SPFeatures manually by running Install-SPFeature (just a note). – Paul Strupeikis Feb 4 '16 at 10:11
  • Yes here my Questions but when we follow 2-5 steps in APP server App pools are recycled in and it will not be able to serve any requests coming from WFE as it gives 503 error?? Thats what my understanding. – user25351 Feb 4 '16 at 10:32
  • I was recycling app pools in a loop on my test APP server and WFEs kept working fine. Maybe you've got something configured in a wrong way? – Paul Strupeikis Feb 4 '16 at 11:08
  • Okie i will check this when our setup is ready. Also instead of opening each server and deploying from RDC is there any way to automate above steps from one server itself to deploy in all servers? – user25351 Feb 5 '16 at 7:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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