Author: Tom Petrocelli
Key Stakeholders: Chief Information Officers, Chief Technical Officers, Vice Presidents of IT, VPs of Platform Engineering, DevOps Evangelists, Platform Engineers, Release Managers, Automation Architects, Software Developers, Software Testers, Security Engineers, Software Engineering Directors and Managers, IT directors, DevOps professionals
Why It Matters: The IT industry has been undergoing a radical rethinking of how we architect application platforms. Much of the attention has been drawn to the back-end platforms built on containers and the Kubernetes ecosystem. Less has been said of the front-end environment, even though it too is undergoing a redesign.
Top Takeaway: Jamstack dovetails nicely into IT emerging architectures. It points to a future cloud-native web architecture based on Jamstack design patterns in the frontend, backed by microservices implemented as transient serverless functions and more permanent Kubernetes-based services.
No one would say that the Spring 2020 conference season was in any way usual. With COVID-19 spreading throughout the world, the vast majority of conferences became “online”, “digital”, or “virtual.” At the tail end of the season was Microsoft Build Online 2020 (May 19, 2020) and Jamstack Conf 2020 (May 27, 2020) a week later. At both conferences, there was discussion of a web application architecture called Jamstack. Indeed, it was the focus of the later conference.
The IT industry has been undergoing a radical rethinking of how we architect application platforms. Much of the attention has been drawn to the back-end platforms built on containers and the Kubernetes ecosystem. Less has been said of the front-end environment, even though it too is undergoing a redesign. This is where Jamstack comes in.
Unlike containers and Kubernetes, Jamstack is not a technology. Instead, it is a design pattern that is implemented in technology. The philosophy behind Jamstack is to isolate the web developer from the back-end systems that support their applications, creating more efficient developers. An additional goal is to increase the scalability of web apps. In this regard, the market drivers are similar to those of the Kubernetes and Serverless communities – creating applications that are easier to build and maintain while increasing scalability.
The evolution and growth of Jamstack was on display not only at the Jamstack Conference, as one would expect, but also at Microsoft Build. Part of the Azure developer presentation talked about the Jamstack architecture and how it is implemented as a service called Azure Static Web Apps. Even more interesting was the relationship with serverless. Microsoft presented a web applications architecture that was comprised of the Azure Static Web Apps service for the front-end and use of Azure Serverless Functions to implement scalable microservices as the back-end.
There are other ways the Jamstack community is looking to achieve its goals, especially reliability. Of particular interest is driving more functionality into the edge nodes. Most web applications use a content delivery network, or CDN, which caches static portions of a web site geographically closer to users. Without a CDN, all web requests would have to drag big assets such as graphics from their point of origin to the user’s browser. The amount of latency would make the web experience intolerable to many users. The Jamstack community is now looking to place some common processing in the front end CDN edge nodes, to handle common situations instead of processing them at a distant service.
While Jamstack has a lot of advantages, some of the vendor messaging can be a little confusing. For example, the idea that a web developer doesn’t have to be a full-stack developer is true. Someone, however, has to provide that back-end platform for the web developer to access. So, on an organizational level, a full stack is required for Jamstack to be meaningful. If an organization is only building apps using cloud services, this may be the case. But the majority of organizations don’t fit this description. Ultimately, creating a distinction between a web developer and platform developer is an artificial distinction. Code is code.
Ultimately, Jamstack dovetails nicely into IT emerging architectures. It points to a future cloud-native web architecture based on Jamstack design patterns in the frontend, backed by microservices implemented as transient serverless functions and more permanent Kubernetes-based services. This is the melding of three emerging architectures into one whole design that provides for easier development, maintenance, reliability, and scalability.