「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認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
「JP_Stipes Osaka meetup vol.1」を運営させていただきました
Stripeのユーザーグループ、JP_Stripesの大阪ミートアップの運営をさ …
-
-
Amazon Location Service入門ワークショップ-ジオコーディング
ジオコーディングにより住所を緯度経度に変換したり、逆に緯度経度から住所を求めたり …
-
-
Java SE 7 Silver対策勉強をしながらメモ 2015/2/2
本日はクラス定義とオブジェクト。 一気に範囲が広がった感。 いつものごとくマーク …
-
-
Amazon InspectorによるLambda関数の脆弱性検出結果を確認しました
AWS re:Invent 2022期間内に発表されましたAmazon Insp …
-
-
AWS Transit GatewayのVPN接続
上記のような構成で、オンプレミス側は東京リージョンのVPCでVyOSを起動して接 …
-
-
JAWS DAYS 2018で初めてのランチタイムセッションをやってみました
日本のAWSユーザーグループはJAWS-UGと言います。 JAWS-UGでは年に …
-
-
Feedlyのリフレッシュトークンを使ってアクセストークンを取得する
FeedlyというRSSリーダーから連携している構成があります。 Feedlyの …
-
-
Alexa Day 2018にサポーターの中の人として(初)参加しました
2018/2/11に神戸三ノ宮のスペースアルファ三宮で開催されたAlexa Da …
-
-
IAM Access Analyzerの検出をEventBridgeルールで検知して通知する
やりたかったことは使用可能としているリージョンのIAM Access Analy …
-
-
執筆環境(PyCharm, CodeCommit, CodePipeline, S3, Lambda, 署名付きURL)
2018年から、年に1回ぐらい商業本の執筆をさせていただいております。 2020 …







