「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
「コードを書いてデプロイするとAPI GatewayとLambdaを自動的に作成、更新」Chalice便利ですね。知らなかった。 #jawsug
— やました (@yamamanx) 2018年1月20日
Chaliceとは
- ChaliceはPythonのフレームワーク
- RESRTful API記述用のフレームワーク
- コードを書いてデプロイするとAPI GatewayとLambdaを自動的に作成、更新
- IAMの権限など付随する設定回りも自動
- ローカルでの起動も可能
- pipでインストール出来る
- charice deployでデプロイを実行(早ければ5秒ぐらい)
- コードを分析して必要なポリシーを自動でIAMロールに設定する
- Domovoiのようなプラグインで拡張可能
必要な操作をコードから解析してIAMロールを作ってデプロイ?すごいなChalice #jawsug
— やました (@yamamanx) 2018年1月20日
最低権限の原則も守れそう #jawsug
— やました (@yamamanx) 2018年1月20日
紹介のあったしみさんのスライドたちはこちら https://t.co/jJR7G9o3PR #jawsug
— やました (@yamamanx) 2018年1月20日
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活用
Fargateは多分今一番やらなければならない気がしてる #jawsug
— やました (@yamamanx) 2018年1月20日
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
2回目以降の処理リクエストを処理しないことが冪等 #jawsug
— やました (@yamamanx) 2018年1月20日
DynamoDB Global Tables、追えてなかった。なるほど。 #jawsug
— やました (@yamamanx) 2018年1月20日
実践Microservice × Serverless
小西さん@MOTEX
なぜその選択なのかという説明が明示的でわかりやすいな~ #jawsug
— やました (@yamamanx) 2018年1月20日
- CloudWaatchを使ってトレースしている
- 疎結合にして無停止デプロイ
- そのための自動化(CI)
- kinesis(Data Stream) を間に挟んでいる
- SQSを挟んでいる人多い
- 非同期だけどなるべくリアルタイムを求められるのでkinesisを置いている
- SQSのほうがだいぶ安い
- Lambdaでタイムゾーンはどこと保証されないので環境変数などで明示的に固定する
- kinesisの順序保証が必要なケース
- DynamoDBバックアップどうする問題
オートスケール間に合わないときのエラーハンドリングとリトライは必須だと思う。その場合のDynamoDB前ではみなさんどうしてるんだろ。 #jawsug
— やました (@yamamanx) 2018年1月20日
懇親会
LTをさせていただきました。
ライブでもで5分間でAlexaスキルを作るってLTをしてみました。
AlexaスキルのHello World的にでも試してもらえれば幸いです。
1回目、MacBookのWiFiがUSB Type-Cと2.4GHz帯の干渉問題で接続断。
テザリング(2.4GHz帯)に頼らないように会場のWiFiをお借りしてやり直しました。
失敗を恐れていては何も前には進みません。
とはいえ、本番に近い環境で練習をしておくべきです。
- iPhoneテザリングを使う場合はUSB接続する。
- 可能な限り本番と同じ環境でリハーサルをしておく。
次回からはこの2点を改善したいと思います。
このごたごたで、けんさんのLTをちゃんと見れなかった。
なので後で見させていただく。
最後までお読みいただきましてありがとうございました!
【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。
【PR】 「AWSではじめるLinux入門ガイド」という本を書きました。
【PR】 「ポケットスタディ AWS認定 デベロッパーアソシエイト」という本を書きました。
【PR】 「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル」という本を書きました。

開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
「JAWS-UG Osaka AWSデビューするなら大阪から!大阪リージョン触ろうの会」に参加しました
3/2に大阪リージョンがオープンしたことを受けて、大阪リージョンでサーバーレスア …
-
-
AD Connectorを作成してシームレスにドメイン参加する
VPN接続先のADで管理されているドメインにEC2 Windowsインスタンスか …
-
-
EC2ハードウェア専有インスタンス(Dedicated Instances)を起動して請求書を確認してみました
EC2ハードウェア専有インスタンスのサイトには、次の料金と表記されています。 * …
-
-
Amazon Glacierのプロビジョニングされた迅速取り出し容量をなぜか購入しました
過去1年ぐらいのAWSコストをCost Explorerで見てまして、10/10 …
-
-
IAMユーザーのマネジメントコンソールログインパスワードを変更してDynamoDBに記録するLambda(Python)
やりたいこと IAMユーザーのマネジメントコンソールへのサインインパスワードを動 …
-
-
AWS Snowファミリーのジョブ作成画面を確認
使わないのですが、画面を見ておきたかったので確認しました。 Snowファミリージ …
-
-
「MasterCloud第10回 ~超AWS神回の予感~」に行ってきました
JAWS DAYS 2018のコミュニテイフレンドシップにも参加しているMast …
-
-
AWS Managed Microsoft ADを構築してユーザー追加まで
事前準備 DNSホスト名と名前解決を有効にしたVPCを作成して、2つのAZにパブ …
-
-
RDSのポイントインタイムリカバリをしました
WordPressで画像アップロードができなくなった(AWS WAFでブロックし …
-
-
AWS DeepLens開封の儀
去年(2019年)7月にamazon.co.jpでDeepLens買えますやんっ …