BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース JAMstackの紹介

JAMstackの紹介

原文(投稿日:2020/04/14)へのリンク

JAMstackは、CDNから直接サービスを提供できるサイトを構築するための新しいアーキテクチャである。これは、JavaScript、API、および事前にレンダリングされたMarkupの略である。

JAMstackの背景にあるコアコンセプトは新しいものではない。Static Site Generators(またはSSG)は、10年以上にわたってそれを使用している。 Jekyllのようなソリューションにより、コンテンツクリエーターは、コストのかかるサーバやデータベースを管理する必要性をなくすことができる。代わりに、CDN(コンテンツ配信ネットワーク)を介してコンテンツを静的HTML/CSS/JavaScriptとして直接公開できる。

静的コンテンツの提供では、LAMPスタック(Linux、Apache、MySQL、PHP/Pearl/Python)をベースにすることが多いWordPressなどの既存のCMSソリューションに比べていくつかの重要な改善点がある。Smashing MagazineがJAMstackソリューションに移行したとき、彼らはパフォーマンスが10倍向上したと報告した。

JAMStackの定義には静的サイトが含まれる一方で、サーバレスアーキテクチャを維持するために必要なサードパーティのAPIプロバイダを使用する動的Webアプリケーションもサポートしている。

幸い、FireBase、Netlify、Auth0など、使いやすいサービスを提供する企業がたくさんある。それらのサービスでは、開発者がユーザ認証、データベース、さらにはLambda関数を介してカスタムコードを実行することで、何にでもアクセスできる。

JAMStackアーキテクチャを使用する利点は、一般に4つのフィールドに分けられる。

  1. パフォーマンスの向上 - 事前にレンダリングされたマークアップとアセットは、CDNから直接提供される。
  2. コストの削減/簡単なスケーリング - 静的ファイルのホスティングは安価であり、データベースやサーバがないため、ロードバランサーを扱う必要がなく、CDNがスケーリングプロセスを管理できる。
  3. セキュリティの向上 - ハッキングするサーバやデータベースがないため、多くの一般的な脆弱性が存在しなくなる。
  4. 開発エクスペリエンスの向上 - サイトコンテンツ全体が静的であるため、バージョン管理(GITなど)を介して管理できる。変更履歴の追跡がより簡単になり、サイトの更新は、サイトの新しいコピーをアップロードしてキャッシュを無効にするのと同じくらい簡単である。

LAMPやMEANのような一般的な開発スタックとは異なり、JAMstackははるかに緩いサービスとライブラリのセットに基づいているため、初期の移行がより複雑になる可能性がある。

開始するのに最適な場所は、公式のJAMstack Webサイト(https://jamstack.org/)である。ここでは、このテーマに関する多くの優れたリソースを提供している。コアコンセプトに慣れたら、https://github.com/automata/awesome-jamstackは一読する価値がある。このリストには、JAMstack Webサイトの作成と管理に推奨されるサードパーティサービスの詳細なリストが記載されている。

この記事に星をつける

おすすめ度
スタイル

BT