Content-as-a-Service: An Architecture for Evolution

image
The one constant in technology is evolution. The CMS space is no exception. With the growth of delivery channels, cloud technologies, microservices architecture, and the progression of web rendering technologies Content-as-a-Service (or CaaS) is the latest paradigm in the CMS space. So, what is CaaS and how does it impact your architecture? 
 
What is CaaS?
 
CaaS is an architectural pattern that completely decouples the authoring of content from how it is used. Traditional CMS provides a single software to separate the data layer from the presentation of said data. Though the presentation of the data was separated, it was still tied to the technology, delivery channels and capabilities supported by the software. A CaaS system would consist of a backend CMS that provided authoring capabilities with APIs to deliver content to external systems.  
 
Like a traditional CMS, a CaaS application would provide the ability to architect content within defined structures and also provide the ability to manage that content. It would provide a friendly UI to make content changes with content forms and WYSIWYG features. Though it will allow the editor to indicate content rules for a channel, it will not provide channel specific in-context editing tools since the system itself does not know any details about how that particular channel renders content. CaaS systems provide an API (typically as a REST based web service) to deliver the meta definitions and content to third party applications. They also typically cloud centric and support a cloud deployment through IaaS (Infrastructure as a Service) or PaaS (Platform as a Service) e.g., Azure.    
 
Why deploy a CaaS Architecture?
 
A CaaS system has benefits over a traditional CMS, these include:
  • Content reuse across all channels. The proliferation of devices used to consume content results in new channels emerging, this allows the easy addition of new channels with little or no impact to the system managing the content.  
  • Greater flexibility and speed when delivering new channels and personalization.  Since content is queried dynamically, personalization can be applied as needed.  A CaaS system would only manage personalization rules and these rules can be channel specific or apply to multiple channels.  For a new delivery channels the same APIs can be used or if a new API is needed, adding a new service is less cumbersome than having to deploy a new system.
  • Tracked content consumption statistics and usage and performance across multiple channels. This allows the business to take a holistic view for analytics and insights that gives a more global view into their consumers. 
 
When to use CaaS?
 
CaaS, like all design patterns, has its use. The following describe scenarios in which make sense to go with CaaS:
  • Managing content for mobile applications.  Changes to mobile applications often require to resubmit the application for approval to a digital distribution platform vendor (e.g. Apple, Google).  A CaaS system would allow business to change content in these applications without the need to change the mobile application.
  • Publishing content to multiple channels.  CaaS systems allow the business users to deploy the same content to multiple delivery channels in one system as opposed to having to maintain different systems for different channels.
  • When greater UX flexibility is needed for designers.  With the total separation of the presentation layer designers are free to use any technology to build their UX and are not tied to technologies or components supported by the CMS.  With the advent of Angular JS and other JavaScript frameworks that evolve at their own pace developers are free to constantly evolve with these technologies that maybe localized to their delivery channels without impacting business operations or other delivery channels.
  • When using Chatbots and other AI based applications, it is easier for robots to consume content via an API.              
 
Businesses need to keep up with the ever-changing state of technology.  New devices are introducing new channels. These new channels require different components that are often not supported by a single system and, on top of that, existing presentation frameworks are also constantly evolving.  A CaaS architecture allows for the easy introduction of new delivery channels and lets the technology used render content to evolve independently and at its own pace.  Using this architecture, businesses are able to grow and provide an offering that keeps up with technological shifts in the market place.

Comments

Subscribe to Our Newsletter

Stay In Touch