「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をちゃんと見れなかった。
なので後で見させていただく。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

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

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

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

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


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Java SE 7 Silver模擬テストの結果気になる問題をメモ 2015/2/13
違う種類の模擬テスト1回目。 90問中77問正解。 正解率85%。 まだまだ不安 …
-
-
CUSTOMINEを使ってkintoneからAWS Lambdaを実行する(Cognito認証付き)
先日の記事「kintoneのカスタマイズ開発を超速にするCUSTOMINE」で書 …
-
-
Developers Summit 2018 「「技術内閣制度」2年間やってきて得られた事とこれから ~開発チーム横断での技術課題解決、技術力強化、エンジニア文化醸成」を聞きました
以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …
-
-
Amazon SES, S3で受信したメールをAWS Lambda, SESで別のメールへ転送する
Amazon SESでメール受信で受信したメールを、毎回S3バケットに見に行って …
-
-
AWSアカウントのルートユーザーのセキュリティ認証情報
アカウント作成時にはMFA設定するためにIAMダッシュボードからアクセスするので …
-
-
「JP_Stipes Osaka meetup vol.1」を運営させていただきました
Stripeのユーザーグループ、JP_Stripesの大阪ミートアップの運営をさ …
-
-
「四国クラウドお遍路 2023 – 四国の外のモノサシを知ってみよう-」に参加しました
2023/9/16に愛媛大学で開催された四国クラウドお遍路 2023 ̵ …
-
-
boto3(Python SDK) s3 get_object でバイト範囲を指定する
S3のGetObjectアクションでバイト範囲を指定することができます。 それに …
-
-
WordPressの年ごとのブログ投稿数を調べるSQL
毎年年末に使いそうなのでメモです。 [crayon-67f6dd40159d31 …
-
-
「DMM meetup #24 〜DMMのセキュリティ脅威への取り組み事例〜」に参加しました
内容が内容ですので、もちろん運営さんにブログを書いていいかの確認はしております。 …