SaaS Headless CMS Fundamental Concepts

This blog post attempts to provide an overview of some fundamental concepts for working with SaaS headless content management systems.

Content Management System (CMS)

A content management system separates text and media content from presentation and logic, allowing re-use of content managed by non-technical subject matter experts. Developers write code that retrieves data from the CMS and render that content as HTML or otherwise.

While each product has different features, consider all CMS from a single high-level architectural perspective. Each vendor should allow you to configure webhooks to signal external systems, provide HTTPS APIs for accessing content, and support customizations to the CMS user interface.

Content Delivery

Using various technical architectures, content delivery systems retrieve data from the CMS and render it elsewhere, such as on a website, digital display, print, or otherwise. Where only authorized users can access content management, content delivery is generally accessible to anonymous visitors.

Headless Content Management

In the headless CMS metaphor, the body is the content management system that supports editorial activity, and the head is the content delivery system that services the visiting public. Headless content management systems are headless to the SaaS CMS vendor, who has no responsibility for content delivery, but bodiless to the customer, who has no responsibility for content management.

Headless content management systems do not include an engine for generating HTML. Customers choose from a range of available technologies that access CMS services to retrieve data as JSON over HTTPS.

Jamstack and Headless CMS

While any technology can work with services and CMS can serve any channel, most headless CMS solutions use Jamstack to implement websites. Such solutions use various tools to embed content from the CMS in optimized HTML files that simplify deployment and benefit performance and hence SEO. While variations are possible, HTML in Jamstack sites typically references JavaScript for dynamic features, instructing browser clients to invoke content delivery and other services directly to retrieve and render additional content.

Organizations invested in Jamstack should find headless CMS to be relatively straightforward, and organizations using headless CMS may be able to achieve greater agility and productivity with Jamstack than with other technologies. Periodically research and evaluate Jamstack technologies and JavaScript frameworks such as React and Vue.

SaaS

SaaS, for Software-as-a-Service, means that instead of selling the software to the customer to install, administer, upgrade, and otherwise maintain, the vendor hosts its own software for its customers, exposing all features as HTTPS endpoints. Compared to on-premises, Infrastructure-as-a-Service, Platform-as-a-Service, and even managed PaaS, SaaS places greater responsibility on the software vendor and reduces cost of ownership for the customer, such as the need for expertise in system internals.

Other than the fact that you are not responsible for managing it, you don’t need to know anything about SaaS to work with a SaaS headless CMS. The vendor provisions a CMS environment for you, and then you log in through a browser and start modifying data, or invoke APIs from your code, without ever considering the CMS installation and upgrade process.

HTTPS APIs and SDKs

Historically, an API meant a native application programming interface such as those available in C and Java that interact directly with local machine resources. In distributed, service-oriented architectures, an API is an HTTP endpoint with a contract for passing and returning data. Headless CMS vendors provide SDKs that abstract their HTTPS APIs as local application programming interfaces.

If you have not used services extensively in the past, the architectural shift from native to network APIs may be the most significant in the headless CMS learning process.

Webhooks

Where HTTPS service APIs allow external applications to call into the CMS, webhooks allow the CMS to call out to external applications over HTTPS. A webhook simply passes system event data to the URL configured to receive it.

JSON

JavaScript Object Notation, or JSON, has become a sort of de facto format for exchanging text data between systems. HTTPS APIs exposed by headless CMS products typically use JSON by default.

While you should have a general understanding of JSON, data structures generally vary by CMS vendor and customer project, so you will have to learn them as you progress.

CDNs and Serverless

For performance and scalability, Jamstack solutions typically deploy static files to a CDN rather than to a specific farm of web servers or collection of application servers.

For server-side logic, serverless models, in which cloud infrastructure manages applications implemented by smaller independent services, minimize administrative costs and optimize scalability, Serverless really means less server, as there must still be an application server, even if the organization does not manage it directly.

Some independent vendors provide end-to-end content delivery hosting services. Customers check builds into source control for the vendor to deploy to their hosting infrastructure.

Data Modeling

CMS implementations require data modeling, which is the definition of content structures to meet requirements for the solution. Data modeling includes the types of entries (records) and their fields, data validation requirements, relationships between entries, and the information architecture of the website as a collection of entries. Data modeling is a critical factor that can affect the usability, efficiency, and even success of a CMS implementation. A good data model simplifies initial and ongoing development.

Tooling

Although SaaS systems are more agnostic about technology and customers are unrestricted in their choice of technologies, there are benefits to an alignment between technologies used by vendors and the organization. When choosing CMS, service and content delivery hosting, search, and other vendors, consider their expertise in technologies preferred by the organization.

One thought on “SaaS Headless CMS Fundamental Concepts

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 )

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: