ちょっと話題の記事

「実践SERVERLESS」勉強会を開催しました! #cmdevio

2016.08.03

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

8/2(火) アマゾンウェブサービスジャパン(AWSJ)様オフィス@目黒にて「実践SERVERLESS」という勉強会を開催しました!本ブログはそのレポートになります。

実践SERVERLESSとは

最近よく聞く単語になってきた「サーバーレス」という単語です。2014年のAWS Lambdaの発表以降、EC2のような固定のコンピューティングリソースではなく、必要な時にだけ必要な処理を行うためのリソースを利用する考え方が徐々に広がっていきました。そうすることでコストを削減し、利用者側の運用負荷を減らすことでより本質的なビジネス課題に取り組むことができるようになります。

今回、AWSJ様と共催し、今日時点での最新のサーバーレス事情をお伝えするために今回の勉強会を開催することにしました。

AWSJ 西谷さん「Introducing Serverless Computing」

最初のセッションでは、アマゾンウェブサービスジャパンの西谷さん(@Keisuke69)からAWS Lambdaを使ったサーバーレスの紹介をしていただきました。スライドはこちらです

AWSには3つのComputeサービスが存在しています。

  • Amazon EC2
  • Amazon ECS
  • AWS Lambda

それぞれにスケールの単位や抽象化のレイヤーが違いますが、サーバーレスという文脈ではAWS Lambdaが取り上げられることが多いです。Lambdaの典型的なユースケースには以下のようなものがあります。

  • Real Time File Processing
    • SNSで動画をPOST -> 投稿された動画をLambda Functionで内容解析し、問題ない動画かどうかを判断する
  • Real Time Stream Processing
    • KinesisにPutされたログデータ等をLambdaで解析し、RDS/DynamoDB等に結果を格納する
    • MLB Statcast(メジャーリーグ中継において打球の飛距離などを算出して画面に表示するシステム)もストリーム処理で行われている。
  • ETL(Extract,Transform and Load)
    • Dynamoに格納されたデータをLambdaで読み込み、整形した上でRedshiftに格納する
  • Serverless Web and Mobile Applications
    • 静的コンテンツはS3、動的コンテンツはLambda、それらにAPI Gatewayを通してHTTPアクセスを可能にする

などなど、使い方は様々です。Lambdaを積極的に採用する動機として、機能単位でのLambda Functionデプロイにより旧来のEC2上でのサービス提供に比べ、スケーラビリティとスピード感の向上が大きいということでした。

国内ではキヤノン、岡三オンライン証券、リクルートなどでLambdaの採用事例があるとのことです。

最後に、8/19にサーバーレスに関する質問をAWSのSAにできるオフィスアワーを開催する、という案内がありました。告知ページは近日公開されるとのことなので続報を楽しみに待ちましょう。

クラスメソッド諏訪「Management of Lambda & API Gateway」

続いて、弊社諏訪からAPI GatewayとLambdaの管理ツールの勘所と実例紹介のセッションがありました。スライドはこちらです。

一般的なWEBシステムでは、クライアントからのリクエストを受け付けるフロント部分と、登録されたデータをもとに様々な処理を行うバックの部分が存在します。それぞれ、AWSにおいてLambdaと各種サービスを利用してサーバーレスアーキテクチャへと移行することができます。

サーバレスの管理ツールには様々な種類がありますが、選定の際の大事なポイントとして以下の4つ話があがりました。

Amazon API Gateway + AWS Lambdaの管理ツールとして以下の6つが紹介されており、それぞれのデモが披露されました。

クラスメソッド丹内「実際に使うCognito User Pools」

最後のセッションは、弊社丹内によるCognito User Poolsの紹介です。一週間前にGAになったばかりのこのサービスの丁寧な解説でした。スライドはこちらです。

Cognitoはもともと、Cognito IdentityとCognito Syncという2つのサービスが提供されていました。Cognito Identityでは外部で認証されたユーザに対してAWSの一時的な操作権限をSTSを利用して付与することができます。ただ、そのためにはIdentity Providerを別途自前で用意する必要がありました。Cognito User PoolsはIdentity Providerとして動くため、AWSのサービスだけでユーザの管理から有効な一時アクセスキーの発行までを行うことができるようになりました。

セッション内では、AWSが公開しているCognito Userpoolsのデモを紹介しながらCognito User Poolsでできることを分かりやすく解説していました。

まとめ

初期定員100名のところに300名を越える応募をいただき、当日キャンセル等もございましたが最終的に96名の方に参加いただきました。参加頂いた方には改めて御礼申し上げます。

勉強会でも宣伝させて頂きましたが、今週金曜日にクラスメソッドの会社説明会を実施します。「サーバーレス」という単語を軸に、クラスメソッドという会社の紹介ができればと思っています。興味がある方は是非下の記事をご覧頂き、ご応募ください!お待ちしております。