ServerlessConfでpre-conference workshopとconference dayに参加してきた

f:id:chocopie116:20161002014038p:plain

tokyo.serverlessconf.io

こちらのイベントに参加してきました。

動機

これまでオンプレでサービスを提供しているチームに所属していたのですが、実は10月から異動になりました。 クラウド環境のアーキテクチャにあまり触れてこなかったので、積極的に触れる機会を増やしていきたいなというのがモチベーションでした。 ServerlessConfはそんなタイミングでちょうど見つけたので申込をしました。 2016/09/30(金)と10/01(土)の両日を使って、約30名限定のpre-conference workshopと、conference dayに参加してきました。 その記録です。

両日通しての個人としての学び

  • AWSでのAPI Gateway, Lambda, Cognito, DynamoDB等を利用したアプリケーションを構築する経験ができた(といってもAWSのマネジメントコンソールぽちぽちしただけ)。
  • 世の中的にサーバーレス!とよばれるアーキテクチャは、どういった機能で適用するのかプロダクションの事例を聴きながらイメージできた。
  • 黎明期っぽい感じがして、ワクワクした。
  • IaaSは機能がたくさんあってすごいなーとモチベーション上がった。
  • Amazon Echo楽しそう(技適と、日本語の文法の問題を解決して早く日本にもってきてほしい・・・)

(Day 1) pre-conference workshopのまとめ

概要としては、用意されたCloudFormationのtemplateと、node.jsで実装されたアプリケーションをセットアップしながらチャットアプリケーションを動作させました。

Surviving the Zombie Apocalypse with Serverless Microservices | AWS Compute Blog

というもので、世界の色んな所で実施しているイベントのようです。

なおワークショップで実現させた機能は

  • ユーザーは会員登録ができる
  • ユーザーはチャットアプリケーションにテキストを投稿できる
    • ChatApp Client(S3) -> ChatApp Server(API Gateway, Lambda, DynamoDB)
  • ユーザーは、SMSを使ってチャットアプリケーションにテキストを投稿できる
    • スマホのSMSアプリ -> Twillio (webhook)-> ChatApp Server(API Gateway, Lambda, DynamoDB)
  • ユーザーがチャットアプリケーションに投稿したテキスト情報を検索できるようにする。
    • ChatApp Client(S3) -> ChatApp Server(API Gateway, Lambda, DynamoDB) -> Lambda(DynamoDB trigger) -> ElasticSearch Service
  • ユーザーはslackの slash command を用いて、チャットアプリケーションに投稿できる
    • Slack Client App -> Slack(webhook) -> ChatApp Server (API Gateway, Lambda, DynamoDB) (話としてはゾンビによって地球上の人間がほとんどいなくなった状況で、残りの生存者がコミュニケーションをとるチャットアプリケーションという設定でした)

ログイン画面

f:id:chocopie116:20161002004301p:plain

チャット画面

f:id:chocopie116:20161002004323p:plain

気になる方はこちらから試すことができるようです。 GitHub - awslabs/aws-lambda-zombie-workshop: Code and walkthrough labs to set up a serverless chat application for the Zombie Apocalypse Workshop

あと全然関係ないですが、目黒のAmazon社は社内壁があって羨ましい。 f:id:chocopie116:20161002014000p:plain

(Day 2)conference dayのまとめ

どの発表も新鮮でしたが、特に以下の2つの発表は個人的に印象に残っています。

Gunosyのnewsappというニュースアプリでの事例紹介の話でした。
API Gateway, Lambda, Cognito, SNS, Kinesisを使っているプロダクションにおける具体的な利用シーン

speakerdeck.com

他の方々の発表をきく中で、サーバーレスについてどういうことが大事なんだろう?ということが気になっていた部分が整理された気がします。
AWS Lambdaが出てから、よく聞くサーバーレス!サーバーレス!ってよばれている気がしたけど、本質ってなんだろ?(BaaSとかMBaaSの時いってなかったよね?の意味)
以下の話で少し整理されたきがします

speakerdeck.com

日経さんで画像処理周りをlambda使ってる話は面白かったです sssslide.com

気になること・試してみようとおもうことこの後やってみようとおもっていること

  • テストとかどこまでできるのか気になる
  • サービスの監視とかどうやってやるのか気になる
  • Lambdaのデプロイとか面倒くさい (このあたり便利にしてくれるフレームワークと呼ばれるものが何をしてくれるか調べる Serverless, Apex)

つくってみたいアプリケーションが2つあるので、その中で手を動かしながらやってみよ。