ヤマムギ

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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

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

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

 - AWS, event, study , , ,

ad

ad

  関連記事

Backlogの課題チケット更新内容をMicrosoft Teamsに通知する(AWS Lambda Python)

BacklogにSlack連携が追加されました。 ですが、私の所属している会社で …

Extend Switch Roles(Chromeのアドオン)で6つ以上のスイッチロール履歴

最近アカウントIDを忘れたりすることも多くなったので、切り替えに手間取ることがあ …

Rocket.ChatにAWS Lambda(Python)から投稿する

Rocket.ChatにAPIで投稿するテスト(Postman)をやってみて、使 …

「Media-JAWS 【第11回】関西開催!」に参加しました

我らが大阪MBSさんのちゃやまちプラザステージで開催されたMedia-JAWS( …

AWS WAF Web ACLとルールをv1(Classic)からv2に自動移行しました

新しいものは、課題が解決されていたり、機能追加されたりするのでいいものです。 長 …

EC2にSystems MangerからCloudWatchエージェントをインストール

CloudWatchエージェント EC2の標準メトリクスでは収集できないメモリの …

EC2 Auto ScalingカスタムメトリクスのモニタリングにCloudWatch検索式が便利でした

EC2 Auto Scalingで起動したインスタンスのカスタムメトリクス この …

Cybozu Circus 2021で「 社長・青野のテレワーク術を大公開! 組織の一体感を高める「プロセス公開型マネジメント」って?」を見ました。

サイボウズさんのCybozu Circus 2021大阪グランフロントに行って、 …

AWS Organizationsでタグポリシーを設定しようとしました

Organizationsで[タグポリシーを有効にする]ボタンを押下しました。 …

「JAWS-UG 名古屋 2022年 “re:Invent”の復習~忘年会~」に参加しました

re:Inventのおみやげも飲み物、ピザ、お寿司もたくさん。 コラボベースさん …