Differences between Decoupled CMS and SaaS Headless CMS

This blog post describes differences between decoupled and SaaS headless content management systems. Different people working for different vendors use terms differently, but for the purposes of this blog post, decoupled refers to content delivery using HTTPS service APIs to access CMS facilities rather than using platform native APIs, direct database connections, and other tightly coupled solutions. Headless refers to SaaS solutions where the CMS vendor manages the content management environments (bodies) that provide content delivery services for customers that manage content delivery environments (heads).

Content can include any text or binary data. Content management has always separated content from presentation and logic. Content management solutions differ in how they merge data with presentation and both client-side and server-side logic.

In the context of web content delivery, the basic phases at which a solution can access the content management repository are:

  • during the solution build process, to access configuration and embed content from the CMS in the deployed solution,
  • during the content delivery process, to retrieve content from the CMS while generating HTML for a browser, and
  • from the browser, such as a JavaScript application retrieving content at runtime.

The first two forms of access can invoke platform native APIs and access databases directly, while the third requires HTTPS. Decoupling uses HTTPS rather than platform-native APIs for all forms of access.

Decoupling intends to allow developers to use content delivery technologies completely unrelated to those used for content management with minimal knowledge of the CMS implementation other than the simple JSON formats and a small query APIs (though queries are better managed by an external search engine, see What and How to Index for Search with Headless CMS – Deliverystack.net). The developer passes an identifier or a query to the CMS API and it returns JSON.

Headless solutions provide SDKs that wrap their HTTPS service APIs for numerous content delivery platforms, while solutions that are technically decoupled can require customers to use specific technologies for content delivery, requiring significant platform-specific development expertise and maximizing vendor lock-in.

One of the main values of headless content management solutions is that they allow the CMS vendor to provision, secure, upgrade, scale, and otherwise manage content management environments for their customers with minimal downtime. Managing content management environments can represent significant costs and upgrades can interfere with other projects in motion. These factors can drastically affect Total Cost of Ownership (TCO) and hence Return on Investment (ROI) and customer satisfaction.

While some decoupled CMS solution vendors may provide content delivery services, headless CMS vendors host content delivery services for all their customers, including binary media for which some vendors provide server-side image manipulation. Customers do not need to manage caching and Content Delivery Networks (CDNs) for content and media delivery services used by their Jamstack and other applications.

For extension, headless solutions use webhooks, HTTPS service APIs, and extensible browser-based user interfaces. Decoupled solutions can use server-side configuration and coding and may not use or even expose webhooks and service APIs for integration.

Because it does not truly separate content management from content delivery technology, decoupling without SaaS for content management does not deliver the full value of headless content management. Decoupling results in maximum value when the vendor maintains content management environments for its customers.

If you have any thoughts on differences between decoupled and SaaS headless CMS, please comment on this blog post.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: