伊藤直也氏が語る、サーバーレスアーキテクチャの性質を解剖する(後編)。QCon Tokyo 2016
10月24日に都内で開催されたイベント「QCon Tokyo 2016」の伊藤直也氏のセッション「Serverless Architecture」は、サーバーレスアーキテクチャの本質について大きな示唆をもたらす内容でした。この記事では、その内容をダイジェストで紹介します。
(本記事は前編、中編、後編に分かれています。いまお読みの記事は後編です。)
あらためて「サーバーレスアーキテクチャ」とは
AWS Lambdaを使っているだけなら、「サーバーレスアーキテクチャ」とおおげさに呼ばなくてもよい気がします。
Microservicesの実装手段としてのFaaSだったり、リアクティブだったりコレオグラフィに関する性質を上手く使いたい意味でこのアーキテクチャを指向するなら、それをサーバーレスアーキテクチャと呼んだらいいんじゃないの、というのが僕の勝手な意見です。
なので、最初に言っていた「サーバーレスアーキテクチャとはイベント駆動で系を設計した、リアクティブでコレオグラフィなMicroservicesのこと」という意味が分かったと思いますが、こんなことを言うとバズワードおじさんと指さされることは間違いないので、みなさん注意してください(笑)
実際、FaaSを使っていてどうなの?
ここまで見たとおり、基本的に重要なのは常駐プロセスがなくなることをきっかけに、Microservicesやコレオグラフィのようになることですが、実際の現場ではそんなに難しいことを考えている人はいなくて、OS的な意味でのサーバがなくなって、しかも課金も安くなってうれしい、という感じです。
インフラ的な意味で非常に安心感があるんですね。
日経新聞の事例では、朝に関数を2万回コールするそうなのですが、いちども障害が起きていないそうで、これはすごいと思っています。
一休でもAWS Lambdaのシステムはいちど動き続けると、ほぼメンテしなくて動き続けるので、存在を忘れてしまいそうです。
ただ、実際に下がるのは運用工数で、開発工数はそんなに下がりません。あと、デバッグが大変です。これはMicroservicesの性質ですね。
サーバーレスアーキテクチャの面白いところは、Microservicesがバズワードとしていろんなところで議論したときには、Microservicesってどうやって作るのか、という実現手段がいまひとつ分からなかったのが、サーバーレスアーキテクチャがそこに明確な実装手段としてでてきた感じがするところです。
最後に、サーバーレスアーキテクチャの未来みたいなことも話さなくてはと思っていますが、サーバーレスアーキテクチャを深掘りしていくと、けっこう面白い性質があることが分かって、アーキテクチャ的にまっとうだし、適用範囲もきちんと考えていくといま言われているよりも広げられるのではと思っています。
特にリアルタイムにスケーラビリティがほしいケースにかなり向いていて、IoTなども向いていると思います。
ただ、開発環境はもう一声ほしくて、フレームワークはいくつかありますが、まだデプロイを自動化します、程度のものなんですよね。デバッグしやすいとかIDEと統合するとか、そういうのがでてきてもいいかなと思うこともあります。
AWS、Google、Azureなどをみていると、彼らもFaaSを推しているので、高性能化と性能向上は必ず進みます。オーバーヘッドも小さくなっていくと思いますし機能も増えていって、いままでとは違うユースケースにも使えるようになるのではないかなと思います。
公開されているスライド「Serverless Architecture by Naoya Ito」
≫前編はこちら。伊藤直也氏が語る、サーバーレスアーキテクチャの性質を解剖する(前編)。QCon Tokyo 2016
≫中編はこちら。伊藤直也氏が語る、サーバーレスアーキテクチャの性質を解剖する(中編)。QCon Tokyo 2016
参考:サーバレスでスケーラブルかつ堅牢なシステムを構築するためのデザインパターンとアーキテクチャ。Serverlessconf Tokyo 2017
関連記事
あわせて読みたい
SoftLayerは「Bluemix IaaS」となってBluemixへ統合。SoftLayerブランドは終了
≪前の記事
伊藤直也氏が語る、サーバーレスアーキテクチャの性質を解剖する(中編)。QCon Tokyo 2016