maetesのブログ

個人用Memoです

JAWS-UG横浜 #12 AWS Serverless参加メモ

https://jawsug-yokohama.connpass.com/event/77114/

19:10 - 19:40 AWSによるサーバーレスアーキテクチャ 吉田 真吾

  • serverlessconf をやります!
    • 9月の末ぐらいにやる予定
  • AWSサーバレスアーキテクチャ(本)

  • PaaSの普及

    • 移植性
    • 保守メンテナンス
    • スケーラビリティ
    • 設計の独自の自由のなさ
  • Dockerによるコンテナ技術の一般化
    • 結局めんどくさいよね
    • Kubernetes クバネテスでどうやって管理するべきか。どっちがベストプラクティスなのか
    • PaaSがこようがContenair がこようが面倒なのは面倒なんだ
  • Function computing は本当に便利
  • よい制約がよい実装を実現する
  • リアクティブなアーキテクチャを実現するための要素
    • リクエストルーティング機能
  • Well-architected Framework の別冊でSeverless Application Lens
  • Gartner の資料 Gartner identification Will Drive Digital business into the nextdecade

  • Alexa

  • Function のサービスとOSS実装
    • lablda local
  • やっぱり内製しないとだめですか?
    • アーキテクトと実装の分割さえできればむしろ行程や品質管理しやすい
  • Zipkin
  • iopipe
    • lambda をラップしてグローバル変数や起動ステートといったメトリクスを収集して性能改善に必要な情報を得られるSaaS
    • 最近のTrend はCloudwatch logs にはきださせて非同期系のツールに変わりつつある 例)Epsagon ThunDRA

19:40 - 20:10 サーバーレスSPAのフロントエンド 西谷 圭介

  • API Gateway
    • Common Log FormatやJSON,csvでのログ出力が可能
  • Single page Application : SPA
  • React
    • JSX - XML風の言語でJavascriptのコード内にHTMLタグを埋め込むように記述
  • Angular
  • Vue.js

  • フレームワークそのものは上記3種類で落ち着きつつある

    • 派生物としてReact Native やIonicなどもある
    • React優勢
    • 話題の中心はステート管理に向かいつつある
      • Redux
      • MobX
      • NgRx
      • vuex
  • Progressive Web Application : PWA
    • Webapplication だがPush 通知ができるとか
    • 主要フレームワーク向けのライブラリはすでに存在する
  • AWS Appcync
    • フルマネージドなGrapQLサービス
    • リアルタイム機能とオフライン機能
    • GraphQLとは
      • API用のクエリ言語
        • 型システムにもとづいたクエリ実行のためのサーバ側ランタイム
      • クライアントがサーバからデータを取得、変更、購読できるようにするためのデータ言語
      • Rest の次を期待されるもの。Facebook が作成
  • GraphQL Subscription
    • ほぼリアルタイムでデータをサブスクライブ
    • Mutation をトリガーにしたイベントベースモード

20:10 - 20:25 サーバーレスでシステム自動化 新居田 晃史

  • AWS Systems Manager
    • Amazon Linux ならSSMエージェントが入っている
    • Run command が大変便利
      • ssh  なしでコマンドが実行可能
      • リモートからのファイルダウンロード
      • Ansible のPlaybookが実行可能
  • EC2 → Zabbix → SNS → Lambda → SES / Twillio / EC2 System Manager →Runcommand
  • Zabbix をリプレイスしても動くように疎結合になるように設計
  • cron の代用
    • Cloudwatch Events → Lambda → Ec2 System Manager
  • Elasticsearch へのログ配送方法
    • fluetnd → kinesis stream → aws lambda → elasticsearch      → Kinesis Firehose Amazon S3
    • fluentd がElasticsearch に投げきれなくてFluentd のプロセスが落ちたと言うことがあった
      • 仮にすごく増えたとしても、上記の構成ならLambda の部分で失敗になり、かつその間にElasticsearchh のインスタンスを増やせばよいという判断でこんな設定を考えている

20:25 - 20:40 サーバレスアプリの監視で苦労したこと的なお話 石田 浩司@Acroquest Technologies

→ ぼんやりとしたサーバレスアプリの監視を本格的に行おうとした話

  • サーバレスでアプリを構築したとき監視ってどうしてます?
  • Cloudwatch だとかゆいところに手が届かない。。。
  • Cloudwatch logs subscription は正規表現で加工とするとログsy津留よくごとに通知を処理する必要がある
  • → Lambda 書くか。。。 という結論
  • 定期実行であればS3 に対して取得してからそりをするとか
    • prefix ごとに親Lambda が子Lambda をたくさん作って、処理をする github.com/acroquest/aws-cloud...
  • 詳細はWebで 「AWS Cloudwatch のログキーワード監視ツールを作ってみた。」

20:40 - 20:45 優しくサーバーレスに引きずり込むための個人的考察 大竹 孝昌

  • Solacom technology Event 4/21?
  • リスクあるんじゃないのか!クラウドなんて信用できない!
  • 心理的安全性の演出
    • Lambda だけでいいよ。担当を限定する
    • あの本を買い与える「実践 AWS Lambda」:この本だけ読めば大丈夫!

20:45 - 20:50 IAMアカウントロックをServerlessで作る 森谷 優貴@NTT Docomo

  • iam:UpdateUser
    • IAM ユーザ名を変更するAPI。あまり知られていない
    • Console ではない機能
  • status はDynamodb で管理
    • 読んだら読んだだけお金がかかってしまうので、コスト削減のため失敗回数のみ管理
  • ログインイベントをCloudwatch Event でHook してLambda起動
    • Lambda はDynamoDB をチェックして失敗回数がNになったらUpdateUseしてアカウントをロックするとともにCloudwatch Event をスケジュール
  • Cloudwatch Event が定期的にLambdaを起動

20:50 - 20:55 業務系アプリケーションでサーバーレスやってみた 杉本 慎也@JBCC

20:55 - 21:00 Step Functionsのすすめ 西尾 智弘@PAYJP