#22「政府統一Webサイト構想が「Jamstack」に注目している理由とは?」

デジタル庁が主導する政府統一Webサイト構想において、先行していた調査事業が8月で終了し、9月からは暫定版サイトを構築する実証作業がスタートしました。この実証事業でデジタル庁が指定した評価サイト構築のための要素技術が業界で話題を呼んでいます。いくつかの要素技術の中で、今回は「Jamstack」について、Jamstackとはどんな技術か?利点はなにか?についてお話します。

※ オフラインのため、音声ファイルを再生できません。ネットワーク状況をご確認の上、再度アクセスしてください。

加藤
こんにちは!
古川
こんにちは!
加藤
ミツエーテックラジオは、株式会社ミツエーリンクスのスタッフがWebデザイン、WebフロントエンドなどのWeb技術に関するニュースやツールなどをシェアするためのポッドキャストです。司会は加藤が務めさせていただきます。今回のゲストは古川さんです。本日はよろしくお願いします!
古川
よろしくお願いします!
加藤
今日のポッドキャストは「政府統一Webサイト構想が「Jamstack」に注目している理由とは?」をテーマに、当社のJamstackマスターである古川さんにお話を伺っていきたいと思います。
古川
マスターとしてお話できるようにがんばります!
加藤
早速ですが、テーマにある政府統一Webサイトについて簡単にご説明いただいてもよろしいでしょうか。
古川
はい。「政府統一Webサイト」は、政府が運営するいろいろなWebサイトの統一を目的とした取り組みになります。
デジタル庁が主導している取り組みなんですけど、今年の8月までサービス基盤やデザインシステムなどの調査をしていて、9月から暫定版のWebサイトを構築する実証作業がスタートしました。
この暫定版のWebサイトを構築するにあたって、デジタル庁が指定した要素技術というのがちょっとした話題になっていましたよね。
加藤
ご説明ありがとうございます。そうですね。内閣官房IT総合戦略室が公開していた説明会の資料は私も拝見しました。
内閣府や各省庁がそれぞれ個別にWebサイトやシステムを構築・運用・整備しているので、ユーザーインターフェースに一貫性が無かったり、運用コストがかかっているという課題があるみたいですね。資料内でデジタル庁が指定したWebサイト構築に関する要素技術のうち「クラウド」や「ヘッドレスCMS」などと並んで「Jamstack」というキーワードがあがっていましたね。
古川
そうですね。Jamstackをかんたんに説明すると「Webサイトをより速く、安全に、そしてより簡単に拡張できるように設計されたWebサイトの仕組み」になります。デジタル庁は、このJamstackという仕組みを採用して、政府統一Webサイトを構築することを考えていて、実際に検証しようとしてるみたいです。
加藤
なるほど。ではデジタル庁も注目しているJamstack、これを機にしっかり知っておいたほうがよさそうですね…!
ちなみに海外では、Jamstackの仕組み自体はわりと前からありましたよね。
古川
2016年頃に、Netlifyの創始者であるMatt Biilmannさんが提唱したのがはじまりですね。少し経って日本でも注目され始めたという流れかなと思ってます。
加藤
当社でも2020年に開催した「Webデザイントレンド 解説セミナー」で取り上げていましたね。古川さんは、なぜ今デジタル庁がJamstackに注目しているのだと思いますか?
古川
従来のWebサイト構築の仕組みでの解決が難しい課題に多くの人が直面していて、Jamstackで改善できるかもしれない、という期待があるんじゃないかなと考えています。
加藤
なるほど。具体的にどんな課題があるのでしょうか。
古川
課題はさまざまあると思いますが、ミツエーリンクスのお客さまの多くを占めているBtoB企業の組織に絞ると、おおきく2つの課題があるのかなと思っています。ひとつはWebサイト運営の高度な専門分業化への対応で、もうひとつはサービスを提供する企業や、その従業員、Webサイトユーザー全員の体験を指す、いわゆるトータル・エクスペリエンスの向上が求められているということかなと思います。
加藤
なんだか込み入った話になってきましたね。ひとつめのWebサイト運営の高度な専門分業化への対応とはどういったことなんでしょうか。
古川
やっぱり今ってWebサイト運営がビジネスに与えるインパクトはかなり大きいと思います。すでに多くの企業がWebサイト運営に力を入れていますが、本格的になるほど高度な専門知識が必要になって、分業化が進みます。ここで問題になるのがメンバー同士のコミュニケーションですよね。
加藤
たしかに言葉ひとつとっても、文脈や立場、職種によって意味合いや使い方が違ったりしますし、認識の齟齬が起きていることにすら気づけないこともありますね。
古川
そうですよね。背景やスキルセットが異なるユーザーが誤解やストレスなくWebサイトを運営するために、根性や精神論だけでどうにかしようとするだけでは、みんな疲弊してしまいます。
人間に全部任せるのではなく、デジタルによる仕組み化も必要不可欠です。この「デジタルによる仕組み化」をどうやって実現するの?という課題がひとつになります。
加藤
なるほど。もう一つの課題が「トータル・エクスペリエンスの向上」ということですが、トータル・エクスペリエンスというのは、Webサイト運営の重要なミッションであるユーザー体験のみではなく、運営に関わる全ての関係者の体験も含めたトータルな体験の向上ということですよね。
古川
そうですね。専門分業化が進む組織では、ユーザー体験だけではなく、Webサイト運営に関わる関係者全員の体験をトータルに、かつ継続的に向上させるにはどうすればよいのか?というのがもうひとつの課題になります。
加藤
では、二つの課題をまとめると、「専門分業化が進むWebサイトを運営する組織が、Webサイトを通してよりよい顧客体験を継続的に提供するためには、Webサイトの構築・運用に関わるすべての人が無理せずにうまくいくシステムの仕組みが必要なのではないか?」ということですね。
古川
ざっくりまとめるとそうですね。Jamstackを採用すればその課題を改善できるかもしれない、ということで、注目され始めているんじゃないかな?と思っています。
加藤
ありがとうございます。
ではJamstackとはどんな仕組みになっているのか、概要を教えていただいてもよいでしょうか。
古川
一言で表すならCDNつき静的Webサイトホスティングと、サイトを安全に更新するためのリリースの仕組みがワンセットになっているというところでしょうか。
まずWebサイトを配信する仕組みなんですが、Jamstackではデータが埋め込まれた状態で生成されたHTMLをCDNで全世界に配信します。ここに加えて、Webサイトのソースコードを編集してからHTMLを生成してCDNで配信するまでの一連のワークフローが自動化されています。
加藤
話だけ聞いてると、なんだか仕組みを用意するのがかなり大変そうですね。
古川
そうですね。実際一連のシステムを自分で設計して、構築するってなるとかなり大変なんですが、大手クラウドベンダーをはじめ、いろんな企業がJamstackの仕組みをサービス化して提供し始めています。中には、ブラウザで数クリックでJamstackなサイトを始められたりするサービスもあるみたいです。
加藤
なるほど、大手クラウドベンダーにもそういった動きがあるということは、やっぱりホットな分野なんだなっていう印象を持ちますね。
古川
そうですね!
加藤
Jamstackの概要は分かったところで、冒頭でJamstackを採用することによって課題が解決できるかもとおっしゃっていたのですが、どのような利点が得られるのかというところを教えていただけますか?
古川
はい。JamstackアーキテクチャでWebサイトを構築すると、4つの利点が得られるといわれています。キーワードは「高速化」「安全性」「スケーラブル」「開発者体験」です。
加藤
まず「高速化」と「安全性」の実現について具体的に聞いてみたいのですが、これは、CDNで静的なHTMLを配信することによって実現できるところですかね?
古川
そうですね。CDNを使うので、全世界に、高速でセキュアにHTMLを配信できるのと同時に、突発的な負荷にも柔軟に対応できます。また、従来のWebサーバーに存在するような脆弱性が少なく、外からの攻撃範囲を最小限にすることで安全性を高めることができます。
加藤
CDNを活用することでサーバの負荷対策もできるというのはいいですね。
古川
従来のWebサイトの仕組みだと、大規模なサイトやアプリで多くのアクセスに対応するには、複数台のサーバーやアクセス分散のための複雑なインフラ環境を組む必要がありました。もちろん複雑になる分、管理も大変になります。その点をCDNで補っているっていう感じですかね。
加藤
なるほど、キーワードの3つ目にあげてもらった「スケーラブル」というのは負荷の度合いによって柔軟にスケールできるという意味ですか?
古川
ここでは「拡張性が高い」ということを指しています。Jamstackはマイクロサービスアーキテクチャで作るのでWebサイトを簡単に拡張することができます。マイクロサービスとは複数の小規模なサービスを組み合わせて、ひとつの大きなアプリケーションを構成する、システム構成の考え方です。
加藤
従来の構成では、ホスティングからデータ、ソースコードの管理など、Webサイトを運営するためのありとあらゆる機能がひとつのパッケージになっていたので改善や変更を加えるのが難しく、個々の変更がアプリケーション全体に影響を及ぼす可能性があるため継続的改善が簡単でなかったり、機能単位でのテストが難しかったりしてましたね。
古川
そうなんですよね。一方でマイクロサービスでは拡張性が高いことに加えて、開発スピードの向上も期待できます。
加藤
なるほど。最後に「開発者体験」を向上させる仕組みについて教えてください。
古川
それは、リリースプロセスの自動化があげられます。
Webサイトを運用するときって、従来の開発環境では、ソースコード管理ツールを用いてコードを管理し、ファイルを編集したあと問題ないかどうかローカル環境でテストをし、テストが通れば差分を抽出して、開発環境や本番環境へFTPツールを使って手作業でアップロードするというフローをたどると思うんですけど、この一連の工程は、自動化されていない場合、開発者がいちいち手作業で行うことになります。
加藤
手作業でおこなうと、やっぱりファイルのアップ漏れがあったり、アップする場所を間違えてしまったりとか…。公開作業は小さなミスが大きな事故につながりやすいのでかなり慎重さが求められますよね。
古川
そうですね。リリースまでの一連のプロセスを機械的に自動化することで、うっかりミスを減らすと同時に、ワンアクションでサイトの更新ができるわけです。
加藤
なるほど。ミスが少ない環境で作業できるということで、開発者の心理的安全性の向上にも繋がりそうですね。
古川
そうですね。今のはエンジニア視点での話だったんですが、もちろんWeb担当者にもWebサイトの更新で優れた体験を提供できます。
コンテンツを編集して更新するという体験を考えたときに、開発者はコードベースのモダンなツールを使って更新したいですし、Web担当者はいわゆるCMSのような、フォームに項目を入力する感じでサクッとコンテンツを追加したいと思います。リリースプロセスが自動化されている場合、コンテンツの更新方法を複数用意できるので「役割やスキルセットに合わせたコンテンツの更新体験」を提供できるのも、Jamstackアーキテクチャの利点かなと思います。
加藤
なるほど。聞いている限りはかなりいいことづくめな印象ですね。ただ、今までの利点はどちらかというと、実際にWebサイトを更新する人たち寄りに聞こえましたね。
古川
そうですね。安心安全なWebサイトを継続的に提供できること自体が、サイトを運営する企業にとっての利点として考えられるかなと思いますが、あとひとつ、Webサイトを更新しない人でも利点だと実感できそうなのが財務視点ですかね。Jamstackアーキテクチャは従来のWebサイトの仕組みよりもいくつかの点でコストカットできる可能性があります。
加藤
たとえばどんなところですか?
古川
Jamstackはサーバレスな構成を取るので、サーバーを意識せず、システムを構築したり・運用したりできます。つまりサーバーの保守・運用にまつわるコストを抑えることができるほか、多くのCDNでは従量課金制で提供していて、使った分だけ料金を支払えばいいので、サーバーを保有するよりもランニングコストを抑えることができます。
加藤
たしかに、商用CMSでサイトを運用しようとすると、月々何十万とかかってしまう場合が少なくないですもんね。
古川
そうですね。実は先日、ミツエーリンクスTSDというシステム専門の部署のWebサイトを構築するのに、AWS AmplifyというJamstackプラットフォームを採用したんですけど、このサービスを利用してシンプルなWebサイトホスティングを行ったところ、月々数百円程度で運用できているので、それくらいインパクトが出せる可能性があります。
加藤
月々数百円はかなり安いですね!!これは言っちゃって大丈夫なんですか?
古川
まぁ、構築してみると、なんとなくわかると思うので大丈夫だと思います。
もちろんWebサイトで使うサービスや、規模によっては金額に振れ幅があるので、必ずしも安くなると断言できませんが、事例としてはかなりおもしろいかなと思います。
加藤
はい、というわけで、Jamstackの概要を中心に聞いてきましたが、開発者目線だと、Jamstackを構築するサービスについて何があるのかとか、技術選定をどのように行うのかっていうところがやっぱり気になりますね。
古川
そうですね。そのあたりの技術的なお話については、また次の機会にお話できたらなと思います。
加藤
はい、次回も楽しみにしています!
ということで、最後に、ミツエーリンクスではスマートなコミュニケーションをデザインしたいUIデザイナー、UI開発者を募集しています。採用サイトではオンライン説明会やオンライン面接なども行っていますのでチェックしてみてください。
また、このPodcastはApple Podcast、Google Podcast、Spotify、YouTubeで配信していますので、お好みのプラットフォームでフォローいただけると、最新のエピソードをすぐ視聴できます!こちらもぜひご活用ください。ご意見、ご感想などありましたら 「#ミツエーテックラジオ」で呟いていただけると嬉しいです!
それでは今日はこの辺で!ありがとうございましたー!
古川
ありがとうございました!