Netlify Aims To Simplify the Frontend With Cloud Primitives

When Matt Biilmann, CEO of Netlify, gave his original JamStack talk in April 2016, he used a diagram to show how complex the web development world had become. Now, eight years later, he said that complexity is creeping back into the frontend.

“We’ve gone a bit through the cycle where, for moments, we’ve reduced complexity a lot,” Biilmann told The New Stack. “In this new way of building, we started building back in a lot of that complexity.”

In presentations he’s been giving this year, including at the InfoBip conference in Miami, he suggested developers look at the core documentation for caching in Next.js.

“The whole diagram, the flows … look an awful lot like the diagram I had back then in that original presentation around how complex the world had become,” Biilmann said. “There’s this general sense that we are hitting more and more complexity for developers in building in this way.”

Two Frameworks, Two Approaches to Simplifying the Frontend

There are two frameworks that are pulling in the direction of more simplicity, from two different directions, Biilmann said: Astro and Remix. Astro goes back to the roots of pre-generated static HTML as a starting point.

Matt Billmann, CEO of Netlify, spoke at InfoBip Shift in Miami.

Matt Biilmann, CEO of Netlify, spoke at InfoBip Shift in Miami./Photo by Loraine Lawson

“They really did lead back into this thing of saying, if most of what we build [are] content-based websites, whether there’s some e-commerce components and so on, then let’s go back to that mental model of the simplicity of the content-driven page and specific JavaScript interactions on top of that, instead of this hybrid approach,” Biilmann said. “Let’s think much simpler in terms of rendering modes and flows.”

Remix almost takes the opposite approach, he said, by leaning into the idea of dynamic, on-the-fly rendering with edge caching, based on the coupling between the frontend code and the CDN (content delivery network) that’s been codified into platforms like Netlify, Vercel or Cloudflare. Remix leans into a simple model of a server plus standard HTTP caching rules, along with clear principles about data loading and data fetching, he said.

While there is other exciting work in more cutting-edge frameworks, he added that Remix and Astro are already being used by “at-scale customers.”

“Since the start of the year, I have been touting those two paths,” he said. “It’s two of the paths I’m excited about because they bring back some of the mental simplicity to the space from two different directions.”

Astro Partnership and Primitives

That’s one reason why, in July, Netlify made Astro an official deployment partner, which means Netlify will be sponsoring $12,500 each month towards the ongoing open source maintenance and development of Astro. The new sponsorship funding will be invested directly back into Astro’s open source community and long-term maintenance, the framework team said.

“It feels like Astro is really leaning into web standards, leaning into simplicity. It’s really aligned with our philosophy of open standards and open web.”
— Matt Biilmann, CEO of Netlify

“Astro’s approach is simpler,” Biilmann said, adding that it doesn’t rely on abstractions. “The interesting thing is that when you test out the end-to-end performance of the examples, it turns out that this really simple approach is actually potentially even faster than the more complex approach, at least in general terms of the performance.”

That made it a good fit for Netlify, he said. The company even built its developer hub and marketing site using Astro.

“It feels like Astro is really leaning into web standards, leaning into simplicity. It’s really aligned with our philosophy of open standards and open web,” Biilmann said. “With Astro, we felt that it was a good moment to step in and build a deeper partner balance sheet.”

Part of the partnership news included announcing new primitives. Netlify’s been talking a lot about primitives lately in its blog and marketing material, so The New Stack asked Biilmann to explain what Netlify means by the term.

Primitives are runtime features that the platform can expose that work across frameworks, he explained, pointing to examples such as cache primitives, which give developers the ability to control the CDN caching behavior, or serverless functions, he said.

“We’ve always taken that approach of primitives or frameworks for our side,” he said. “Our purpose is to build the best frontend cloud primitives for the whole ecosystem and then collaborate with the different frameworks to make the experience of using them within those frameworks seamless and [a] great developer experience.”

A New Durable Caching Primitive

Netlify also introduced a new primitive called durable cache. Durable cache enables persisting a response in a global object store, and then serving that as a static response from Netlify’s edge CDN servers, according to a blog post.

“This enables On Demand ISR without any front-end framework dependency, just HTTP Cache headers,” the blog post stated.

Developers use it by just appending “durable’ to a standard Cache-Control header.

“The durable flag tells Netlify to persist the response in permanent storage, and use that as the origin for any cache misses until it’s invalidated,” the post added.

A graph showing what happens to a request with or without durable cache

A graph showing what happens to a request with or without durable cache. Screenshot via Netlify’s blog.

“What that does behind the scene requires a lot of complexity and leans into some features that you will only have on the enterprise tier of many of the traditional CDN features,” Biilmann said.

He gave an example of what’s happening behind the scene with a serverless function. It returns a response and tells the edge network to cache it. The normal behavior in the CDN is that each region around the world has a proxy cache that will cache the response. It could potentially get pushed out of that cache if other items get more traffic, he added, but the idea is that it’s cached in each region.

“When you add the word ‘durable,’ when that response comes in, we’ll store the response in a central object store so it’s persisted there,” he said. “And then we’ll essentially use that static object as the response whenever there’s a cache miss in any worldwide region.”

This gives developers “very powerful caching patterns” that are normally only available when a provider deeply integrates into a framework or at the enterprise level of really expensive other CDNs, he added.

Frameworks API

Frameworks API is Netlify’s standard for making it really easy for any framework in the ecosystem to map their output to all of Netlify’s core platform primitives, Biilmann explained. It makes “the developer experience of working with a framework and Netlify really seamless and really flexible,” he added. The API provides a way to map to the primitives, he said.

Over time, Netlify has introduced separate configuration interfaces for frameworks to provision things like Edge Functions and Blobs, in an ad hoc manner, according to a blog post about the Frameworks API.

“With the Frameworks API, we’ve revisited those interfaces with a holistic frameworks-specific perspective to consolidate and optimize the experience for framework authors,” Eduardo Bouças, a Netlify principal software engineer, wrote. “The capabilities of those interfaces, as well as some new ones, are now available under a cohesive set of API endpoints, clearly documented and versioned, built with and for framework authors.”

Group Created with Sketch.

 

 

 

 

Top