Web 技術関連のキーワードについて(後編)
これまで、技術関連のキーワードということで2回に分けて紹介をしてきましたが、今回は後編ということでサーバー関連のキーワードを取り上げたいと思います。過去2回の記事は以下のページで参照できます。
サーバー関連のキーワード
2回にわたって紹介していたキーワードは、どちらかというとクライアント側に近い技術の進化でした。実際には Web に関する部分はサーバーとは切り離せない部分が多くあり、このあたりの技術は理解しておきたい、という部分を紹介していきます。
Docker、コンテナ
多くの製品はサーバー( Linux および Windows Server )の仮想マシンで動作する製品となっていますが、この場合はOS やミドルウェアとの関係も多く、またサーバーに対していろいろな機能を追加して動かす形となる製品が多くあります。この OS のレイヤーやミドルウェアに関してなるべく小さくして動かすためのコンテナという考え方は古くからあります。
例えば Sitecore の製品は 10.0 のバージョンをリリースして以降、Docker のイメージを提供しており、インストールをして起動するという形ではなく、コンテナをダウンロードしてソフトウェアを動かすということができるようになっています。これにより、開発をする際にはサーバーと同じ環境を準備することが容易となり、また新しい機能のリリース、バージョンアップなどの手続きをシンプルにすることが可能となります。
サーバーレス
コンテナから一歩進んで、サーバーレスという形で特定の機能を簡単に利用できるクラウドサービスが多く提供されています。たとえば Web 関連でいくと Vercel や Netlify など Web サーバーを用意しなくともホスティングが可能で、かつ Node.js を利用できるため簡単なアプリのホスティングもできるようになりました。
ヘッドレス CMS で Web サイトのホスティング先として選択をすると、GitHub に展開しているコードを展開、ビルドを自動化することができます。この部分は以前紹介をした Jamstack のテクノロジーとも相性がよく、新しい Web サイトを立ち上げるという点では選択肢の一つとなります。
SaaS
最後のキーワードとしては SaaS があげられます。Saas ( Software as a Service )ということで、ソフトウェアをサーバーにインストールをして利用するところから、サービスとして利用するという形となります。
すでに多くの Saas 製品が提供されており、Sitecore の製品の多くは SaaS 製品になりました。SaaS に関して必ず確認をする必要があるのは以下のポイントです。
利用するサービスを API 経由で制御することが可能か
他の製品と組み合わせて利用をする場合、API 連携がない SaaS は連携に関してコストがかかります。
API がない SaaS 製品、それは単にサーバーソフトウェアをホスティングしているだけに近いかもしれません
バージョンアップに関してサービスの中に含まれるか
他の会社の製品で SaaS という形で説明をしているが、バージョンアップに関してはサービス側で提供していないケースがあります
新機能をスムーズに利用可能になるか
バージョンアップ以外でも新機能の提供がある際に、利用することが可能かどうかというのがポイントになります。
まとめ
今回はコンテナ、サーバーレス、SaaS というキーワードを紹介しました。それぞれのキーワードに関して、しっかり理解しておくことで将来的にも利用しやすいテクノロジーをどう組み込むのかを考えていくことができます。
3回に分けてキーワードをいくつか紹介しましたが、本当はまだまだ多くのキーワードがあります。とはいえ、この辺りは最低限押さえておきたいという部分を紹介しました。