AWS Lambda Meetup #0 に参加してきた #LambdaMeetup

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

先日行われた『AWS re:Invent 2014』での発表以降、至る所でAWSエンジニアの興味関心を惹き付けて来ている新サービス『AWS Lambda』。12月からはアドベントカレンダーの季節と言う事もあって『AWS Lambda Advent Calendar 2014』も開催されており、日々新しく投下されるエントリを楽しみに過ごしている事と思われます。

そんな年の瀬も押し迫った12月22日(月)に、このAWS Lambdaにちなんだイベントが開催されるという事で参加して来ました!開催場所はAWS@目黒。クリスマスも直前に控えているとあって、建物1階にはクリスマスツリーも。

lambda-meetup-0-01

都合6人、ノンストップ2時間の濃い〜内容となりました。以下メモです。

lambda-meetup-0-02

目次

 

オープニングアクト『前座Lambda』

  • 発表:片山 暁雄氏(アマゾンデータサービスジャパン/#ヤマン)

lambda-meetup-0-06

スケジュールの都合により急遽参加する時間が出来たとの事で、本編セッション開始前の時間、『オープニングアクト』として #ヤマン こと片山さんが発表を務める事に。

 

LambdaとKinesisで作るど根性Tシャツ

  • 発表:清水 崇之氏(アマゾンデータサービスジャパン/AWS芸人)

lambda-pyonkichi-tshirt

この度、晴れて公式のAWS芸人となった清水さん。『AWS芸人の定義は、"無駄に技術を使っておもしろいLTをする"。これを生業にしておるわけです。本日はこのためだけに(大阪から)やって参りました。』

過去の作品群。どれもインパクト大の面白いものばかりです。

lambda-meetup-0-07

この日はIoTにちなんでイメージとしてクラウド、ウェアラブル、機械学習、人口知能...それらから想起されるものとして『ピョン吉Tシャツ、欲しいですよね!』『欲しいですよね!(震え声』という事でこれを実際に作ってみる事に。

アーキテクチャについては、ご本人投稿の以下ブログエントリをご参照ください。(※現在前編のみ、後編も確認次第こちらに反映致します)

そしてこちらがデモ風景。ゴールに至る(条件を満たし『くせぇ』と表示される)までに室内でもも上げをひたすら続けていたのですが、撮影中に嫁さんに『何してんのアンタ?』と突っ込まれたそうですw

pyonkichi-live-demo

また、併せてもう1つのデモとして『指定のハッシュタグでつぶやかれた内容を収集し、その内容をTシャツに出す』というものも行われました。こちらのTogetterでまとめている中の、#aws_geininが付いているつぶやきがそれです。時間から察すると、イベント期間中、また会後に行われた懇親会でその技術が披露されていた様ですね(笑)

  • まとめ
    • Lambdaはエラー処理が肝。慎重に設定して行く必要がある。※特にKinesisと連携する場合
    • 上手く運用、管理出来るデザインパターンやアーキテクチャを考えていく必要がある。
    • とは言え、Lambdaの可能性は非常に大きいと考えている。EC2支配からの卒業、2 Tierアーキテクチャ等。

 

AWS Lambdaを紐解いてみた

  • 発表:篠崎 祐輔氏(株式会社ディー・エヌ・エー)

lambda-meetup-0-09

  • 主にNode.jsをいじってます。
  • 今回は1点、AWS Lambdaとは何なのかというところを噛み砕いて説明。こういう事が出来るというのを持って返ってもらいたい。
  • 『AWS Lambdaとは』→クラウドレベルでのイベント駆動開発を可能とする技術。
    • Lambda以前:最初、業界に入った頃、apacheによるcgiスタイル(もちろんEC2は無い)
    • そしてLAMPスタックやRails(勿論RDSも無かった)
    • トラフィックの増加でキャッシュ利用(ElastiCacheは無い)、複雑さを増していく。
    • さらなるトラフィックでロードバランシングが必要に(この辺でAWSが登場)
    • もっともっと複雑に。さらなるトラフィック、pubsub, notification, ビッグデータ階席、カジュアルにアップされるファイル群
      • Lambda以前のこの状態の設計がすごく難しくなって来ている。
      • スケーリングの後段、更にその後、その後...トラフィックの予想も困難に。
      • 構成をレビューする方も難しさが増してくる。ある意味運頼み?
      • ロードテストはきちんとしているか?ロードバランサーの試験というのも難しい。
  • EC2はシステムの入出力が多様化。仕様も複雑化。
    • 管理の方法も課題に。EC2で管理していたのが今まで。
    • 結果、システムが複雑化し、耐障害性、冗長構成がわかりづらくなる。 
  • そこに、救世主:AWS Lambdaの登場。
    • 最初見た時はそんなすごくない気も...?でも、掘り下げてみると...
    • lambda-meetup-0-10
    • EC2がもしなければ助かる場面が結構あった。EC2セットアップの際の稟議を通すべき内容が結構多い。構成の見積も大変。
    • ※1枚だけ切りだすとすれば、この(上記掲載の画像)スライド。この点に行き着くのではないかと。
  • AWS Lambdaの利点
    • スケーラビリティ・冗長性を考えなくて良い
    • 費用は利用した分だけ
    • フルタイムアプリケーションの作成
    • 運用コストの削減
  • 開発リードタイムの削減
    • 必要とされる知識が少ない。イベント引数、テキスト引数、開発期間、費用に関しても見積もりが立てやすい。
  • イベントによる耐障害性
    • イベントログを残しておくことで再処理さえすれば、同じ結果を得られる。
  • イベントドリブンとAWS
    • クラウドレベルでのイベントドリブン
    • イベント操作、メッセージの標準化
    • シンプリシティ
  • AWSとラムダがもたらす変化
    • イベント起点の増加
    • よりデータに着目した設計に
  • まとめ
    • Resilience
    • Agility
    • Elasticity
    • Timeliness
    • Event-Driven Computing

 

Lambda × Mobileの可能性

  • 発表:諏訪 悠紀氏(アンダースコア株式会社)

lambda-meetup-0-08

弊社からもLambdaのセッション発表にて1人参戦しておりました!アンダースコア株式会社(クラスメソッドの関連会社)所属の諏訪さんが『Lambda × Mobileの可能性』という内容で登壇しました。

セッション発表資料と詳細な内容については以下ブログエントリを諏訪さんが投稿していますので、こちらをご参照ください。

AWS Lambda Meetup #0 で Lambda × Mobile の話をしてきた | Developers.IO

 

Lambdaで作るクローラー/スクレイピング

  • 発表:佐々木 拓郎氏(NRIネットコム株式会社)

lambda-meetup-0-11

主にJAWSUG大阪で活動していました。東京は初進出。

  • AWS Lambda:サーバ不要でイベントドリブンなプログラム実行基盤
  • インフラの在り方を根底から変える!(かもしれない)今注目のアーキテクチャ。
  • S3イベント通知:S3のオブジェクトに対してのイベントを検知、処理を行う。
  • Lambdaでクローラー/スクレイピング
    • クローラーとは、スクレイピングとはの用語説明。
    • 全体像の解説。
      lambda-meetup-0-12
    • 実装ポイントの解説。
      lambda-meetup-0-13

『実行元のサーバーは果たして変わるのか』という点について、色々と試してみた:

  • 1).手動で複数回実行
    • 基本的には同一のサーバで実行される模様。
    • 30分位置いてやってみても同じサーバーだった。
  • 2).並行処理
    • 実験1)のlambdaファンクションを呼び出し10並列10ループ=100リクエストで実行。
    • 結果としては、こちらも同一サーバ(同一IP)だった。
  • 3).更に並行処理
    • (10x10) x (10x10)=10,000リクエスト。
    • →IPアドレス、分散を確認。負荷に応じて自動で拡張するようです。
    • 4〜5秒待った程度で、あとはパッと出た。
    • 高性能なDDoSツールが出来ました!w悪用厳禁。
  • 感想
    • Lambdaを導入するにも、スケジュールやジョブ制御システムが必要な場合が多い。
    • その部分は自前で用意する必要がある。
    • AWSのサービス化希望。
    • サードパーティのサービスが必要になるかも。
  • 教訓:
    • Lambdaは簡単に暗黒面に陥るので注意。(特にループ処理等は)
    • 協力過ぎる仕組みなので使い方にはご注意を。
    • バグって無限循環したらどうする?→functionを消すのが手っ取り早い解決法。(by 片山さん)

 

Lambdaによるクラウド型言語の実装

  • 発表:菅原 元気氏(クックパッド株式会社)

こちらは発表者の菅原さんによるスライド資料が既に公開されているので、その資料を掲載するに留めておこうと思います。現在のLambdaの立ち位置やLambdaを含めた気になる点についても言及が為されていました。CloudWatch Logsの使い辛さ(検索出来ない)には私も同感ですw 今後の改善に期待したいところです。

 

まとめ

以上、『Lambda Meetup #0』の参加レポートまとめでした。登壇者が場面場面で言及している様に、AWS Lambdaは色々な可能性を秘めているサービスであると言えるでしょう。実質リリース1ヶ月程度でこれだけで盛り上がりを見せている事もありますし、今後も更にLambda界隈についてはが続いていくのではないでしょうか。弊社ブログに於いてもAWS Lambdaネタの投稿はこれからも増えていく事と思いますので、是非以下のページをチェックしてみてください!こちらからは以上です。