プロダクションレベルで使える
――吉田さんは本書『AWSによるサーバーレスアーキテクチャ』の翻訳に際し、監修を担当されたとのことで、ぜひ本書のポイントについてうかがえればと思います。最初に、吉田さんがどんな方で、本書とどういうつながりがあるのか教えていただけますでしょうか。
吉田:吉田真吾と申します。私はAWSなどのクラウドへの基盤移行やモダン化の支援を中心にコンサルティングの仕事をしています。2年前にニューヨークでのServerlessconfに参加したときに、商用・ビジネスレベルでサーバーレスアーキテクチャを活用するために必要なさまざまな知見が披露されたり、その場で議論されたりしているのを見て、日本でも知見を共有し合う場としてサーバーレスのコミュニティを立ち上げました。
それは多くの人にサーバーレスアーキテクチャを用いたよりよいシステムを実現・利用してもらいたいとの考えからです。現状、サーバーレス化すればリアクティブで、ロバスト性に優れ、コスト効率のよいシステムが作れる場合が相当あるのにその一歩が踏み出せない人や、適切なユースケースを考慮すれば、例えば既存のシステムと組み合わせるなど現実的な形で導入できるはずなのに、新しく覚えなければいけないことを懸念して「サーバーレスは使いにくい」と考えている人が多いと感じています。
最近は、ITサービスマネジメントにおける構成管理・変更管理・リリース管理といった開発のパイプラインだけでなく、ナレッジ管理やセキュリティ面、外部のツール、サービス、ベンダーの技術的な成熟度やインシデント対応の観点といった運用上の評価をしながらサーバーレスアーキテクチャを適用する提案をしています。プロダクトにサーバーレスアーキテクチャを採用すると運用の手間が減ることが期待されますが、最終的にその責任を持つのは引き続きユーザーであることに変わりはありませんので、総合的な評価が重要です。
――本書を読んでみて、どんな感想を持たれましたか?
吉田:読む前は解説が主だっていてサンプルアプリケーションは簡単なものかなと思っていました。しかし、実際にプロダクションレベルで使えるものがベースとなっており、解説もAWSやAuth0、Firebaseなどのサービスをサーバーレスアーキテクチャの枠組みの中でしっかり使い込みながら、その際に気をつけるポイントが盛り込まれており、かなり充実した内容だなと感じました。
逆に、気をつけるべきポイントなどは刊行以降にもそれぞれのサービスの急速な進化の中で解決されていくことが多々あるため、そういった部分は読者が継続的にキャッチアップして、使い方をブラッシュアップしていかないといけない部分だなと思います。
現在の日本のサーバーレス界隈に必要なもの
――では改めて、本書の概要を教えてください。
吉田:本書はServerlessconfのオーガナイザーであるPeter Sbarskiがサーバーレス動画共有サイトのパイプラインの作り方を解説している本です。この内容はPeterが運営するAWSエンジニアの資格取得に向けたオンライン教育サービス「A Cloud Guru」で受講者が動画で閲覧できるシステムをもとにしています。
彼とはServerlessconf Tokyo 2016から2年以上協力関係にあり、毎回のカンファレンスも手伝っています。カンファレンス前日には本書の内容を簡易化したワークショップを行っていますが、毎回非常に好評を博しています。
――ポイントはどこにあるのでしょうか。
吉田:本書の狙いは「サーバーレスアーキテクチャを、商用レベルで採用するために考慮すべき視点を理解することができる」ということだと思います。
上記のように、本書は実際に数万人のユーザーが利用しているハンズオン資料をもとにして執筆されています。そのため、現場で実際につまずくポイントを始め、最短の手順で商用のサービスに活かすことができる知識やデザインパターンを知ることができます。
サーバーレスアーキテクチャは「サービス同士をイベントでつなぐ(イベントドリブン)」ためのGlue(糊)として利用することで最も大きな効果を発揮します。本書では、AWSにより提供されるFaaS(Function as a Service)であるAWS Lambdaを使い、複数のサービスの処理をつなぎながら「動画共有サイト」を実装することで、サーバーレスアーキテクチャについて学ぶことができます。
――本書が日本語で刊行されることやその役割についてはどうお考えですか?
吉田:欧米では「チーム開発の手法・フレームワーク」「運用のベストプラクティス」「マイクロサービスとしてのObservabilityをサーバーレスで確立する方法」「機械学習や音声インターフェースのバックエンドとしての活用」といった知見が盛んに共有・議論されていて、利用者やコミュニティの成熟度を感じます。
一方で、日本ではまだまだの状況です。こうした議論を日本でも深めていくには、実際に多くの人がサーバーレスアーキテクチャを使ったシステムを構築し、そのメリットやデメリットを体験しなければなりません。そのうえ、感じたことや得られたことをお互いに共有し合う必要があります。
そういう意味で、動画共有サイトという、サーバーレスアーキテクチャの1つのユースケースとして典型的なシステムの開発を実際に体験できる本書は、現在の日本のサーバーレス界隈に必要なものであると思います。
自分ならどこをどう入れ替えて進化させるかと考えてみる
――本書の内容はどういう方が対象ですか?
吉田:自分の管理するシステムのアーキテクチャを継続的にモダン化するために、「サーバーレス」という選択肢を考慮してみたい人に最適です。また、動画共有サイトをサーバーレスアーキテクチャで作るという題材を単純に面白そうだと感じる人も、読んでみると発見が多いでしょう。
――最後に、本書でサーバーレスアーキテクチャを学ぼうというCodeZine読者にアドバイスをお願いします。
吉田:本書では、Amazon API GatewayやAmazon Lambda、Auth0やFirebaseというサーバーレスなシステムのコンポーネントとして利用できるサービスが基礎から実利用までの幅広いレベルで解説されています。ですので、各サービスをきちんと理解しながら手早く学んでいけると思います。
ただ、これらのコンポーネントサービスは進化も早いため、本書で言及される気をつけるべきポイントが早晩解決されることもあるでしょう。あるいは、一部のコンポーネントを別のサービスに入れ替えたほうがいい場合もあるはずです。
しかし、それはサーバーレスアーキテクチャで何かを作って体験しないと分からないことなので、自分ならどこをどう入れ替えて進化させるかと考えてみることでさらにレベルアップできるのではないかと思います。一緒に頑張りましょう。