Development

Gatsby’s Content Mesh and Its Role in JAMstack

27 Jul 2020 6:00am, by

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.

Like everything else in the cloud era, the content management system (CMS) is undergoing a transition from monolithic architecture to a more modular approach. Gatsby, a cloud services company for web development, is one of a number of startups trying to rethink content management in this way.

For this week’s column, I spoke with Gatsby Chief Technology Officer Sam Bhagwat about its approach to content in the cloud native era. I also wanted to peel back the layers of the JAMstack ecosystem and clarify Gatsby’s place in it.

In October 2018, Bhagwat published a series of blog posts describing what he called a “content mesh.” He defined it as “the infrastructure layer for a decoupled website,” and explained that it included content management services, a development framework (usually JavaScript-based), and enhanced performance (for example, via the JAMstack model of using content delivery networks — CDNs — instead of web servers).

The posts were a good read, but by the end of the series I felt the “content mesh” concept was still somewhat amorphous — not fully clear. This was a familiar feeling, I realized, when it came to researching JAMstack. The technologies aren’t fully worked out yet and it’s sometimes difficult to figure out precisely what each company in this ecosystem does.

This is especially the case with Gatsby. Partly that’s because Gatsby is the name of both the company and the open source web framework project it is derived from. GatsbyJS, the framework, was created in 2015 and is based on the open source React JavaScript library. Gatsby Inc, the company, was founded several years later on the back of the success of GatsbyJS.

But what does the company do? If you read its About page, there’s no description of what products or services Gatsby offers. Instead, there’s simply a stated goal to “help website development teams build CMS-powered websites with modern tooling.” On its homepage, a product called Gatsby Cloud is referenced — which both individual users and enterprises can sign up for – but again it’s not entirely clear what this product does.

To try and pin down what Gatsby is, I asked Bhagwat to describe what role the company plays in the JAMstack ecosystem. His reply boiled down to this: Gatsby is “the orchestration layer for the content mesh.” Gatsby CEO Kyle Mathews also used that phrase, “orchestration layer,” in a recent funding announcement. It suggests that Gatsby manages all of the different components of a JAMstack website or app.

As to what those components are, Bhagwat’s series of posts in 2018 coalesced around several main features in Gatsby:

  1. For content creation, Gatsby integrates with third-party headless CMS services like Strapi and Contentful. It also can connect to specialist services like Shopify, and enterprise content systems like WordPress and Drupal.
  2. It has a development framework, in the form of the open source GatsbyJS.
  3. It integrates with build and deployment services, like Netlify. As part of this, Gatsby acts as a “static site generator” — which basically means it builds the static HTML files, to prepare them for deployment.

All of these three things make up a “content mesh,” as Bhagwat illustrated using this Venn diagram:

If you zoom in on the “website performance” part of that image, you’ll see Netlify listed. According to Bhagwat, Netlify manages three things: CI/CD, hosting, and CDN (content delivery network). Gatsby Cloud, by comparison, focuses on just the CI/CD piece — which includes the build. So Gatsby must integrate with Netlify (or others) for the hosting and CDN aspects.

Gatsby and WordPress

You can see the benefits to the JAMstack model in the tooling and performance parts of Bhagwat’s Venn diagram — better development frameworks and performance are clearly things developers will be attracted to. But what about the humble content creator? The one potential flaw in JAMstack, as I’ve noted previously, is that headless CMS services are harder for content creators to use than traditional CMS systems like WordPress and Drupal.

Bhagwat acknowledged that the content editing experience hasn’t been optimized yet in the JAMstack model.

“Right now the motivation for a lot of teams moving over to the JAMstack paradigm [is] faster iteration speeds, better development and better performance,” he said. “Content has been less in the forefront [for customers] moving over to JAMstack.”

But he added that Gatsby can be used with WordPress too, via its recently launched WordPress plugin. Essentially it enables you to use WordPress to enter content, but the build and deployment happens through Gatsby. This so-called “headless WordPress” is currently in beta and at time of writing has 40 known issues in GitHub. So there are a lot of bugs to sort out before this is a viable plugin for the ordinary WordPress user.

However, Bhagwat also cited a business use case of an organization using WordPress and Gatsby together. RealCedar is the website of a Canadian non-profit called the Western Red Cedar Lumber Association. Its new JAMstack website was created by Vancouver-based web development agency Jambaree, which only launched in June.

Jambaree claims to have “pioneered a way to combine the familiarity of the WordPress backend with a React-based Gatsby front end” — in other words, a headless WordPress. By the way, “backend” here refers to the WordPress software, which includes its user interface.

There are no further details about how Jambaree implemented this headless CMS solution for ReadCedar, but the resulting website does look good and is fast.

JAMstack Hasn’t Solved Content Yet

One thing is clear to me after reviewing the content mesh concept, talking with Bhagwat and looking into some of Gatsby’s use cases: JAMstack hasn’t fully matured yet on the content side.

But to be fair, the JAMstack approach (including via Gatsby) does offer real benefits for developers. As an indicator of developer adoption, Bhagwat noted that Gatsby’s plugin ecosystem is growing steadily. In the 21 months since the content mesh series was published, he said, “we’ve gone from probably 600 or 700 plugins to about 2,000 plugins — so there’s a lot more drop-in functionality [now].”

I’m more skeptical though about Gatsby’s ability to pull in a wider audience than developers. Content creators have little reason to switch to JAMstack currently and I don’t find the “headless WordPress” concept convincing at this point. With that said, in next week’s column I’ll be talking to one of the leading headless CMS vendors to examine this issue further.

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.