ヤマムギ

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

  関連記事

「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 アプ …