norichintnk
@norichintnk (t. m.)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Jamstackの構成がわからない

目標

Jamstackの構成の理解

詳細

当方エンジニアではないのですがJamstackの構成を知りたいです。JamstackはLAMPstackとかと違って特定のサービスを使ったアーキテクチャではないことはわかっているのですが、いろんなサイトでそれぞれ微妙に構図が違って混乱している状態です。
例えばですが以下の2つの画像。
1.上の画像:ビルドの向きがパイプラインからSSG 下の画像:ホスティングサーバーからSSG
2.上の画像:SSGからHeadlessCMSにコンテンツ取得 下の画像:SSGとHeadlessCMSのやり取りなし
どっちが正しいのでしょうか...

その他

3.API・Web・DBサーバーはどこでしょうか?矢印関係で教えていただけると嬉しいです。
4.Jamstackがサーバーレスでセキュリティ的にも安全と言われるのはユーザーから直接アクセスできるのが静的コンテンツしか置いてないホスティングサーバーのみだからでという認識で合ってますでしょうか??
5.Jamstackの「J」、JavaScriptはどこで走っているのでしょうか?コンテンツ取得の実装とかに使われてるのでしょうか?
以上になります。長くなってしまいましたがご回答のほどよろしくお願いいたします。
image.png

引用:https://mintaku-blog.net/jamstack/

image.png
引用:https://blog.microcms.io/what-is-jamstack/

0

2Answer

1.上の画像:ビルドの向きがパイプラインからSSG 下の画像:ホスティングサーバーからSSG

どちらも正しいです。
上図の__Firebase Hosting__はホスティングのみのサービス、下図中央の__Netlify__と__AWS Amplify__はホスティングに加えビルドなどのサービスも提供しています。
質問でおっしゃっている通り、Jamstackは特定のサービスを使ったアーキテクチャではないので、使用するサービスによって構成が変わります。
(と言っても上の画像はかなり特殊な例だと思いますが)


2.上の画像:SSGからHeadlessCMSにコンテンツ取得 下の画像:SSGとHeadlessCMSのやり取りなし

SSGはHeadlessCMSからコンテンツ取得をするので上図の方が正しいでしょうか。
おそらく下図もデータのやり取りの矢印を省略しているだけです。下図掲載サイトでも図のそばに

このビルドの際に静的サイトジェネレータがAPIをコールし、コンテンツを事前に埋め込んだ静的ファイルが生成されます。

と書かれていてこの「API」というのはHeadlessCMSのAPIのことを指しています。


3.API・Web・DBサーバーはどこでしょうか?矢印関係で教えていただけると嬉しいです。

Jamstackはサーバーレスな(開発者が管理するサーバーが無い)構成なので、従来のWebサーバー/APサーバー/DBは存在しません。
参考:https://jamstack.org/
役割から考えて無理矢理紐づけるとファイルを配信するWebサーバーはホスティングサービス(CDN)にあたり、APサーバー/DBはHeadlessCMSにあたるでしょうか。


4.Jamstackがサーバーレスでセキュリティ的にも安全と言われるのはユーザーから直接アクセスできるのが静的コンテンツしか置いてないホスティングサーバーのみだからでという認識で合ってますでしょうか??

詳しくないので断言はできないのですが、基本的にはその認識で合っていると思います。
その他、ホスティングサービスやHeadlessCMSなども各ベンダーがセキュリティを担保しているはずなので(自分で作るより)セキュアだよねということらしいです。


5.Jamstackの「J」、JavaScriptはどこで走っているのでしょうか?コンテンツ取得の実装とかに使われてるのでしょうか?

SSGのところで走っています。
ビルド時のコンテンツ取得・静的ファイル生成をJavaScriptが行っています。

0Like

Comments

  1. 「APIサーバー」というのが何を指しているのか分からないのですが(Web APIを公開しているWebサーバー?)、データはHeadlessCMSが管理してくれていますので、HeadlessCMSが公開しているAPIを叩いてデータを読み出したり書き込んだりする、という形になります。
  2. @norichintnk

    Questioner

    ありがとうございます!

ひとつひとつ丁寧に解説してくださりありがとうございます!
データはHeadlessCMS内のAPIサーバーで管理しているという理解で合ってますでしょうか?

0Like

Your answer might help someone💌