Cloud Native / Development

Gatsby Wants to Be Orchestration Layer for Building Websites

8 Jun 2020 6:00am, by

Website builders are one of the staple products of the internet. From Geocities in 1994, to Blogger in 2004, to Squarespace in 2014, to Gatsby in 2020, these tools continue to occupy a central place on the web. However, one of these things is not like the other…

You can draw a straight line between Geocities and Squarespace, in terms of functionality and interface. If you transported a 1994 Geocities user twenty years into the future, that person would be able to start using Squarespace within a few minutes. But they would be utterly flummoxed by Gatsby, and similar cloud native tools like Jekyll, Hugo and NextJS.

It’s not that websites themselves have changed (much). They’re still rendered with HTML and other web standards like CSS. But how they get compiled and delivered has changed a lot in the past few years.

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.

Gatsby is what’s known as a “static site generator,” which the company defines as “a software application that creates HTML pages from templates or components and a given content source.” Once created, the HTML pages are delivered to users via content delivery networks (CDNs), rather than web servers, which makes delivery speedier and more resilient.

The full functionality of Gatsby’s platform is more akin to WordPress than Squarespace. As CEO and co-founder Kyle Mathews told Forbes, “we think of ourselves as the [content management system] for the cloud era.”

That said, you can create a personal Gatsby website in a matter of minutes on Gatsby Cloud, the company’s commercial platform released last November. Gatsby Cloud is similar to, in that all the backend technology is hosted by the company.

I decided to give it a spin. After checking a couple of Gatsby Cloud options, connecting to my GitHub account, and creating a free account at the “headless CMS” service Cosmic JS, I soon had a “Gatsby provisioned blog” set up.

Compared to a traditional website builder or CMS, it takes a bit of time to adjust to the new lingo (e.g. you “trigger build” instead of “publish”). Also you have to get used to working with more than one service. For instance, I updated my content in Cosmic JS (it’s called a “headless CMS” because there’s no presentation layer; it’s just the content by itself).

Gatsby Cloud interface.

Also, note the use of the word “provisioned.” Whereas or Squarespace would say it is hosting your blog, Gatsby Cloud says it provisions it. That word sums up what cloud native is all about — it means to supply you with the necessary services to (in this case) run a blog, which includes routing it to the nearest CDN of each reader.

Of course, Kubernetes is in the business of provisioning, too — just on a much larger scale. Kubernetes is more commonly known as a container orchestration platform, and Gatsby CEO Kyle Mathews appeared to reference this in his recent blog post announcing a $28M funding round, when he called Gatsby “the orchestration layer” for building websites.

The real power of using a static site generator like Gatsby for your website is in connecting to multiple external data sources. You can pull data from various headless CMSs, SaaS services, APIs, databases, and your own file system. You can also use GraphQL, a powerful query language for APIs. In a recent contributed post on The New Stack, Fikayo Adepoju described GraphQL as “like SQL, but for the front end.”

Although Gatsby is built for the cloud world, and is an entirely new way of creating websites, a couple of its key technologies were first popularized over a decade ago. APIs were a hallmark of Web 2.0 apps like Yahoo Pipes and Flickr. But perhaps the biggest influence on Gatsby and similar cloud CMSs is the web programming language JavaScript.

JavaScript was invented by Netscape way back in 1995, but it wasn’t until the advent of Ajax in 2005 that it really took off. Ajax (“Asynchronous JavaScript and XML”) allowed developers to create websites where data was loaded in the background, thus avoiding the need for page reloads.

“So we beat on, boats against the current, borne back ceaselessly into the past.” — “The Great Gatsby,” F. Scott Fitzgerald.

Website builders were one of the many applications to take advantage of this new interactive power. For example, Weebly launched in 2006, touting its “AJAX-enabled interface” as a key feature. Around the same time, browser-based “start pages” like Netvibes, iGoogle and Microsoft’s were letting users put multiple “widgets” on their page. Widgets were like mini web apps embedded into a web page, and they were possible largely because of Ajax.

JavaScript technology didn’t stop evolving with Ajax. A JavaScript framework called React came out of Facebook in the early 2010s, helping developers to build interactive user interfaces. React was open-sourced in 2013 and a couple of years later GatsbyJS was created, “as a simple way to build a website with React.”

But the equivalent to Ajax now, at least in terms of hype, isn’t React. It’s a set of technologies labeled JAMstack. The first three letters stand for JavaScript, APIs, and Markup; the “stack” part refers to cloud computing technologies. JAMstack was coined by a company called Netlify, a cloud platform for web developers.

JAMstack is a bit like “Web 2.0” — it’s more of a marketing term than a technical one. Here’s how the official website defines it:

“Fast and secure sites and apps delivered by pre-rendering files and serving them directly from a CDN, removing the requirement to manage or run web servers.”

Regardless of what you think of the current hype around JAMstack, the definition describes pretty well what Gatsby and other static site generators do. Although it doesn’t mention the API and data aspects.

So, what’s next for Gatsby? Flush with his new round of VC funds, CEO Mathews says he wants to make Gatsby “usable for everyone.” To achieve this, the company is “working towards a low-code (or even eventually no-code) approach to Gatsby,” to bring in mainstream users.

If that sounds familiar, it’s what every website builder from Geocities to Squarespace has tried to do over the years: get as many people as humanly possible using its product.

Feature image via Pixabay.

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