In the various roadmap events that our partners held we saw a general trend to a more decoupled approach. An approach that simplifies the architecture of the next generation of digital marketing platforms. Both Sitecore, Kentico, Umbraco and Contentful are betting big on the Jamstack, but what is that "Jamstack"?
"Jamstack is an architecture designed to make the web faster, more secure, and easier to scale. It builds on many of the tools and workflows which developers love, and which bring maximum productivity." — definition of Jamstack
Common architecture
Before we get ahead of ourselves, let us take a step back to the most common architecture today. When a visitor clicks on a certain url that directs them to your website, a couple of things happen before he is able to see the page:
At first with the "magic of the internet" that url is matched with a specific origin, a single server that will take the responsibility to serve the page contents. Once the request reaches the server, the server gets to work on the request. And in order to so it requests multiple resources from the internal database. It discovers the components that need to be combined together on the page. Starts adding the content of the page into those components. And if all is well, hopefully in an acceptable timeframe, it will return that compiled page to the visitor. When that page is being visited again by a different visitor the same process is being executed.
Jamstack architecture
In order to speed up that process, all the different requests to the internal database can be cached. This is already done in all major platforms today. However this still means that the full page needs to be build up by combining all components together and filling in the content. In practice Jamstack enables the platform to take this a step further. Jamstack allows the pages to be combined only when the content is actually updated, this ensures that a maximum level of caching is applied. And when a visitor requests the page, it doesn't need to be build anymore, but it is ready to be served instantly. This results in a faster, more secure and an easier to scale platform.
If we compare the workload to deliver a page between the way we used to do it and the Jamstack approach it makes a ton of sense. Jamstack allows the delivery of the pages to happen much more easily, without taking a beating when there is peak in the load on your website.
Next step
So the big question that remains, if this is the better approach why aren't all platforms already running on the Jamstack? Working with the Jamstack or not is a key requirement that is best to be defined at the start of a platform, it defines the way the components of your website are setup. While starting a website on the Jamstack or not has no impact on the workload, but converting a traditional setup to the Jamstack will need some changes to the platform.