• 会員限定
  • 2016/12/07 掲載

一休 CTOの伊藤直也氏が、サーバーレスアーキテクチャの本質を解き明かす

【前編】

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
  • icon-close-snsbtns
記事をお気に入りリストに登録することができます。
クラウド上でアプリケーションを構築する新しい手法として「サーバーレスアーキテクチャ」が急速に注目を集めています。しかし一方で、サーバーレスアーキテクチャを採用することで得られる本質的なメリットはなにか、そもそもサーバーレスアーキテクチャとはなにを指すのか、などについてはまだ識者の間でも議論されていることです。

Publickey 新野淳一

Publickey 新野淳一

ITジャーナリスト/Publickeyブロガー。大学でUNIXを学び、株式会社アスキーに入社。データベースのテクニカルサポート、月刊アスキーNT編集部 副編集長などを経て1998年退社、フリーランスライターに。2000年、株式会社アットマーク・アイティ設立に参画、オンラインメディア部門の役員として2007年にIPOを実現、2008年に退社。再びフリーランスとして独立し、2009年にブログメディアPublickeyを開始。現在に至る。

 10月24日に都内で開催されたイベント「QCon Tokyo 2016」の伊藤直也氏のセッション「Serverless Architecture」は、こうしたサーバーレスアーキテクチャの本質について大きな示唆をもたらす内容でした。この記事では、その内容をダイジェストで紹介します。

Serverless Architecture

 一休 CTO 伊藤直也氏。

photo

 先に結論を言ってしまうと、サーバーレスアーキテクチャとはサーバーのないアーキテクチャと言われていて、単純にはAWS LambdaとかAzure FunctionsとかGoogle Cloud FunctionsなどのクラウドのFunction-as-a-Service(FaaS)を使うことを指すのですが、それだけだとサーバーレスアーキテクチャという大げさな名前を付けるのは適当ではないと思っていて。

 ステートレスなFaaSがリアクティブ、Microservices、コレグラフィへと導く、というのがサーバーレスアーキテクチャの僕の考えです。

 ただ現場の感覚では、運用が楽でスケールして安い。従来の、インスタンスをずっと立ち上げておく運用やオンプレミスサーバの運用よりずっとよいですと。

 ただ、どんなものでもそうですが、これは銀の弾丸ではなくて向いていないシステムもありますが、アーキテクチャの性質を見てみると、いま一般に考えられているよりも広がっていくのではないか、というのがいまの自分の考えです。

photo

 で、今日の説明はこの図の通りに説明していくつもりです。

photo

 どういうことかというと、サーバーレスな実行環境を使うとShared Nothingになってステートレスになるので、必要になったときだけ計算するという体(てい)になると、これがメリットとして運用負荷が少ないとか安いにつながっていきます。

 これをさらに深掘りしていくと、必要なときになったときだけ計算するということは、イベントを受け取って実行するようにモデリングをするとうまいくいきそうだというのは皆さんお分かりになると思います。なので系の全体をイベント駆動で結んで、これがリアクティブやMicroservicesやコレオグラフィといった性質を見せて、これが総体としてスケールアウトというメリットを導くと。

 こうなります。これを具体的に見ていきたいと思います。

Function-as-a-Service(FaaS)とはなにか?

 サーバーレスといったときに、多くの人が思い浮かべることが2つあって、ひとつはサーバーの箱やLinuxといったOSがない、ということ。もうひとつは、ソフトウェア的なサーバ常駐プロセス、例えばApacheのようなものがない、ということ。

 前者の意味のサーバーレスは、PaaSのようにサーバーの運用をクラウドに任せて自分たちでサーバーを運用しなくていいということで、これは新しい概念ではないので置いといて、今回は後者の、常駐プロセスの意味でのサーバーがないというところ、つまりFaaSに焦点を当ててみます。

 FaaSとは何かというと、これらのマネージドサービスのことです。

photo

 AWS Lambdaがいちばんメジャーなので、このAWS Lambdaで説明すると、AWS上で任意の小さな関数を実行するためのサービスです。

 自分で関数のコード(Lambdaファンクション)を書いたら、それを実行する環境がいままでのアプリケーションサーバのようなものではなく、AWS Lambdaという謎の環境にデプロイすると。PythonやNode.js、Javaなどをサポートしています。

 AWS Lambdaはいろんなイベントを受け取って、それを契機に関数を実行するんですね。

photo

【次ページ】 実行時にコンテナが生成され、終了時に破棄される

関連タグ

関連コンテンツ

あなたの投稿

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます