From Wikipedia (https://en.wikipedia.org/wiki/Scalability#Horizontal_and_vertical_scaling):

To scale vertically (or scale up/down) means to add resources to (or remove resources from) a single node in a system, typically involving the addition of CPUs or memory to a single computer. Such vertical scaling of existing systems also enables them to use virtualization technology more effectively, as it provides more resources for the hosted set of operating system and application modules to share. Taking advantage of such resources can also be called "scaling up", such as expanding the number of Apache daemon processes currently running. Application scalability is the improved performance of running applications on a scaled-up version of the system.

A lot of Sitecore documentation I have been reading has been implying that separating out Sitecore instances into dedicated roles (such as Content Delivery and Content Management) is part of Vertical scaling. After isolation, you can then additionally add resources to each role to scale even more. Adding more RAM to a Content Delivery instance is clear Vertical scaling, but is the fact I separated Content Delivery from Content Management also Vertical?

From my perspective, this seemed like doing Horizontal scaling in order to support Vertical scaling. Am I wrong in this?

NOTE: I do know that you can also run some roles behind load balancers and thus also do horizontal scaling in that manner, I am interested more in the classification of role dedication.

1 Answer 1


From my point of view Vertical Scaling means : increase memory, cpu and separate standalone server to one CD, one CM , one processing, one reporting, etc like on below picture.

enter image description here

For example, to scale horizontally you can deploy:

  • Multiple content delivery servers.

    Multiple clusters of content delivery servers, either to increase capacity beyond a single cluster, or to create geographically-distributed content delivery and traffic collection points.

    A dedicated session state server for handling session data. This is a requirement if you have a cluster with more than one node.

    A collection database (MongoDB) for storing contact and interaction data – this can be a single MongoDB replica set (which requires a minimum of three nodes, for example, two data nodes and an arbiter) or it can be a sharded cluster with multiple replica sets.

    One or more processing servers. The number of processing servers you have depends on how much website traffic you need to handle.

    Multiple content management servers – depending on your content editing needs.

    A reporting server that runs the Reporting Service hosted on a dedicated Sitecore server instance.

    A reporting database hosted on a dedicated Microsoft SQL Server instance (this could also be a failover cluster).

    Please have a look on above picture it's Sitecore xDB - fully scalable architecture (horizontal scaling)

    enter image description here

  • Thanks Sitecore Climber, this is the documentation I was referring to. To sum up, I believe your answer is "the documentation is correct, isolating roles is vertical scaling, not horizontal scaling" Commented Sep 22, 2017 at 15:01

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.