API Management / Development

Why Netlify Is Tech Agnostic and Its Role in JAMstack Development

13 Jul 2020 6:00am, by

Application development has changed radically in the cloud native era; and not just with the rise of containers and Kubernetes for large-scale deployments. Web development is also undergoing a sea change, with the emergence of JAMstack as a significant trend.

Just as Docker was the original change agent for the containers revolution, a single company was behind the JAMstack movement: Netlify. So I reached out to Netlify’s co-founder and CEO Matt Biilmann, to talk about Netlify’s journey so far and its current place in the developer ecosystem.

Richard MacManus
Richard is senior editor at The New Stack and writes a weekly column about what's next on the cloud native internet. Previously he founded ReadWriteWeb in 2003 and built it into one of the world’s most influential technology news and analysis sites.

The “jam” in JAMstack refers to JavaScript, APIs and Markup; the “stack” part refers to cloud computing technologies. But it’s not so much the components of JAMstack that make it interesting. It’s that the approach decouples the frontend of web development from its backend. Ultimately this makes life less complex for the developer (although not so much for the content creator, an issue I’ll address later in the article).

But for the developer, JAMstack has many potential benefits. As Biilmann explained, “we take all of the complexity of building the deployment pipelines, of running the infrastructure, of managing serverless functions, of all of that, [and] we simply abstract that away from you.”

Note that JAMstack is great for end users too, because it moves all the dynamic programming from the server to the user’s browser. This means faster, easier to scale, and more secure websites and apps.

Netlify Is Technology Agnostic

As a baseline for developers, Netlify automates the build and deployment process. No more messing about with web servers; all you need is a frontend tool and a git repository. Using my own experimental JAMstack blog as an example: when I create a new post (in my case, using a Static Site Generator called Hugo), I build it on my local file system, “commit” the changes to GitHub, and then Netlify automatically deploys the updated site to its custom content delivery network (CDN).

All I had to do when I first set up my site was connect Netlify to GitHub, and tweak the settings so that Netlify knows I use the Hugo framework.

Which brings me to the next interesting point about Netlify: it is framework agnostic. Hugo is based on the Go programming language, but I could’ve used the Javascript-based Gatsby as my Static Site Generator — or any other frontend tool.

This technology agnosticism was by design, Biilmann told me.

“The core idea is that everything starts with the frontend developer working with the frameworks they are adopting and using, and as long as they stick to this JAMstack architecture, we can take the whole workflow — from once you write the code, till you get it in front of users.”

“We always thought about this broadly from the web architecture perspective,” he continued, “and we always saw the area of the specific frameworks and the technologies there, as an area that rotates very quickly — tools come and go.”

Netlify can work with many frontend frameworks, including Hugo, Gatsby, Vue.js, Next.js, Angular, Ember.js and Nuxt. Most of these are JavaScript frameworks — Gatsby, for example, is based on the popular open source JavaScript library, React.

“We want to embrace all of those frameworks,” said Biilmann.

It would’ve been easier to pick just one framework and promote its JAMstack approach that way, but as Biilmann explains, Netlify chose to focus on “how do we look at the whole architecture of the web in the future, and build the right primitives and the right components that framework authors can then adopt and build on, and use to push the web forward.”

APIs and Serverless Functions

My own JAMstack setup merely scratches the surface of what this approach offers. In addition to automating the build and deployment of a site or app, Netlify can help developers tap into the web’s thriving API ecosystem — as well as the relatively new and shiny world of serverless functions.

Biilmann told me they typically see people use APIs in three different ways.

First, at build time with APIs that talk to a headless CMS, an e-commerce system, or other service. Netlify recently launched a Build Plugins platform to make this easier (a similar concept to WordPress plugins, although more developer-focused in Netlify’s case). Biilmann described Netlify’s role here as being a “universal scheduler.”

“Whether you’re doing a code change in GitHub,” he said, “or a content editor does an edit in Contentful [a headless CMS], or if someone changes a product definition in Shopify, or whatever, we’ll pick up that change, we’ll run the build, we’ll orchestrate that and talk to the APIs, and deploy to the edge [Netlify’s CDN].”

The second use case is using an API in the frontend, for example talking to Stripe to manage payments. That’s a fairly common way APIs are used on the web, and Netlify doesn’t play an active role here. But it does help the developer in the third use case, which extends or complements frontend API functionality. Biilmann again used the example of Stripe to illustrate.

“Once the user makes a payment, you need some server-side code that has the secret Stripe API token and can talk to Stripe’s API from there. And that’s something we make really easy to solve through our managed environment variables and Netlify Functions.”

Should WordPress Feel Threatened?

So the JAMstack approach can be a powerful one for developers. However, if there is one key problem with JAMstack currently, it’s that it makes web publishing more complex for content creators.

Although I’m enjoying experimenting with my Hugo blog, it’s undeniably more work to run. There’s been a technical learning curve (I had to get to know the command line again), there are more steps to take when posting content (it’s not simply a matter of clicking a “Publish” button), and you’re typically dealing with more than one system (Hugo, GitHub and Netlify in my case).

But as I noted in my previous column, Gatsby wants to make JAMstack “usable for everyone” — which means going beyond developers and trying to appeal to content creators too. So over time, as happened with blogs in the early to mid-2000s, JAMstack will likely get much easier to use.

I asked Matt Biilmann whether Automattic, the company behind the dominant web CMS, WordPress, should be worried… or will it adapt?

“Basically all the traditional monolithic CMS’s have really started seeing that this decoupling [of frontend from backend] is a reality and it’s desirable for the developers,” he replied. “And people who work today directly with WordPress as their whole stack, there’s a lot of dissatisfaction of feeling that you will fall completely behind in what you can actually do on the frontend.“

That said, Biilmann thinks people from not only the WordPress community but other large CMS’s like Drupal and Sitecore, want the best of both worlds. They’re realizing, he said, that they “can keep the whole content editing experience and the admin UI, and then expose it as a headless CMS essentially.”

Where WordPress may feel threatened, said Biilmann, is with the “dedicated headless CMS’s that are building for this model [JAMstack] from the ground up.” He didn’t cite any by name, but leading players include Contentful, Ghost and Strapi. Although he also noted that there isn’t one dominant open source headless CMS yet, so perhaps Automattic sees this as an opportunity.

Regardless, it’s clear to me that Netlify will continue to occupy a central place in the emerging JAMstack ecosystem. At the very least, it is a company every web developer should check out — especially given you get to use your favorite framework.

Feature image via Pixabay.

At this time, The New Stack does not allow comments directly on this website. We invite all readers who wish to discuss a story to visit us on Twitter or Facebook. We also welcome your news tips and feedback via email: feedback@thenewstack.io.

A newsletter digest of the week’s most important stories & analyses.