Pros and cons of Jamstack
This section explains the pros and cons of implementing your website with Jamstack.
Jamstack provides the following benefits:
- Ease of maintenance
- DX (developer experience)
Jamstack hosts content as static files and eliminates the need for dynamic content generation by web applications. This makes the overall framework more resistant to malicious attacks. In Jamstack configurations, countermeasures against such attacks are mainly targeted towards the API.
The content delivered from the web server or CDN is pre-generated (i.e., pre-rendered) and read-only. You can keep your dynamic content safe by using a trusted external service vendor.
Many frameworks and hosting services that implement Jamstack cache data using a CDN. As the expiration period and mechanism of the cache can differ depending on the service, it is best to choose one that matches the characteristics of your website.
A CDN provides reliable, fast delivery with optimal load balancing.
The loading speed of a page directly affects user experience and conversion. Instead of generating a new page for each request, Jamstack delivers pre-generated content only. Moreover, the use of a CDN further reduces delivery time.
Many CDNs deploy delivery servers located near the user for faster delivery. This provides high performance without the need for expensive and complex infrastructure.
Ease of maintenance
As hosting complexity is reduced, the task of maintaining the website also becomes easier. The server admin does not need to constantly monitor pre-generated content delivered from a static hosting system or CDN.
Having done all the necessary work prior to deployment, your website will be very stable. Jamstack spares you the hassle of patching, updating, and maintaining your server.
Websites built on Jamstack generate static HTML as the final step. This means that you don't have to choose a hosting service. With many static hosting services to choose from, Jamstack frees you from vendor lock-in.
DX (developer experience)
A wide variety of existing frameworks and tools can be used to build a Jamstack. Many of them are open source and don't rely on commercial software. Therefore, it isn't hard to find developers for your Jamstack website. Any Jamstack-building skills can also be applied to other projects.
When running a website using a CMS or similar system, you typically have three or more servers: a web server, an app server, and a database server. The number of servers increases with backup or multiple units, and so does the operational cost.
Jamstack greatly reduces your cost with the use of static hosting services, CDNs, and dynamic content delivery.
Technology stack requirements
Nevertheless, apart from the optimization generator, the other technologies are all pre-requisites for conventional web building and applications. In any case, they are not difficult to master.
Jamstack generates (i.e., pre-renders) static HTML when deployed. If you have a lot of content, this will take some time. While the build time for a few pages is negligible, 10,000+ pages could take 10 minutes or more.
For example, the static site generator Gatsby has a feature called "Incremental Builds" that only regenerates pages that have changed. Adopting a static site generator can reduce your build time.
Man-hours for website modification
With a dynamic CMS, you can generate the text and content in the admin panel. A non-technical operator can easily re-organize or edit the text. However, with Jamstack, you may need to modify and re-deploy the template to make such changes.
You can reduce the developer man-hours by making the operator-modifiable parts into dynamic content. To do so, you need to determine which parts are static and which are dynamic, and devise ways to reduce the operational load for your staff.