In this
blog will share with you my experience with the architecture design and
deployment configuration for a recent project I worked on. My project version is
sitecore 8.1 update 3.
Basically my
site implementation is completed and want to prepare the environments architecture
so will go throw these in details as follows:
- Development, Staging and production.
- Configuring connection strings.
- Enabling/disabling files.
- Update configuration files content
- Session State configuration
- Search Indexes configuration
- Remove/Restrict access to Sitecore client on CDs servers
- Setting solr memory size
How is my environment distribution?
My environment
consist of the following:
- Development environment: developers use this environment on their local workstations to implement different solution functionalities.
- Staging environment: This environment used for QA and customer testing and validating different site functionalities, and will be the source from which we take patches to production environment.
- Production environment: this environment is the live site environment, once changes pushed pr deployed to this environment it will be live.
What is my
production environment consist of?
My production
environment consist of the following servers:
- Database Server
- Mongo Database Server
- SOLR Server
- Content Management Server
- Content Delivery Server 1
- Content Delivery Server 2
Following
screen shot provide you with more clear vision about the production environment
that I’m using and which I will explain its configuration in details through
this post.
How to configure
CM/CD environment?
In this section will
walk you through the required steps to configure your CM/CD environment based
on Sitecore documentation, in a side note you should know that there is a
couple of ways to setup a CM/CD environment.
What are the
required connection strings for each server?
As example
you don’t need the master or the reporting database in your content delivery
site, you will not have sitecore client access there!, Sitecore provide a
detailed table with the required databases for CM, CD, Processing and reporting
servers.
Following link
provide the details to complete this step:
Enabling/Disabling
Configuration Files?
You should know that
there are some configuration files that you don’t need to be there on the
content delivery server, Sitecore provide us with an excel sheet that contains
all the files that should be enabled disabled on bother CM and CD servers.
Client on the following link (https://doc.sitecore.net//~/media/901A89FDE2D24DC5BD72BDF839275291.ashx?la=en)
to download the excel file.
Any Configuration Files To Update?
Sitecore
also provided a list of configuration files like scalability setting
configuration files, analytics configuration files and others that should be
update in your content management system, click here (https://doc.sitecore.net/sitecore_experience_platform/81/setting_up__maintaining/xdb/configuring_servers/configure_a_content_delivery_server#_Changes_to_configuration_1)
to check the list.
What about
session configuration?
In sitecore
there are specific configuration related sessions, there are InProc and OutProc
session state in addition to shared and private session state, Martina Welader
(https://twitter.com/mhwelander)
wrote an detail blog post talking about different sessions configuration that
would be helpful to read.click here to check “https://mhwelander.net/2016/05/19/lets-talk-about-session-state/“
So in my
case I did the following to configure:
- In my content management server I kept the default configuration for the session which should be InProc ( the session will be saved in server memory ) and private.
- In my CD1 and CD2 servers I change the session configuration to be shared and outProc, which mean I want the same user to be identified in both server as one session not two, also to be able to make this happen you need to set your session configuration to be outProc which mean the session information will be saved in database ( MongoDB or SQL ) in my case I used MongoDB.
Following link from sitecore
documentation will show you exactly how to do that:
Any special configuration
for my Indexes?
Yes, Sitecore provide a list of update strategies that upi can use to maintain
your search indexes, following are the index strategies that you can use:
- RebuildAfterFullPublish
- OnPublishEndAsync
- IntervalAsynchronous
- Synchronous
- RemoteRebuild
- TimedIndexRefresh
- Manual
Follow this
link to check all the details about the sitecore index update strategies.
Should
sitecore client be accessible from CM or CD?
The answer
is no, you should prevent sitecore client access from your content delivery
servers, only allow that from your content management servers.
Basically
you need to restrict IIS access for some folder and pages under your sitecore
site in your content delivery servers, check the following
Should I
increase the SOLR Bitnami allocated memory?
Sitecore MVP
Ahmed Okour (https://twitter.com/aokour86) wrote a good blog post talking about specific list that you should
for your SOLR production environment, one of these point that you should
increase the allocated memory for your SOLR instance as 1 GB as minimum and 8 GB as
maximum.
Following
link will provide a detailed steps to follow:
http://www.sitecorecoding.com/2015/08/solr-with-sitecore-checklist.html
Hope the above will help, please comment or contact me for any questions or notes.
4 comments:
"Nice and good article.. it is very useful for me to learn and understand easily.. thanks for sharing your valuable information and time.. please keep updating.php jobs in hyderabad.
"
Hi ,
I have one question i am using mongo db for session in sitecore production environment ,where i have to create collection for session what will be the structure for collection session.
Hi, nothing is needed from your end, you just apply the required configuration like session connection string in the connectionstrings.config file and other session configuration and sitecore will do the rest.
EXCELLENT .....
Thanks for your sharing this blog, I really appreciate this article....sitecore online training
Post a Comment