This is regarding attended
webinar "How to Architect a
High-Performing and Scalable Sitecore Environment in the Cloud" by
Torry Williams, Senior Cloud Architect.
Below are the points covered
by speaker.
Sitecore Development Options
- Physical
Servers
- Good for : hybrid environments, database workloads
- Dedicated resources built for unique environment
- Public
Cloud
- Good for smaller, separated Sitecore roles
- Cost effective & scalable
- Private
Cloud
- Good for security conscious virtual SC deployments
- Secure & efficient
- AWS/Azure
- Good for: clients wanting yo move to hyper scale public cloud
- Sitecore design & management expertise applied to AWS/Azure infrastructure
- Colocation
- Good for those who prefer to managing the environment
- Client responsible of server configuration, proactive support and continuous business planning
According to Torry - Hybrid
combination is the best.
What
is scaling?
The ability of system,
network or process to handle a growing amount of work.
There are two types of
scaling
·
Horizontal
scaling: adding or removing compute nodes
o
Example-Admission
time in college, xMas, new year, Offer period, Holiday time etc. increase the traffic
on website.
·
Vertical
Scaling : adding or removing resources from a single node
Sitecore working depend upon
its server roles and each role can be configured individually on distributed
basis such as we can have different server for CD, session, collection,
reporting, CM etc.
We can increase or decrease
configuration of any particular role depend upon its usage
Example
:-
If
your management want daily or hourly reports, then you need to increase
processing/aggregation role.
If
there are 50 Content Editor, then you have to increase CM role.
If
you have very heavy visitors traffic, you have to increase CD roles.
You
can combine two roles but over the time period when user grow or more traffic,
you may need separate it out.
Understand
business requirement
- Define success
- What problems are we trying to solve
- How is sitecore being used to solve them?
- Who are internal users - Marketing, sales, accounting, Management (etc.)
· How often is reporting data required?
Understand
The environment
- Questions to size your cloud environment
- What SItecore version and modules are you running/considering?
- Are you utilizing a CDN?
- Are you utilizing a search service like solar or Lucene
- What is your tolerance for downtime? (HA - High Availability / DR)
- Number of contacts in your xDB?
- Request per second?
- Average page view per session?
- Session duration in seconds?
- Session end overhead?
- Estimated session size?
Session and collection DB are heart of Sitecore experience.
Use MongoDB for Session
State instead of SQL server because of its ability to handle large amount of
users and data.
Session can be of two type -
Shared or private. If you have multiple CD then go for Shared Session state.
Always keep auto scale
server configuration, in case if you need more server resources you can upgrade
them anytime.
You can setup your CD/CM
environment with single CD server, Single Load-Balanced CD server, Two
Load-Balanced CD server.
You should choose cloud environment for deploying your Sitecore solutions.
You should choose cloud environment for deploying your Sitecore solutions.
Why
Cloud
- Simplified installation & configuration
- No specialist knowledge needed
- Global distributed data centers
- Automatic backup
- No need to manage scalability
- Security - spread across multiple locations
Please leave your comments or share these tips if it’s useful for you.