In this talk I'll explore the evolution of e-commerce infrastructure from traditional co-located servers to the new frontier of serverless and edge computing, and how modern developer tools like Remix and Vendure fit in.
The New Frontier: E-Commerce at the Edge
AI Generated Video Summary
Today's Talk discusses the new frontier of e-commerce at the edge, focusing on headless commerce and the benefits it offers. The edge, an intermediate server, can improve website loading by rendering HTML on the server and reducing latency. Venger, an open-source headless e-commerce framework, is introduced as a solution to cache API responses at the edge and improve performance. The Venger online shop demonstrates excellent performance, highlighting the benefits of headless and edge computing in e-commerce.
1. Introduction to E-commerce at the Edge
Today, I want to talk about the new frontier, e-commerce at the edge. There are two major trends: headless and the edge. Headless commerce is a buzzword that refers to serving JSON through a JSON API instead of serving HTML. It involves removing the head from a monolithic architecture. Let me explain further.
Hi there! My name is Michael and today I want to talk to you about the new frontier, e-commerce at the edge. I've been building e-commerce applications for well over 15 years, from old school PHP 5.4 to now Node.js TypeScript and more modern tooling and that's what I want to talk about today.
First of all headless. Here's a Google trend chart for headless commerce. As you can see, more and more people are searching it, there's a lot of interest there. But what does it mean? Let's Google it and find out. When we Google it, we'll see the first page is just ads. If we scroll down and try and find out what it actually means, we will get, one after the other, content marketing blog posts. What can we tell from this? What can we tell from this? It's a buzz word, that's what we can tell. And if we try and read these and find out what it means, we're going to get lost in jargon and keywords. Let's skip that and I'm going to show you a diagram to make it simple.
We want to build a web-based e-commerce application, an online store. What do we need? We need a server. Okay, we need a database to store our product, customer, and order data. We need some business logic. This is what's going to take that data, put it into some templates, apply some business logic, and produce the website and all of its functionality. We probably have some cloud services, some caching layer, maybe, some third-party APIs to call out to, but at the end of all that, we're going to serve to our customer some HTML. That product data from the database has been put in a template and the server is returning HTML. This is what's known as a monolithic architecture, a traditional architecture for a web app. It's been around for a very long time and will be around for a very long time. This is good, but we're not talking about that now. We're talking about headless. Headless is different. How do we get from monolithic to headless? Well, it's simple. We've just got to remove the head like that. Now, what's happening? So we're no longer serving HTML from the server. Instead, we're serving JSON through a JSON API. That could be a REST API or a GraphQL API.
2. Headless Commerce and its Impact
Headless commerce is this applied to an e-commerce application. Let's look at some examples. So Headless really caught on big in the content management space, first of all. You've probably heard of some of these services and projects. WordPress is an interesting one. This is like the original old school monolithic CMS system, the granddaddy. But it's in here because you can use it as a headless CMS. It has a rest API, and it has a GraphQL API. So you can use it just like this. In the commerce space, there's lots of software as a service and open source products as well that you can use to build in this way. Again, you have pure headless offerings like Commerce Tools and Venger. And then you've got companies like Shopify, which traditional monolithic system, but have recently bet really big on Headless. And this is fantastic. You've probably heard of the Hydrogen Project and you've probably also heard that they acquired Remix as well. So this shows that a real big player and Shopify is one of the real big players in the e-commerce space. They're betting big on Headless. And this is a very good sign. And this is a sign that this is a trend that is really here to stay and it's going to drive the future of e-commerce.
3. Benefits of Headless Commerce
So we've learned what Headless is, but why are people interested in it? Why is it so big? Why is it the future? Let's look at some of the benefits.
So first off, we see that it's pretty easy now that we've separated the client from the server. We can now serve multiple clients through the same API, a mobile app, maybe an in-store point of sale system and who knows, even an internet connected fridge where you can order your groceries through the same API.
And now that we've decoupled the UI, it means that we're no longer bound to the templating systems imposed on us by a monolithic system, be that the the templates of Magento that you see here or the WordPress style templating system that's used in WooCommerce or liquid templates used by Shopify. A decoupled UI means that we can use absolutely any technology that we want to build our front ends. And this is a key point because in e-commerce, it's not uncommon that the server the platform itself is very long-lived. It's a big investment and it's going to last five years, ten years, even more. By decoupling the UI, it means we're no longer constrained by whatever technology the back end platform is built on. We can build the front end with whatever we like. Remix, for example.
4. Explaining the Edge
The edge is a server located at the edge of a network. In our case, it is an intermediate server that users go through to access our e-commerce application. This setup reduces network latency and improves user experience. For example, a potential customer in Sydney would send a packet to our server in central Europe, resulting in significant latency. By utilizing the edge, we can render HTML on the server and send it back to the customer, reducing the waiting time and improving performance.
That brings me to the next point that I want to cover. The edge. So what is the edge? Well, to explain this strange new concept, I have a special guest, the Edge. I'm sorry, I had to get a dad joke in somewhere. This is the Edge, the guitarist from YouTube. He's going to help explain what the edge is. So what is it? Okay. He says an edge server is a server located at the edge of a network.
What do we mean by the edge of a network? Well, in the center of this network, we have a cloud region, EU central one. That's where we're hosting our e-commerce application. We have users all around who want to use it. And notice that they're not accessing the cloud directly. They're going through an intermediate server that's close to them. These servers are what we refer to as the edge or edge servers.
Let's make this more concrete. Here's our node application running in central Europe. This is running our remix app, of course, and we're using a headless commerce back end. And we have a potential customer down here in Sydney. He enters the URL of our website into his browser. His browser is going to send a packet all the way to our server in central Europe, and that is 16,000 kilometers away. Just the network latency for that packet to go across is going to be over 260 milliseconds. Once it arrives on the server, we're going to be rendering HTML. This is a key point. We're talking about e-commerce. We're going to be doing server rendering, okay? SEO is king, so we're definitely going to be server rendering, so there's some work done there. Once the HTML has been rendered, we got to send it back, all the way back to Sydney. Again, 16,000 kilometers latency, so just before the first byte arrives, our customer is going to be waiting for a second, two seconds. Who knows? How is this going to look like from his point of view? Okay, he's entered the URL. The packet's traveling 16,000 kilometers. The HTML is rendering.
5. Improving Website Loading with Edge Rendering
6. Edge Computing and Venger Demo
To reduce latency in retrieving product data for our website, we can cache API responses at the edge. This revolutionary approach improves performance, global availability, and reduces the load on origin servers. Let me introduce you to Venger, an open source headless e-commerce framework built on Node.js and TypeScript. It offers GraphQL APIs, supports multiple languages and currencies, and has a growing community. You can get started with Venger in just one command and be up and running in five minutes.
To get the product data to put into our page, we still have to make a call back to our headless server in central Europe. We're still going to incur latency. But edge computing can help with that too, because we can cache our API responses at the edge. So, that product has already been requested in the past. The response has been cached right there in Sydney.
So, now let's look at it. When he wants to visit our website, he makes a request. The Edge server can start rendering the page with Remix. When it needs data, it grabs it from the Edge in an API cache. It returns it to the customer, and every resource that is needed by that web page to fully render it is right there in a CDN also. So, everything that he needs is right there in Sydney. Instead of 500 or 1,000 millisecond latency, there's 10 milliseconds or 50 milliseconds. Much better.
So, this is why I call it the new frontier. It's really a revolution in the way that we can serve applications and increase performance, increase global availability, and decrease the load that we actually have to serve on our origin servers. So, this new frontier, as I said, consists of headless architecture and edge computing. Now, what does this look like in practice? I've got a demo for you. So, let me introduce you to Venger. Venger is an open source project that I've been working on for the past four years. It's an e-commerce framework. So, it allows developers to build custom e-commerce applications. It's built on Node.js using TypeScript, and it's headless. It exposes its functionality via GraphQL APIs. Not only that, it's highly extensible. You can pretty much build anything on it. It supports multiple languages, multiple currencies, and it's got a growing and active community. It's used by lots of companies, from Fortune 500s to Unicorn startups, Y Combinator backed startups, national supermarket chains, and everything in between. If you want to try it out, you can get started in one command, npx at Venger slash create myshop. It supports SQLite, so you don't need to have a database running locally, you can literally be up and running in five minutes. Try it out after this talk or after this conference day.
7. Venger Online Shop Performance
Today, I want to show you an online shop backed by Venger and built with Remix. It runs on CloudFlare pages, an edge computing platform, and the API is cached by Stellate, an API caching service that uses the Fastly edge network. Let's take a quick tour of the website at remix-storefront.venger.io. It's running fast, with features like filtering, adding to cart, modifying the cart, and searching. But how fast is it? Let's use page speed insights to measure its performance. The results show lots of green circles and high scores, both on mobile and desktop.
This is what I want to show you today. It's an online shop backed by Venger. It's built, of course, with Remix. Running on CloudFlare pages, which is an edge computing platform. And the API is cached by Stellate, which is an API caching service which uses the Fastly edge network to cache API responses.
So we've got everything in the mix that I've talked about. So this should be good. Let's take a look. So here's the website. It's available at remix-storefront.venger.io. I'll just take you on a really quick tour. Here's the landing page. We can drill down, look at these categories, camera, photo, take a look at this. And as you can see, it's running pretty fast. We can filter, add to cart, we can take a look at the cart. Modify it. All of this is happening against against a real API. We can search.
So, that's what it's like to use. I'm sure you can agree it's pretty fast. But just how fast? Can we have an objective measure of it? Let's take a look at page speed insights. And we will take this product detail page and drop it in there. And now, it's going to run an analysis. And what we're hoping to see, of course, is lots of green circles with big numbers approaching 100, hopefully. Let's see what it gives us. First of all, we're going to see the mobile results. Okay. Lots of green circles. And almost 100 in all of those. If we go over to the desktop version, okay, this is looking really nice.
8. Benefits of Headless and Edge Computing
We have achieved excellent performance in almost all aspects, with the exception of accessibility which requires some improvement. The website is incredibly fast, as evidenced by the response times from different locations around the world. The results clearly demonstrate the benefits of headless and edge computing. This concludes the demo, and we will now return to the slides to recap the future of e-commerce.
We have basically 100 in everything almost. Accessibility needs a little tweak. And these numbers right here are ridiculously good. So it's fast. It's objectively very fast.
Let's see if we can get a measure of the benefits that edge computing is bringing in this situation. Our origin server in this case is in Europe. I'm in Austria. So we're not really seeing the full capabilities of the edge. But let's see if we can view this website from different locations around the world. Here's a page that I found that lets us do this. So it's going to make a request to this website from Singapore, Brazil, Virginia, California, Ireland, Australia. And let's see what the results are. So they all come in. Look at these. Six milliseconds. 14 milliseconds from Brazil, Virginia, one millisecond, Australia, 14 milliseconds, California, two milliseconds.
I can't think of a better illustration of this entire concept of headless and edge than this. The results speak for themselves. I'm going to shut up now. That's the end of the demo. Let's head back to the slides. To recap, we've talked about the future of e-commerce being headless, edge computing built on Venger using Remix.