This blog post describes some of the advantages and disadvantages of separating the content management (CM) environment from the content delivery (CD) environment using the Sitecore ASP.NET web Content Management System. For more information about these topics, see the resources linked at the bottom of this page.
By default, each Sitecore instance provides both content management (CM, for CMS users to maintain the managed sites) and content delivery (CD, for visitors to those managed sites). You can separate the CM and CD facilities into separate environments, typically involving separate servers.
I believe that the advantages of separating the content management environment from the content delivery environment strongly outweigh the disadvantages, and I always recommend this approach. One of the most significant disadvantages to separation of CM and CD environments may be cost. Because separation requires multiple Sitecore instances, and you must license each instance, separating increases Sitecore licensing costs. While you could install both instances on a single physical server, many of the advantages of separation come from using separate servers. In fact, multiple instances on a single server consume more resources than a single instance, including memory and network capacity, since each instance loads some amount of the same data from the database. For these reasons, separation typically increases hardware costs as well. An additional cost involves the administration of these systems, as well as licensing of Windows and other software on these systems. Separation of environments does not require additional database servers or even databases, though these provide additional benefits that you should consider as well.
Separating CM and CD environments has at least the following advantages:
You can achieve some of these goals by load-balancing environments that host both CM and CD on a single group of servers, but for example you do not achieve the security advantages with that approach.
If you know of additional factors to consider when deciding whether to separate the content management environment from the content delivery environment, please comment on this blog post.
I'd put Varnish on it, makes most any server look shinier :)