The Jamstack architecture is rapidly gaining popularity with web developers everywhere. Jam stands for “JavaScript, APIs and Markup.” Jamstack sites are static sites built with HTML, JavaScript and CSS; they’re text files, so they can be served up fast without requiring the overhead of traditional compiled or interpreted architectures.
Tim Berners-Lee created the first static website in 1991—in fact, it was the first website ever built. In the decades after, developers moved to using interpreted and compiled code for websites and applications, requiring complicated configuration and additional overhead.
Web developers aren’t returning to static sites because of shortcomings or problems with compiled or interpreted code; that’s how APIs and other Web Services are built. However, now we use HTML and JavaScript as a client to communicate with these systems. This allows us to decouple our web applications from APIs, and take advantage of blistering fast static hosting and CDNs for the front end of the web application.
With that in mind, let’s look at some options for deploying our Jamstack websites.
One of the easiest ways to publish a static site is by using GitHub Pages. You can build your static site on your local machine, generate it, then commit the artifacts. It will be published at yourusername.github.io.
Advantages:
This method is perfect for trying out different static site generators or experimenting with a project. You can signup at GitHub for free. Pluralsight also has a guide where you can learn How to Host Your Static Webpages on GitHub Pages.
Netlify is a platform-as-a-service (PaaS) for building static websites. They provide static site hosting with content delivery networks (CDNs), which makes your site fast now matter where you are. Like GitHub Pages, you can build a static site from a repository. However, Netlify includes build services that run the build and deploy for you. So you can host your source in a repo like GitHub or Bitbucket, and Netlify will build your Gatsby, Jekyll or Hugo site for you as a part of the automated process.
Advantages:
You can sign up for Netlify and try it out here.
Vercel is another PaaS solution that provides fast static site hosting for your Jamstack solutions. Like Netlify, it contains a “turnkey” solution from a repository to a fully functioning website. It includes build services for Next.js, Gatsby, Vue and other major static site frameworks. Vercel also has templates for common static site generators (31 at the time of this writing) that can help build your project the way you’d like.
Advantages:
There are multiple ways you can host a Jamstack site on AWS, depending on your needs. They provide services to support everyone from the casual hobby blogger to a full enterprise. AWS Amplify combines these services into an easy-to-use interface for deploying Jamstack sites.
Small websites:
Large websites:
Advantages:
5. Microsoft Azure
There are several ways to host Jamstack sites on Azure. This can be especially helpful if you have other applications living in the Azure ecosystem.
Small websites:
Large websites:
Advantages:
GCP has some excellent services for tackling static site hosting.
Small websites:
Large websites:
Note: Compute Engines, Virtual Machines and Containers all require additional configuration.
Advantages:
Though Firebase is a part of Google and ties into the GCP platform, it deserves specific mention because of its speed and simplicity. It provides a fast hosting service that’s easy to scale and ties in with GCP functions if you need it.
Advantages:
The Jamstack architecture enables you to build lightning fast interfaces and host them anywhere. The services above specialize in hosting Jamstack sites, so you get features beyond simple HTML hosting.
If you’re interested in learning more about building Jamstack sites, check out these Pluralsight courses:
Previously published at https://www.pluralsight.com/blog/software-development/where-to-host-your-jamstack-site