「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版」という本を書きました。
![](https://www.sbcr.jp/wp-content/uploads/2023/01/9784815617929-1-407x596.jpg)
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
![](https://www.sbcr.jp/wp-content/uploads/2024/01/9784815625382-3-420x596.jpg)
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
![](https://www.shuwasystem.co.jp//images/book/637791.jpg)
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
![](https://book.mynavi.jp/files/topics/135344_ext_06_0.jpg?v=1673514682)
「AWSではじめるLinux入門ガイド」という本を書きました。
![](https://www.yamamanx.com/wp-content/uploads/2023/12/81Rp5O9We6L._SY522_.jpg)
![@yamamanx](https://www.yamamanx.com/wp-content/plugins/lazy-load/images/1x1.trans.gif)
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
「Media-JAWS 【第10回】渋谷に集合!」に参加しました
Media-JAWS 【第10回】渋谷に集合!に参加しました。 Media-JA …
-
-
Rocket.ChatにAWS Lambda(Python)から投稿する
Rocket.ChatにAPIで投稿するテスト(Postman)をやってみて、使 …
-
-
「JP_Stripes Tokyo Vol.7 Stripe at Doorkeeper and MakeLeaps」で受付をしました
全編英語でJP_Stripes(Stripeの勉強会)の開催がありまして、受付を …
-
-
AWS Personal Health Dashboardのパブリックイベントの記録
東京リージョンで発生したので、スクリーンショットを取っておいたので記録しておきま …
-
-
AWS KMSのキーポリシーとアイデンティティベースポリシー
AWS KMSのCMKを作成する際に、管理者とキーユーザーを選択することで、以下 …
-
-
AWS Global Acceleratorでアクセラレーターを作成する
バージニア北部、東京、大阪のEC2インスタンスをエンドポイントにして作成してみま …
-
-
AWS東京リージョンのAZ(apne1-az1)障害時の当ブログで発生していたことの記録
日本時間2/19 23:01頃より、東京リージョン、特定AZの1つでEC2インス …
-
-
ヤマムギvol.16 AWSでLinuxサーバー起動、管理コマンド、インストールコマンドのデモをしました
ゴールデンウィーク10日連続朝30分のデモチャレンジ4日目です。 80名さんもの …
-
-
Developers Summit 2024「技術を超えた成長へ:エンジニアとしてのマインドセットと学びの旅」を見ました
NECソリューションイノベータ株式会社 田中 拓摩さん SAP基幹システムのAW …
-
-
AWS AmplifyでTodoアプリを作るハンズオンをやってみました
【お手軽ハンズオンで AWS を学ぶ】AWS Amplify で Todo アプ …