ヤマムギ

growing hard days.

*

「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Microservices × Serverless On AWS」で運営と懇親会LTをしてきました

      2018/01/22

「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Microservices × Serverless On AWS」で運営と、懇親会でのLTをしてきました。

MOTEXさん、いつも素敵な会場をご提供いただきまして本当にありがとうございます!
当日の運営は、受付したり、会場案内したり、誘導したりします。

勉強会会場ではステッカーやバッジを配ってます。

運営をしてても本編が始まれば、参加者と一緒に勉強できます。

以下、本編は印象に残ったフレーズや機能、思ったことをメモしました。

RESTful APIをChaliceで紐解く 〜Python Serverless Microframework for AWS

清水さん@AWS

  • サーバーレスアーキテクチャなRESTful API
  • リクエストがどういう処理をするか、そこだけに注力する
  • API Gateway + Lambdaをデプロイしようとすると汎用性があるため、煩雑性がある(SAMを使って解決する場合もある)
  • それを解決する手段としてChalice

Chaliceとは

  • ChaliceはPythonのフレームワーク
  • RESRTful API記述用のフレームワーク
  • コードを書いてデプロイするとAPI GatewayとLambdaを自動的に作成、更新
  • IAMの権限など付随する設定回りも自動
  • ローカルでの起動も可能
  • pipでインストール出来る
  • charice deployでデプロイを実行(早ければ5秒ぐらい)
  • コードを分析して必要なポリシーを自動でIAMロールに設定する
  • Domovoiのようなプラグインで拡張可能

Microservices On AWS

西谷さん@AWS

  • システムだけでなく組織、運用、開発、管理も分散
  • 各コンポーネントは独立して他のコンポーネントに影響を与えない
  • 1つのことをうまくやる
  • 多言語 OS , ツール、DBに対して異なるアプローチをとる
  • 各サービスごとに最適な言語とDBを組み合わせている
  • 各サービスが独立しているから、操作、データタイプに応じて、適したデータストア、ストレージを選択できる
  • 個々のコンポーネントはブラックボックスとして設計する、明確に定義されているAPIを介することで中身を意識してもらう必要はない。
  • APIをバックエンドとしたSPA
  • CF S3の静的ページ
  • ECS + ALBが多い
  • FargateはECSコンテナを気にせずに実行できる
  • API Gateway + Cognito User Poolと連携して簡単に認証を追加できる
  • DNSベースのサービスディスカバリ
  • ECSイベントストリームを使用したサービスディスカバリ
  • 可用性のトレードオフのため結果整合性を採用
  • 各サービスの状態の変化にあわせてイベントを発行
  • Event Sourcing
  • モニタリングはCloudWatchに集約
  • ログファイルはS3かCloudWatch Logs
  • ECSはawslogsでコンテナログの一元化が可能
  • 分散トレースは X-Ray活用

Serverless Reliability Engineering

照井さん@Serverworks

ServerlessでRASISを高められることはある

  • RASISはReliability, Availability ,
  • API Gateway(Lambda) Multi Regionで可用性を高める
  • sls , SAMでデプロイすることは簡単
  • Route 53のヘルスチェックでActiveとSecondary
  • DynamoDB Global Tables未対応リージョンでは、DBのマスタはレイテンシ覚悟で 単一にする
  • X-Rayだけでは足りない、Tokenでトレースする
  • ACID
  • 2回目以降の処理リクエストを処理しないことが冪等
  • ACID

実践Microservice × Serverless

小西さん@MOTEX

  • CloudWaatchを使ってトレースしている
  • 疎結合にして無停止デプロイ
  • そのための自動化(CI)
  • kinesis(Data Stream) を間に挟んでいる
  • SQSを挟んでいる人多い
  • 非同期だけどなるべくリアルタイムを求められるのでkinesisを置いている
  • SQSのほうがだいぶ安い
  • Lambdaでタイムゾーンはどこと保証されないので環境変数などで明示的に固定する
  • kinesisの順序保証が必要なケース
  • DynamoDBバックアップどうする問題

懇親会

LTをさせていただきました。

ライブでもで5分間でAlexaスキルを作るってLTをしてみました。
AlexaスキルのHello World的にでも試してもらえれば幸いです。

1回目、MacBookのWiFiがUSB Type-Cと2.4GHz帯の干渉問題で接続断。
テザリング(2.4GHz帯)に頼らないように会場のWiFiをお借りしてやり直しました。

失敗を恐れていては何も前には進みません。
とはいえ、本番に近い環境で練習をしておくべきです。

  • iPhoneテザリングを使う場合はUSB接続する。
  • 可能な限り本番と同じ環境でリハーサルをしておく。

次回からはこの2点を改善したいと思います。

このごたごたで、けんさんのLTをちゃんと見れなかった。
なので後で見させていただく。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS, event, study , , ,

  関連記事

「JAWS-UG 初心者支部#35 LT大会!!」に参加しました。

オンライン開催でした〜 AWS AthenaとFluentdでログ集約基盤構築 …

AWS Organizationsからメンバーアカウントを直接「閉じる」ことができるようになりました

これまでは、メンバーアカウントはOrganizations組織から「除外」して独 …

東京リージョンでAWS Control Towerランディングゾーンをセットアップする

AWS Control Towerの最初の画面で[ランディングゾーンの設定]を押 …

JAWS SONIC 2020 & MIDNIGHT JAWS 2020 の深夜のパワポカラオケに挑戦しました

2020/9/12(土) 16:50 ~ 2020/9/13(日) 17:20( …

AWSアカウントのルートユーザーのセキュリティ認証情報

アカウント作成時にはMFA設定するためにIAMダッシュボードからアクセスするので …

WordPress(EC2)の画像のS3へのオフロードをMedia Cloudで

タイトル通りですが、画像をwebサーバー(EC2)からではなく、S3バケットから …

「〜おじゃったもんせ!〜鹿屋ワーケーションサミット」に参加しました Day2

「〜おじゃったもんせ!〜鹿屋ワーケーションサミット」に参加しました Day1に続 …

「XP祭り in 関西 2016 〜アジャイル15周年ふりかえり〜」に行ってきました

「XP祭り in 関西 2016 〜アジャイル15周年ふりかえり〜」に行ってきま …

DevLOVE関西 現場甲子園2015 「西日本大会」に行ってきました

DevLOVE関西 現場甲子園2015 「西日本大会」に行ってきました。 全部で …

共有AMIのコピー時にエラー「You do not have permission to access the storage of this ami」

他アカウントから共有されたAMIをコピーする際に、「You do not hav …