As we finalize our series on scalability and related issues in enterprise information management technologies, let’s have a look at what kinds of scalability challenges you may encounter in the world of Web Content & Experience Management (WCXM), a.k.a., Web CMS.
These examples are meant to be illustrative, though not exhaustive. They're based on our twelve years of critically evaluating WCXM vendors.
Sheer Size: Numbers of Sites, Users/Visitors, Pages
Throughout all scalability-related issues in WCXM, one of the main themes is how it impacts performance: internally or externally. Scalability — both in terms of performance and functionality — is crucial to both internal CMS users as well as external website visitors. With site pages numbering in the hundreds of thousands up to and over a million, the number of content contributors might be in the dozens to hundreds, while the number of end users may rise into the millions.
All together, this can create a great deal of stress and load on the system. Emphasis is on the ability of dozens of content contributors to be logged on at once and not experience time delays with authoring and repository search.
WCXM system scalability becomes an enterprise issue when:
- You’re managing hundreds of thousands or millions of components and/or pages
- You have hundreds or thousands of content contributors, who often simultaneously log into the CMS
- Large numbers of websites and pages are being constantly published, workflowed, or unpublished
- Large numbers of your customers visit your website, creating traffic spikes (more about this below)
Globally Distributed CMS Installations
Firms with a global or near-global footprint face significant IT challenges. It's not just that the software they deploy needs to support multiple languages, multiple sites, or multiple channels (such as social, mobile, print, email, etc.) The tools they implement need to support multiple geographic concepts, such as regions as well as countries, and staff that may be matrixed geographically as well as functionally. In global scenarios, users at a larger enterprise are often geographically dispersed and can also put unpredictable demand on systems.
Also, the system needs to take an object-oriented approach to multi-site management, allowing certain elements to cascade to child sites (and some certain elements not). There's a lot of complexity here that only the more sophisticated tools can handle natively.
Basic architectural structures matter here. Some CMS platforms tightly couple authoring and development environments, for example. This creates a number of challenges – from stepping on each others’ toes to not being able to streamline code and content rollout processes. Perhaps more importantly importantly, if you can't separate out Content Management from Content Delivery environments (more on this in the next section) it can constitute a deal-breaker in any scenario that requires scale.
Content Delivery: Syndication & Distribution, High Volumes and Traffic Spikes
Many sites managed in a CMS can experience high volumes as well as spikes in traffic to public-facing sites and applications. Some firms -- like those in ecommerce or media segments -- face particularly daunting challenges above and beyond the size of their operation.
For scalability of your delivery environment under high loads, you may want to look into CDN-like architectures with load-balancing capabilities to support high volumes of traffic: both inbound and outbound. Cloud deployments with on-demand addition/subtraction of CMS instances are also becoming one of the options to control distributed environments that may experience seasonal hikes in traffic and commensurate demand on infrastructure.
Dynamic Content and Personalization
Many WCXM vendors offer different approaches to supporting dynamic content and content personalization.
In many organizations, content is usually varied and widely linked, taxonomies numerous and multifaceted, and often the majority of the content is not placed by a content manager, but gets tagged for the system to call it up dynamically across potentially multiple locations – based on the logic written into your templates. Thus, features such as variable content preview become vital in order for content managers to understand the consequences of their tagging.
Many CMSs are capable of serving personalized content based on explicit or implicit profiles, where different audiences or even single users may get different content based on their preferences or browsing behavior, or social profiles. As in case with Digital Marketing and Marketing Automation, more complex logic requires the application of rules. For example, a rule may dictate displaying a different offer based on a customer's history, or displaying a different image based on geographic locale. Rules help you scale by enabling fewer templates. You need to be careful about applying multiple rules, particularly since the behavior may not prove very easy to simulate in advance.
Obviously, the more dynamic your content, the more load you place on your systems. Vendors often tell you to simply apply more hardware, but that's not always the right approach. WCXM at scale means learning to love (or at least not hate) multi-level caching regimes, which brings us to...
Caching, and More Caching
Even with some static sites, and let alone highly dynamic ones, caching is one of the most important (and often tricky) steps you can take on the road to a scalable and performant CMS environment. Depending on the CMS you are using, you may have different options for caching – from proprietary mechanisms requiring crafty setup and tuning to more familiar tools to developers and sysadmins like Memcache, Authcache, Varnish, and so forth.
Make sure to thoroughly study what caching mechanisms your CMS vendor offers and supports and make sure they can meet your needs – today and tomorrow. And think through your caching strategy: cache everything or only certain parts of pages/components, what about personalized content bits, API and/or DB calls, chunks of data, client or server-side, and so on. This can have a major impact on both editorial and visitor usability.
WCXM Services and Configuration Management
Any Web CMS you examine will have a set of configuration tasks that may improve or decrease the system’s scalability and performance ranges. Our research has found that configuration management works vastly different across different systems, so you’ll want to carefully investigate and just as carefully apply your knowledge in the following areas:
- Repository Services, such as versioning and version control -- Maintaining previous versions of items and making sure that two people can't work on the same item at the same time (overwriting each other's work)
- Access Control -- Authorizing different users permissions (or not) for particular functions
- Search -- Finding a specific content item in your content repository or on the website
- Workflow -- Putting content items through an approval process that can contain step-back/send-back steps
- Scheduled Publishing (and expiration) -- Setting up time-sensitive content items to run (and expire) in advance
- Component Reuse and Where-Used Dependency Tracking -- Knowing what content components are being used in which web pages and web sites (also, multilingual, mobile, email campaigns, print, etc.)
- Archiving – Knowing when and setting up automated rules accordingly to archive content that is no longer relevant through unpublishing it from the live site but, perhaps, moving to a different data store, content repository, or database
As a rule of thumb, the more content and the more dependencies you have – the more diligent you would want to be about configuration management.
For smaller enterprises, websites may be freestanding entities. Even larger enterprises sometimes start out that way with WCXM tools. As with Cloud File Sharing, an organization may start off with a WXCM product to address really simple use cases, sometimes without involving IT.
However, as usage expands -- or other requirements such as compliance come into picture -- you realize that more and more content requires more sophisticated information management. This means archival services, records management, better repository search, and so forth. And that often means integration with other information management applications in your enterprise.
Also, to pursue digital marketing at scale requires integration with a variety of data- and content-oriented systems, including CRM platforms, Marketing Automation tools, a DAM system, or any number of other services. At scale, information and process flows frequently become bi-directional, which compounds the challenge. Scale requires solid architectural skills here.
User and Entitlements Management
User and entitlements management at scale can prove daunting in a CMS. Most CMS platforms can access your Active Directory or LDAP repository, though others will provide nothing but a forms-based interface to manage authentication in the CMS itself – thus, sometimes creating the need to support and maintain a separate identity store. At scale, we find that customers often need to integrate with multiple identity stores -- something very few Web CMS platforms can do.
Many systems have groups but not roles, or vice-versa. This forces you to "get creative" when your user base starts numbering into the dozens or hundreds. Big category buckets and strong education are part of the answer here, but sometimes you need granular controls, and therefore ease of administration and de-bugging (e.g., through impersonation) become critical at scale.
Scalability and You
Many potential issues may plague your CMS at scale. Here, I just scratched the surface on the most common challenges, but many issues depend on your particular content strategy and organization. If you have questions on Web CMS scalability or need help with your enterprise-wide CMS project, please feel free to contact me directly.