[書評]サーバーレスを支える技術を読んだのでまとめてみる 技術書典13
はじめに
この記事では技術書典13で出典されていたServerlessを支える技術 第4版を読んだ感想や読んでいて学習の手助けになったことを書きます。
書籍内では複数のクラウドサービスから複数種類のサーバーレスサービスが登場していますが
各サービスの優劣をつけるような内容ではありません。
どっちが先にリリースしたからすごいとかこっちの機能が優れているとかって話は聞いていて心象が良くないですし、書いても誰も幸せにならないとは思います。
※そもそも要件に合わせてサービスを使うことが適切だと考えている為、サービスの単純比較はナンセンスです。
なお、本書籍では内容を理解する為の用語説明と各クラウドサービスにおけるサーバーレスサービスについて解説されています。
結論
今も昔もサーバーレスにまつわる技術はクラウド事業者の間で大きな成長を遂げている。
"全てをクラウド上で"とまではいかずともインフラの設計次第で概ねサーバーレスアーキテクチャに対応できる可能性がある。
これほどまでに大きなムーブメントが起きたのはやはり、FaaSという利用体系にある。
必要な時に必要な時だけリソースを提供する、いわゆるリソースの抽象化の代表例である。
サーバーレスの定義
2012年頃に遡り、Why The Future Of Software And Apps Is Serverlessよりサーバーレスが登場します。
パブリッククラウドでサーバーレスなサービスを利用できるようになったのは2008年のGoogle App Engine(GAE)がプレビューリリースされてからでした。※諸説あり
サーバーレスという言葉はよく誤解されがちですが、サーバーレスというのはサーバーがないわけではなくサーバーを意識する必要がないということです。
サーバーレスが流行したある時からインフラは所有から利用へ転換します。
とりわけ、コンピューティングサービスを使用して、計算資源をオンデマンドで利用することから「計算機資源の抽象化」という発想が生まれました。
また、サーバーレスによって多くの開発者が管理を意識することなく、計算リソースを利用できるようになったことから
開発者がインフラのことを概ね気にすることなくプログラムの実装に集中できるようになります。
ここでインフラストラクチャの管理を意識しないということからフルマネージド
という考え方も登場します。
フルマネージドとは
誰かに管理をアウトソースすることによって管理を意識しない
ということがフルマネージドの考え方です。
フルマネージドなサービスを利用するユーザーは
- サービス提供側が定義するサービス利用料のみを支払う(コスト管理)
- 利用したいミドルウェアをお店のメニューのように選択する
という実質、自分のやりたいことに専念できるようになります。
フルマネージドとサーバーレスという考え方は必要な時に必要なだけ管理されたリソースを呼び出すという「計算機資源の抽象化」という分野を確立します。それと同時にイベントドリブンという考え方が生まれます。
イベントドリブンなアーキテクチャが生まれる
必要な時に必要な時だけ計算リソースを呼び出す
というロジックととても相性が良いのが、イベントドリブン
という概念です。
イベントドリブンというのは何かが起きたら任意の処理を実行する
という動き方のことです。
例えば、S3に画像がPUTされたらLambdaによって画像を加工するという処理はイベントドリブンです。
このイベントドリブンを採用したアーキテクチャをイベントドリブンアーキテクチャと呼び、クラウドサービスをコンポーネントという単位で結合することによって一つのアプリケーションを構築することができるようになります。
アプリケーションが内包するそれぞれの機能(ファンクション)は疎結合であり、この文脈からマイクロサービスアーキテクチャというアーキテクチャの発想につながります。
※今回は記事の趣旨からはずれるorこの話題をテーマにするとそれこそ1記事になってしまうので割愛します。
機能が疎結合なアプリケーションがもたらしたメリットとしてはモノリシックなシステム構成
からの解放が挙げられると考えられます。
サーバーレスの全体像
ここまででサーバーレスにまつわる用語をおさらいしてきましたが、サーバーレスとは計算機資源の抽象化です。
抽象化するということから以下のような図式が成り立つと考えられます。
サーバーレス = フルマネージドサービスの活用 + 疎結合な機能 + イベントドリブン
コスト次第ではあるが、サーバーレスはどれくらいリソースが必要か
ということを気にする必要がないというである。
おわり(所感)
技術書典13でなんとなく興味で購入した書籍でしたが、今回紹介した内容以外に多くのことが語られています。
今回は冒頭数十ページの紹介に留まりましたが、昨今のサーバーレス事情を一気にキャッチアップするのにはうってつけの内容だと思います。
ちなみに私はサーバーレスというサービスを初めて体感したのはAWS Lambdaでした。当時は本当に簡単にできるんだなと感動したのを覚えています。
今回は以上です。