The technology industry is full of trends and one of the latest trends is to make everything "serverless". We have already gone into detail on serverless hosting and its benefits, so it makes sense that we take time to understand another key topic: serverless CMS.
What is a serverless CMS?
Traditionally, a content management system (CMS) is built as a single, large system. This "monolithic" architecture requires an individual company to manage everything from the end-user experience through server and database scaling. As a result, key development time and resources must be allocated to monitoring cloud services and ensuring that systems stay up. A careful eye must also be kept on costs, particularly as user requests increases.
Recently, companies have started to break apart monolithic application frameworks in a shift towards a "microservices" architecture. Microservices allow companies to ship products faster, because apps are broken down into smaller, more manageable pieces.
A single development team could manage an entire microservice. For example, the product catalog on Netflix is a microservice managed by one team. As a result, the development of the product catalog can be decoupled from the Netflix user interface – allowing new UIs to be added to Netflix that all consume the same product catalog data.
We think of "serverless" as the logical conclusion of microservices: a serverless approach enables developers to break things down to their functional components.
Furthermore, these functional components only run when required. The idea of permanence goes away in this new way of thinking; individual functions scale up or down as needed, and when they are not needed at all, they stop running. (In the Netflix example, we can scale resources for product catalog based on demand, while being indifferent if these requests come from a web browser, mobile app, TV operating system, or video game console.)
So how does this relate to a serverless CMS? Well, a serverless content management system rethinks how content-rich and interactive web properties are built; centralizing functionality into individual components that can scale to infinity and beyond!
Developers get to focus on quickly building and iterating on the features that matter to them, while offloading the devops – such as server availability and horizontal scaling – to cloud providers.
Today, many WordPress and Drupal sites run on a dedicated server that is not the appropriate size. For most days, the server is oversized and costing you to pay extra. On high traffic days, like when a new blog post or press release is published, then that same server can become a bottleneck. This dynamic scaling problem goes away with a serverless CMS because each HTTP request created by a visitor corresponds to a single serverless function being run.
At this point, it’s important to mention that the three main cloud providers have robust function as a service (FaaS) offerings, a requirement for building any serverless backend/framework. Microsoft has Azure Functions, Google has Cloud Functions, and Amazon has Lambda. No matter where you are looking to deploy your serverless CMS, there are a host of guides and developer tools to help you transition.
For those looking for more assistance, reach out to the Tragic Media team! We have experience building and scaling serverless CMS platforms, particularly those that use Contentful.
The benefits of a serverless CMS
Companies would not be turning serverless if there were not inherent benefits to this new way of thinking about building and deploying applications. Here are some of the benefits of deploying a serverless CMS.
Benefit 1: Get exactly what you want
Typically, when you used a content management system, you were given a vast toolkit. The toolkit that comes standard with Drupal or WordPress, for example, comes with tools that are useful in a variety of situations. Indeed, this had to be the case or else frameworks like Drupal and WordPress would never take off!
But your need – let’s say, an internal business application – is very specific. A serverless CMS allows you take exactly what you need, and ignore everything else. Your bandwidth is tracked based on the use of functions, rather than the amount of physical space + bandwidth that is consumed. By leveraging a serverless architecture, development teams can pick the exact functions and services they need without being slowed down by supporting and scaling a giant application.
Benefit 2: Faster time to value
Going with a traditional content management system was an all-or-nothing decision. However, with a serverless CMS, you can add specific content management features to part of your website or web app. For example, you can now easily add a blog to your existing website.
ButterCMS has a dedicated product called Blog Engine, which fits this exact need. You can keep your existing site as a series of static pages, and add a Butter Blog at your custom domain (e.g., blog.example.com or example.com/blog).
In addition, a solution like ButterCMS can inherit the formatting from the rest of your site, something that is not true with a traditional content management system.
Benefit 3: Reduced Costs
As discussed in our post on serverless hosting, going serverless can lead to significant price savings. Businesses that transition to a serverless architecture only incur a cost when a function is running. For a serverless CMS, that means you pay for requests that people make to your blog, for instance.
In addition, because you interact with your CMS through a simple API, your entire technology stack becomes more flexible. Previously, you had to select a single CMS provider – such as WordPress or Drupal. However, with the rise of serverless, you can mix and match to fit your needs.
Instead of trying to shoehorn your blog, ecommerce store, or web app into a single CMS, you can pick and choose from a variety of tools. For example, you can use a modern front-end framework like React and Angular combined with a serverless CMS.
Examples of serverless content management systems
To date, there are a handful of serverless content management systems. In particular, we would like to discuss Contentful and ButterCMS. Both Contentful and ButterCMS allow you to get started with a serverless content management system without having to start from scratch.
You can think of them as managing and delivering the "content infrastructure" for your websites and apps.
For instance, a user may interact with an Angular web application. That Angular web app fires off requests to Google Functions, a Functions as a Service (FaaS) platform, which in turn interacts with the Contentful CMS. Contentful serves up the correct content based on what page the user is viewing.
A serverless architecture also means that a single content management back-end can serve multiple front-ends, including websites, mobile apps, and IoT devices. This setup is called a "headless CMS" and is made possible because the front-end and back-end communicate via regular HTTP calls.
As a result, a serverless architecture also opens the door to new developer tools. Instead of relying on products tied to a specific CMS platform, developers can now use open source frameworks (Angular or Vue), libraries (React), and tools (GraphQL).
In the past, technical and business stakeholders were forced to "take it or leave it" with a content management system. These large systems were used to handle all content for a web property. But serverless content management systems create exciting opportunities.
For example, you can allow developers to use the tools and frameworks they are already familiar with to create a custom user experience that is powered (behind the scenes) by a serverless CMS. Moreover, a single serverless CMS can be used to power a website, mobile app, and Internet of Things (IoT) app all at the same time.
Lastly, a serverless CMS scales up or down as needed – removing the need for your team to worry about infrastructure management. Instead of oversizing your resources so they can handle your peak load, going serverless allows requests to be handled on a one-by-one basis. As a result, many businesses see an immediate cost savings by switching to a serverless architecture.
Want to explore a Serverless CMS? The team at Tragic Media is focused on bringing world-class user experiences, including serverless technology, to businesses around the world. Contact Tragic Media today to discuss the pros and cons of a Serverless CMS!