What is the JAM Stack, and why does it matter?
- The JAM stack is a beautiful blend of modern web technologies that make a site faster, more secure, and more affordable
- Technology behind the JAM stack is a product of 20+ years of evolving technology
- Building your site with the JAM stack creates a better experience for your users — and your wallet
The modern web is a constantly evolving ecosystem of frontend and backend languages and practices. What started with the standardization of HTML, led to the wide acceptance of JavaScript. JavaScript led to the development of modern SPA technology.
A casual side project known now as PHP led to an explosion of growth in backend technology, which sparked growth of web-friendly implementations of Ruby, Python, and more recently NodeJS - all of which power the internet we know today.
Right now, we are watching a very important evolution take place again, with something called the JAM Stack. The JAM Stack takes the power of modern cloud computing, and blends this perfectly with the optimized frontend development workflows of modern JavaScript frameworks.
But before we get too deep into all the technology behind the JAM stack, let’s take a look at how we got here, and why it even matters.
What makes up the average website, and how does it work?
To understand JAM and what makes it so revolutionary, it helps to understand how a website actually works. To the average end-user, it is very simple - and has remained fairly consistent for decades now.
- Type a URL into your browser
- Hit enter
- Website loads (or doesn’t load - RIP mixer.com)
But it takes a shocking amount of technology to power a website. That website you are visiting actually lives on a computer, or a collection of computers someplace (aka: servers). When you type in that website address, you’re telling your browser to open a line of communication with the computer that the website lives on. This is called a client-server model.
When your computer successfully talks to the server where the website lives, a web server starts sending your computer a set of files, and your browser (Chrome, Firefox, Safari, or similar) renders these files into a website.
Ok - cool. So clients talk to servers. What’s that got to do with this “JAM stack”?
Valid question. And I promise, we’re gonna get there.
For some time now, the development community has been trying to solve this issue of having the server be a “single point of failure”. When you have hundreds of clients (users) hitting a server (website), things will slow down.
This is especially the case on monolithic websites that run heavy CMS frameworks like Wordpress, or perform a lot of app-level processing on the server. More often than not, your web server is reaching out to other servers to get data to send back to your server.
It’s a literal web. The point here is, over the last 20 years, we’ve made a lot of progress. But we’ve also made backend technologies very complex, and oftentimes very heavy on server load. This directly results in slower websites, and more errors.
There is a silver lining. This has been solved, in part, (especially over the last 5-10 years or so) with the rapid progression of cloud technologies (CDNs, Virtual Machine clusters, PaaS, etc) & frontend frameworks (React, Vue, etc).
These cloud technologies and frontend frameworks are nothing new, but until the last few years, they have not been truly accessible at the consumer level. The cost of custom development, and cost of cloud hosting has often been prohibitively expensive. For a long time, it was far cheaper for a business to pay somebody to simply spin up a Wordpress website than it was to pay for custom or semi-custom development.
The good news is that enterprise-grade security and efficient development speed are not just for large corporations anymore. New, talented, front-end focused developers are now hitting the market everyday. Open Source tech is the new norm. Companies like AWS and DigitalOcean are now providing affordable consumer cloud hosting services.
The days of using Wordpress and shared hosting for your small business website just to have it get hacked or load slowly are behind you.
The JAM Stack takes all these new modern technologies, and brings them together into a perfect blend that is affordable, secure, fast - and consumer-friendly.
JAM is the perfect marriage of modern technology offerings
Ok, your history lesson is over. Let’s talk about some cool shit now. What is the JAM stack? Well, aside from the name sounding really cool - it also means something.
Remember above when I mentioned all those backend technologies, that “client server” thing, and how servers power websites? That combination is what developers refer to as their solutions stack, or just “stack” for short.
The LAMP stack for example, stands for Linux, Apache, MySQL and PHP. This is often the stack that Wordpress lives on. The more modern MEAN stack is Mongo, Express, Angular and NodeJS. Stacks typically consist of a server language, a frontend language, and a database. So what about JAM?
JAM = JavaScript, APIs, Markup.
When we refer to the JAM stack, we’re thinking less about operating systems, languages, backends, and databases - and more about a unified methodology for building websites and web applications. We’re referring to a new way that offers better performance and security, easier and more standardized development— all at a low financial cost for running and scaling your website.
The one thing that all JAM Stack sites have in common is that they do not depend on a web server
With modern advances in cloud computing, you don’t always need a web server… Especially for a static HTML website. Heavy logic can be run on Lambdas & cloud functions as needed — eliminating a point of failure.
With JAM, your site is precompiled in JavaScript, your content is served from an API and once compiled, the Markup and its dependencies are uploaded to a CDN.
What are the biggest benefits of making the switch to this new modern methodology?
-
Better Performance. Your legacy web server would build your pages on the fly to serve to the client. With the JAM stack, there is no building. Your files are served to you quickly and efficiently over a distributed CDN network.
-
Better Security. Any server code you need to write with JAM is instead deferred to serverless microservice APIs. Without a server, your weak points are reduced to almost nothing, and third parties will handle most of your security for you.
-
Better Experience for Developers. The separation of technologies and controls that JAM brings allows developers to use their time more efficiently. Debugging and development will be more targeted, and time spent on CMS and server issues will be aggressively reduced. Separate stacks will no longer be needed for marketing and product, meaning - less “lane switching” will occur, saving hours, days, or even weeks in the development process.
-
Far More Affordable Scaling. When you’re only serving compiled HTML and asset files, scaling is only a matter of expanding your CDN coverage to more places. This is something that AWS and other cloud providers can do at an affordable price.
So… what now?
We truly are living in an amazing time for the internet. Over the next few months, and years, you will see more and more JAM stack sites hitting the market. Many already exist today, whether you’ve noticed them or not.
If you want to be a part of the future, it’s probably worth researching the JAM stack a little more on their website. If you’re a developer, this methodology will likely be your future. If you’re a small business owner, this technology will put you ahead of your competition. If you’re an SEO professional, you should know that JAM makes your job infinitely easier too.
At Polymath, we’ll be standardizing JAM for ourselves and for our clients by expanding on existing practices that we already have in place. We look forward to helping shape this new phase of the web, and welcome you to email us any questions you might have about the technology and what it means for you and your business.