The future of the Jamstack is composable
Article here: https://dev.to/timbenniks/the-future-of-jamstack-is-composable-3m7g
In modern web architecture, we are faced with the daunting task of composing headless sources together into a cohesive experience that feels like one system for all stakeholders. Many consider the roadblocks to be technical, but they are also organisational. This is mainly because there is no more centre of the universe - the origin server - that controls everything. Headless sources are API-first and need to be integrated to create a website or app. Without an origin server, content editors, marketers and developers alike need to connect to different systems to get things done. Mildly put, this is a struggle and, in the words of actual people I’ve worked with: a dumpster fire.
In this video: You will learn about the two things you need to create high quality, easy to manage, secure and performant front-ends that don't make a bespoke architecture or a monolith of modern tech.
1. Use the Jamstack with your favourite framework and host on your favourite CDN. 2. Behind it all, you have an orchestration platform that is vendor agnostic, has a killer SDK and gives all team members the ability to compose content without bothering developers.
Combining these two things will make your digital pipeline run smoothly and future proof the investments made. You can add legacy platforms as data sources if you have the right orchestration platform. You can slowly but surely transition away from them without doing a big-bang change offering big brands a safe path into the future.
Transcript
[Music] what is up welcome to another video and in this video i want to talk about the fact that the future of the jam stack is composable and i'm saying this because what we're seeing nowadays is that a lot of bigger brands are jumping on the bandwagon to also go headless and use all the different tools out there that fit just right for their business value put them together compose something and then make that their digital experience platform or you can call it their digital pipeline or just their website whatever you want to call it and the fact that all these bigger brands are starting to do this now they need more skill and we start to see that some issues start to arise when you make certain choices to get started and then you add all the stakeholders that these brands need from marketing to content editors to developers to business owners they all need to work together to make these big systems work well right there are multiple teams and it's just really hard and because everything is api first there's no longer a center of the universe that knows everything like we used to have in the older monolithical systems right there's one server that holds the knowledge right now you probably have 15 and how does that work how do you make sure that these different systems connect well together but are not tightly coupled that you haven't actually had tight coupling between systems that you can later not get rid of and how do you then make a great front end or multiple great front ends against these systems and so the solution i have for you is that number one use the jam stack for your front end and number two use some form of an orchestration platform to help you orchestrate all these components that they can work together and that they can seamlessly be integrated without actually hard coding and coupling them and to make sure that you're future proof there's lots of things that this platform should do and so i want to talk about these two things and of course that platform is actually uniform because this is a this is a video on the uniform channel so let's start with the jam stack and so the jam stack for the ones that don't exactly know what it is i won't go too deep but in essence it's a way to render and use modern tools but to actually render kind of old-school static websites and because a static website doesn't need an origin to know which page to render because it's just a little html file that just exists there and so if you want to scale these websites because you have let's say black friday they're just static files so you put them on the cdn close to the user and you just put a whole bunch of them on multiple places and suddenly the scaling works pretty well and because um jam stack sites are actually built at the compile step right they don't actually do any fancy stuff at run time it's all at build time and so the dynamic things that the gemsec side actually does are on build time and you can actually make that super secure and so you can make it in such a way that whatever comes out of it that goes to the cdn that the end user sees there's no information of what type of systems you are using to actually build that site so it's also very secure and so now we talked about performance security scaling and it's actually very interesting because it doesn't need this origin and as we don't have it anymore that that's a really nice little bow that we just tied there right and you might be thinking yeah but i have a website with 100 million products you know i'm amazon or whatever and of course you need some sort of dynamic stuff you might want to personalize what components you show to people based on their actions or get stock information or whatever and so there are ways to actually do dynamic stuff because generally these jam sex sites are built with really cool systems like next or nuxt or some of the more fancy new systems out there that will allow you to actually run it as a single page app once the page is being hydrated with the javascript that means that the html that was rendered previously now gets dynamicized and then you can do ajax calls and do a whole bunch of stuff but that might not help you with your architecture just yet because maybe you need some sort of specialized service that you have to call and so to make that performance and to make it work you can use stuff like serverless functions and serverless functions sounds really weird right because there's of course a server where that function runs on but what they mean by serverless is the fact that you can use it as a service and you don't have to scaffold any sort of hosting or computers or anything to make it run because your cloud or cdn hoster helps you with that right and so these serverless functions are actually really handy and they're generally quite simple so they have an input and they give an output and then they stop working again so when you call them again they wake up they do something they give an in and out and then it's done so they don't have state so when you work with them you have to keep that in mind what you can also use is something called edge handlers or edge compute different cdns call these things different things like for cell calls them edge functions and this is something when you render a page inside your gemstack like an html there's a little function that it always passes through before it renders and so if you have cookies for the from the user or any sort of information you can use that to change the stream of the html that comes out in the front end and with that you don't need javascript to do personalization because if somebody has a cookie from some crm you can actually change what html goes into the front end but only to that user in their context so the rest of the users has their own context and so there are really interesting things starting to happen now to make all that stuff work alright so we just spoke about the jam stack now let's go into the platform that you might need to help orchestrate everything before it becomes a gem sex site because at skill there's lots of things there that will be super challenging all right let's go the bigger a system gets the more sources it will be using to create the endpoint the website for the end user right sometimes it's multiple sites sometimes it's multiple cmss the bigger the organization the more stuff you need but also the bigger the organization the more people are involved we might have data analysts that look at data and make personalization stories or we might have content editors or marketers that make storytelling work with campaign pages or personalization or cross sources or data analytics things like that and of course we also have the developers and if we didn't have this amazing orchestration platform that uniform offers um generally the choices of these headless sources and what frontend is used what cdn is used and how it's all combined are id choices they're basically tech people sitting there okay i know this system and i know that one let's connect them up right if you do that you might not be thinking enough about all these other people right content editor should be able to just make a new page with products that they want they need to query them from a system they need to be able to grab cms data from cmsa which is global with legals and then another piece of content from cmsb and then a bit from a crm and then personalize across all of it that is kind of a daunting task if you don't have an orchestration platform because you kind of have to all hard code it or make something super fancy and dynamic and that's just very challenging and so uniform has a platform that helps with all of this it kind of offers on the one end a no code tool with basically an interface where you can compose in a canvas and make a page or a part of a page where you point to the different sources and then personalize for example and then on the front end there's an sdk to query all this data but in a super nice way and so in between those two there's an instant preview that you can use your production site for and it just re-renders it with javascript and you can see exactly what you're doing and so we've done it this way so everybody can be happy right and the system has no opinion it's completely agnostic to whatever integration comes in but also we don't dictate use that cdn or use that hosting provider we don't dictate use jquery or angular you can choose whatever you want i would say go next or next right but you can choose a developer can choose in a year to change it up and if you do it this way where there is basically things coming into the platform but they're not hard coded or they're not really tightly coupled you actually don't have to fully re-platform again if you want to make a new site or when you want to add like a mobile app or a change because it's basically just an integration that you switch and on the front end you change a bit of the code in the data mapping and then it works again and this hopefully helps people to have this full chain feeling of okay we have content editing we have integration stuff so we can author we can also develop well we can publish well and i like it should cover everything and um this is not a video where we're going super deep on how that data fetching then works and why is it completely decoupled and how that exactly works for that if you want to there's a bunch of other videos we have and there's documentation that you can read and or you just call me or you go to my twitter and ask me and because i'm really happy to talk to you about this system is i think if you combine uniforms orchestration platform with the jam stack and you connect them up this is where the future lies for the composable web thank you for watching and i hope to see you soon cheers
Related videos

Jamstack Fridays with T&T | Questions we get from clients: Gatsby vs Next.js
In this episode of Jamstack Fridays with T&T we discuss common questions our clients ask. In this video we discuss Gatsby vs Next.js and how to choose the right tool for you.

Jamstack personalization with Contentstack and Uniform
#Contenstack and #Uniform personalisation for #Jamstack websites. This website runs on Gatsby and we'll be showing you how easy it is to personalize website with Uniform!

Jamstack Fridays with T&T: Braking Jamstack architecture cliches
Join Tony and @timbenniks at another episode of Jamstack Fridays with T&T. This week the guys are discussing how to break #Jamstack #architecture cliches and they show an out-of-the box architecture for some Friday…