Upgrade to Pro — share decks privately, control downloads, hide ads and more …

手段先行でも悪くはない!Ruby on Lambdaで
はじめるServerless / aws serverless tech

ぷぽ
March 27, 2019

手段先行でも悪くはない!Ruby on Lambdaで
はじめるServerless / aws serverless tech

「AWS Serverless Tech/事例セミナー - サーバーレスで Ruby 他、いろんな言語が使えるよ」で登壇した内容です。

ぷぽ

March 27, 2019
Tweet

More Decks by ぷぽ

Other Decks in Technology

Transcript

  1. ❖ 会社・チーム概要 ❖ なぜ Ruby on Lambda ? ❖ 検討

    / 導入事例 ❖ 今後の展望 ❖ まとめ アジェンダ
  2. ❖ Rubyの外部ライブラリ(Gem)はnative extensions
 (libxml2とか)を利用しているものがある ❖ 有名どころ:nokogiri, mysql, pgなど… ❖ これらのGemを利用するには、


    実際に利用する環境と同等の環境でinstallする必 要がある ❖ OSSでLambda用のDockerコンテナが提供されて いるのでそちらを活用すると良さそう native extensions 問題 参考:https://www.stevenringo.com/ruby-in-aws-lambda-with-postgresql-nokogiri/
  3. ❖ Functionごと(コンテナごと)にDBへのコネクショ ンが張られるため、負荷増加やコスト増加になる
 
 参考:https://www.keisuke69.net/entry/2017/06/21/121501 ❖ LambdaからDBに接続するための中間層作る…? ❖ AWS Aurora

    Serverlessならいけるみたいだけど、 PostgreSQLから移行…する…? https://dev.classmethod.jp/cloud/aws/amazon-aurora-serverless-avaible-http-endpoint/ RDBMSとLambdaの相性問題
  4. ❖ 利用者数 vs 運用コストの関係で、ガラケーサイ トのコンテンツ自体少しずつCloseしていってた ❖ 占い、晩御飯のレシピ、鉄道画像コーナー… ❖ APIサーバが担う部分が減ってきた ❖

    かろうじて残る機能も、別サーバから直接データ を取得できることが判明 ❖ アクセス負荷も(今は)あまり心配いらない どうして?
  5. ❖ CloudWatch Events ❖ Ruby on Lambda ❖ GitHub API

    v3 ❖ Slack API(& Incoming WebHooks) 構成
  6. ❖ 感覚で使える、便利機能・メソッドが豊富 ❖ each周りとか、.digとか、&.とか、とにかくデー タが扱いやすい ❖ Rubyの標準機能のみで完結することができたため、 bundle installの必要もなくメンテがラク ❖

    ローカル環境でDebugしやすい ❖ あんなこともできそう、こんなこともしたい!と
 機能が充実してくる(モチベが上がる) 移行してよかったところ
  7. ❖ Slackでの発言内容に反応して情報を取得する ❖ API Gateway + Lambda + Slack Bot

    ❖ 「締め切り間近のプルリクは?」とか挑戦中… ❖ 通知対象条件の充実 ❖ 今はタイトルとリポジトリ名のみ まだまだ拡張の余地
  8. ❖ 「Tryしてみたけどやめた」の積み重ねは無駄ではない ❖ 既存アーキテクチャの深い理解に ❖ 理想の構成を考え、新サービスも知るきっかけに ❖ 運用改善、新規案件でServerlessも視野に入るように ❖ AWS様へのフィードバックでサービス改善に


    →AWS様も我々ユーザーも明るい未来へ!!! 手段先行でも悪くはない ただし、Lambdaを使うこと自体をゴールにしない
 (学習自体が目的だったらよいと思います)