JAWS-UG 千葉支部 Vol.5 ~秋のAWS Lambda & API Gateway 祭り!!~ の参加メモ #jawsug #chibadan

↓なイベントに参加して

jawsug-chiba.doorkeeper.jp

その後の懇親会でLTしてきましたので、簡単なメモを

jawsug-chiba.doorkeeper.jp 

会場は渋谷ヒカリエにあるmedibaさん。オシャレ!

f:id:uchimanajet7:20150909144030j:plain

www.mediba.jp

 

 以下メモ(個人的感想含む)

 1.クラウドネイティブ化する未来

www.slideshare.net

  •  ADSJのSA 西谷さんの話からスタート
  • 最初にもらったオーダーは「AWS LambdaとAmazon API Gateway概要」というテーマ
  • だけどそれは「AWS Black Belt Tech Webinar」でやったからそっちの資料を後でみてください
  • 本当は30分間RESTful APIの話をしてやろうかと思ってましたw
  • クラウドファーストはもはや当たり前
  • 時代はクラウドファーストからクラウドネイティブへ
  • クラウドのマネージドサービスをフル活用したアーキテクチャ
  • 例えばサーバーレスアーキテクチャとしてEC2を使わないでAPI Gateway + Lambdaを用いて実装する
  • これにより本来の目的であるビジネスロジックに集中できる
  • マネージドサービスのため可用性やキャパシティ、セキュリティなど重要だけど手間がかかる部分に手を割かなくて済む
  • 仮にEC2を使う必要が出てきても柔軟に組み入れることが可能
  • ただしその場合はCodeDeploy、Elastic Beanstalk、OpsWorks等のサービスを利用して自動化は必須
  • これで利用者は自分の一番したいことを「何がしたい」のか記述するだけでいい
  • 時代はAPI!いよいよ日本にもAPI時代が来た!
  • API Gateway に登録する際はマネージメントコンソールからポチポチ登録するとしんどい
  • なのでSwaggerを利用して登録しましょうーみんなそうしてる
  • /pets のようにRESTfulでリソースを定義するときは複数形の名詞にするのがいい。これは豆知識だそうですよー
  • クラウドを使って楽をしよう」
  • 現状だとすべてがそこに行けるわけではないけど、行ける部分はどんどん持って行った方が幸せになれるなーと感じた

www.slideshare.net

 

www.slideshare.net

aws.amazon.com

 2."時間の流れ" という無限リストを扱うAWS Lambda

www.slideshare.net

  • blogでおなじみの会社クラスメソッドの 都元さんのお話
  • 自己紹介での人間CloudFormer!!
  • API Gateway成分はゼロですw
  • そしてLambda が出てくるのも後半の方にちょっとだけあるかなぁーどうかなぁー
  • バッチ処理について
  • 定期的なバッチ処理には色々と考えなくてはならない課題がある
  • cronでバッチサーバを運用するのはよくある話
  • 発火のタイミングはどうする?冗長化は?とか
  • ジョブスケジューラー(JS)とジョブワーカー(JW)に分割して考える
  • JWのMulti-AZ化は簡単で、SQSのProducer / Consumerパターンを利用すればいい
  • JS側は簡単にはいかなかった
  • 解決策その1としてBrian というOSSを作った
  • QuartzというJavaOSSジョブスケジューラーが元
  • 高機能だが複雑な為変更が困難
  • また稼働にはRDS+EC2を4台使うのでコストも高い
  • 解決策その2としてJimmy 
  • 中身はこちらもQuartzを利用
  • DynamoDBとSNSを使い単純化
  • やっと Lambdaの登場w
  • そしてLambdaに要望!デプロイパラメータが指定したい。指定したパラメータはcontextから読み出したい
  • Lambda Functionにタグがあればタグで解決できるかも知れない!
  • タグが存在しなかったw
  • configuration中のDescriptionに突っ込めばいけるんじゃないか案w
  • バッチ処理でみんな同じように悩んでるのでAWS側にスケジューラーが追加されたら嬉しいなぁ

github.com

dev.classmethod.jp

 3.モバイル✕API Gateway ときどきLambda

www.slideshare.net

  • NRIネットコムの 佐々木さんのお話
  • AWSの一番分厚い本w 書いてます
  • WEB+DB PRESS Vol.88 にも記事書いてます
  • Rubyによるクローラーの本も書いてます
  • 会社にはPepperとNAOが居ます
  • ちょっとアンケートを取ります。手を挙げてください。
  • アンケートに全部該当した人はもう今日帰っていいですw
  • モバイルアプリ開発の課題として、バースト時のサーバサイドのスケーラビリティの問題やOSや端末の多様化の問題がある
  • 外部要因による開発期間が短くなる問題もある
  • モバイルプッシュの後のサーバ負荷が半端ない
  • 課題は2つに集約される。1つはサーバサイドの開発運用に関して。もう1つはアプリサイドの工数とリリース期間の短縮に関して
  • AWSを利用するとどーやってカイゼン出来るのか?
  • API GatewayのWebinarを聞いた時の感想は「全員失業だな。転職の準備をしようw」
  • API GatewayのMock機能を利用してモバイルアプリ開発を行う
  • 簡単に静的JSONを返すAPIを作れる
  • おまけにレスポンスコードも変えられる
  • 今度はLambdaを組み合わせてAPIの遅延を再現する
  • Lambda側でSleep処理を入れることでレスポンスの遅いMockを作れる
  • これを利用することによってUI/UXを適切に調整する
  • 今資料を共有しているサービスをAPI Gatewayで置き換えてみた
  • Mapping Templateは最初の難関
  • API Gatewayの感想は基本的は簡単便利
  • Getは簡単だけどPostは悩む
  • 1つのリソースにGet/Postなどのメソッドは各1だけ
  • CROSなどの情報が少ない
  • マネージメントコンソールはよくできてるけど面倒
  • CLIとか他のツールを使うことを検討中
  • 実際の使い方や細かい説明も色々とあって非常に参考になりました

iPadタブレットを使ったペーパーレス会議「モバイル会議Ⅱ」 | NRIネットコム

http://www.nri-net.com/mobileconf/

blog.takuros.net

 LT1.ラズパイからセンサーデータをAPI Gateway+Lambdaに送るよ

www.slideshare.net

  • ハンズラボの今井さんのお話
  • 千葉県出身なのでJAWS-UG千葉にやってきましたw
  • 小学校から大学まで千葉でした
  • ハンズラボにはIoT部がある
  • それに入るとラズパイを買ってもらえる
  • 面白そうなので入ってみた
  • そしたら本当にラズパイを買ってもらえたw
  • ついでにセンサー類も買ってもらえた
  • 買ってもらったので使ってみるが、せっかくだからAWSと組みわせる
  • で、使おうと思ったらラズパイはデジタルセンサーしか使えない
  • 買ってもらったセンサーはアナログでした・・・
  • 調べ見たらAruduinoはアナログセンサーが使えるらしい
  • なので、ラズパイ+Aruduino+アナログセンサーで使う
  • センサーデータの値をAWSに送って可視化
  • API Gateway+Lambdaで作ってみる
  • awkを通すと何も表示されなくてはまる
  • mawkを使うと表示された
  • Aruduinoが出力する改行コードがCRLFではまる
  • DynamoDBと更新用のLambdaを作ってAPI Gatewayからたたけるようにした
  • DynamoDBStreamとLambdaを使ってCloudWatchでデータを可視化した
  • 料金は使った分だけなので今回は無料枠に収まり0円
  • センサーは面白い!
  • DynamoDBStream&LambdaでCloudWatchにてデータ可視化は手軽でいいなぁーと

 LT2.EC2レスに挑戦! フルマネージドのポイントシステム

www.slideshare.net

  • ハンズラボの加藤さんのお話
  • シンガポール店向けのポイントシステムとして実際に構築中の内容
  • 好きなAWSサービスはLambda
  • このマークが歩く寝袋に見えるw
  • 何故EC2レスでフルマネージドサービスに拘るのか?
  • 単純にエンジニアとしてわくわくする
  • コスト圧縮になるため
  • 運用が大変なのでこれもリソース圧縮できる
  • あと、ボスの意向w
  • 動的なデータはすべてJSONにしてトラフィックを軽減している
  • 静的なファイルはCloudFront
  • 動的な情報をJSONで変更するのはAPI Gateway+Lambda
  • デザイン(画面構成?)の描画はクライアントのAjax
  • API GatewayAPI Keyは認証に使ってはだめ
  • JWTというものがある
  • 課題としてポイントのリアルタイム性をどう担保するか
  • レイテンシーの問題
  • Lambdaも1つのFunctionだけだと楽だけど共通化とかを考える面倒事が増える
  • 認証周りの実例は聞きごたえありで非常に楽しかった
  • ハンズラボさんぐらいの規模で大丈夫なら弊社でも使える仕組みだなーと

ここで本編終了ー

で、この後は懇親会でのお話に

懇親会LT1.API Gatewayで re:Inventのセッション探し

www.slideshare.net

  • SUPINF の@pottavaさんのお話
  • JAWS-UG コンテナ支部の中の人
  • 次回のコンテナ支部は2015/09/14(月)にあるよ!参加してねー
  • ECSのメンバー来日してるので話してくれる予定
  • re:Inventのセッション検索APIAPI Gatewayで使ってみたら凄いのでは!?
  • セッション検索・・・APIじゃなかったw
  • ないなら作ればいい!なので作りました!!
  • API GatewayとECSを使った構成で動かしてる
  • さすがコンテナ支部!!
  • そしてAPIgolangで書かれてるじゃありませんか!素敵!!
  • Lambdaでいいんじゃ?w
  • 切り口が楽しいLTでしたー

github.com

懇親会LT2. まだオンプレと同じ監視をして消耗してるの?

  • blogでおなじみの会社クラスメソッドの 大栗さんのお話
  • 資料がUPされてない??
  • 監視の話?この時懇親会が丁度盛り上がってたので・・・
  • 途中でHeroku が提唱しているTwelve-Factor Appの話は出てた
  • おまけにこのタイミングでナースコスも投入されたのでさらに撮影会が始まったりとなかなかの混乱ぶりがw
  • 懇親会LT恐るべし
  • まーblogの会社の中の人なので何かあればblogで公開されると信じてます!
  • ちなみにHerokuはAPIのデザインガイドも公開していて非常に参考になりますよー

twelve-factor-ja.herokuapp.com


github.com

懇親会LT3.ドローンの安全運転をささえるLambda

www.slideshare.net

  • 次はドローンを持って登場の吉田さんのお話
  • 会場でドローンを飛ばすと伺っていたのでてっきり小さい物かと思いきや・・・
  • DJI社ドローン Phantom 3 じゃありませんか!!
  • 間近で見るとやっぱり結構デカイ!さすがお高いだけあるかなぁー 
  • 先日あったMicrosoftのイベントでドローン取り上げられた
  • そのイベント参加してそのセッションも見ましたが、すごい盛り上がりでした
  • 海外ではドローンレースも盛ん
  • 安全に止まることが一番重要
  • 反復練習をしないと上達しないけど、やっぱり飽きる
  • 何か楽しみながらやれる方法が必要
  • IFTTTのDo Buttonを使って実現してみる
  • Do Button→Slack→zapier→Lambda→DynamoDB
  • いよいよ実際にドローンを飛ばしてのデモ!
  • が、しかしドローン飛ばず!!
  • キャリブレーションからやり直しなのでちょっと待ってw
  • ちなみにドローンだとiPadの画面がタップ出来ないからDo Button押せないw
  • 飛ばないというハプニングも含めて楽しいLTでした!

yoshidashingo.hatenablog.com

docs.com

www.dji.com

懇親会LT4.AWS SDK for Go を使って作ってみた話

speakerdeck.com

  • というわけで私ですw
  • 直前がドローンが飛ばないドローンプレゼンのため会場のざわざわ感が半端ありませんw
  • そして目の前ではドローンのキャリブレーションをやり続ける人が手にドローンを持ってドローンをグルグル回してました
  • そんな楽しい雰囲気のなかLT出来た良かったです
  • 伝えたいことをまとめると
  • golang楽しいよ!golang
  • AWS SDK for Go の正式リリースまだですか?
  • 高尾山に集合して欲しいんです!
  • やっと公式に事例紹介されました!ちょー嬉しいです!!
  • 以上!
  • あーあとLambdaでGoが使えるようになると嬉しいなー
  • というわけで、高尾山よろしくお願い致します
  • 中央線と京王線で申込みが分かれてますが、会場は同じで内容も同じです
  • 京王線側にはまだ余裕がありますので是非!

jaws-ug-chuoline.doorkeeper.jp

jawsug-keioline.doorkeeper.jp

github.com

github.com

AWS 導入事例:株式会社ヴァル研究所 | アマゾン ウェブ サービス(AWS 日本語)

https://aws.amazon.com/jp/solutions/case-studies/val/

予定ではこれで懇親会LTも終了だったのですが飛び込みの参加者がっ!!

懇親会LT Ex1.Lambda を cron 的に使う

qiita.com

  • 俺たちの松井さんのお話キター!!
  • みんな欲しくて考えるLambdaをcron的に使う方法
  • これまではS3→Lambda→S3でループさせる方法
  • パティーンってw
  • ただこれだと1回ミスするとそこでループが終了してしまう
  • これを解消するのがマルチクラウドパティーンw
  • Azure Job Scheduler と Lambdaを組み合わせる
  • しかし、やはりAWSだけで実現するにはどうしたらいいのか??
  • Dead Dead Queue DeDeDeDe-Destruction パティーン
  • SQSを2つ用意してDead Queue指定ののちお互いにキューを投げあう
  • 一度も受信されなかったメッセージは Dead Queue には入らなかったとのこと
  • Return to myself パティーン
  • SQS、SNS、CloudWatch でアラームをトリガーにループが出来る
  • これは面白い構成!そしてどれもお金のかからないサービスばかり!
  • やっぱりAWSがスケジューラー的なものを用意してくれると嬉しいですねー

懇親会LT Ex2. JAWS FESTA 2015 の紹介

JAWS FESTA Kyushu 2015

https://www.facebook.com/events/1617912478457017/

  • JAWS-UG 全国から金春さん
  • 大阪から来ました。私のこと知ってますか?
  • ここにいる人は全員 2015年11月3日に九州に来てください
  • 今年のJAWS FESTAは九州でやります!
  • もうちょっとしたら募集サイトとかも上がると思うので登録してください
  • 今年は九州!!前後は平日かーうむー
2015/09/11 17:00 追記

申込みサイトが公開されました!

jaws-ug-kyushu.doorkeeper.jp

これで懇親会LTもすべて終了ですが・・・おや、前でドローンを持って変な踊り的な動きをしている人がいますねw

ドローンが飛んだのか飛ばなかったのか!?ナースコスってなによ??って言う人は↓なまとめをご覧くださいw

togetter.com

盛りだくさんで非常に楽しいJAWS−UGでした!ほぼ1年ぶりの開催だそうですが千葉支部熱いですねーコアメンバーを募集中だそうなので興味ある方は是非!

運営ありがとうございました!また参加したいです。

 

以上。