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.
1. GitHub
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:
- Cost (free)
- Git integration
- Great performance
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.
2. Netlify
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:
- Continuous integration
- Support for teams
- Fast edge servers
- Build servers for popular static site generators
- Branch deployments
- Split testing
- Lambda functions support
You can sign up for Netlify and try it out here.
3. Vercel
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:
- Continuous integration
- Support for teams
- Fast edge servers
- Build servers and templates for popular static site generators
- Lambda functions support
4. Amazon Web Services
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:
- Continuous integration
- Scalability
- Integration with other AWS services
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:
- Continuous integration
- Scalability
- Integration with other AWS services
6. Google Cloud Platform
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:
- Continuous integration
- Scalability
- Integration with other GCP services
7. Firebase Hosting
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:
- Continuous integration
- Mixed mode (static/dynamic) with GCP
- Powerful CLI
- Scalability
The Future is Jamstack
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:
Top comments (1)
Another to add to your list: surge.sh