Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
AWSによる
サーバーレスアーキテクチャ
吉田真吾 @yoshidashingo
2018.4.18
JAWS-UG横浜 #12 サーバーレス
吉田真吾
n バックグラウンド
証券システム基盤開発
p 基盤システム開発、Oracleチューニングなど
エバンジェリスト
p 講演113回(2013年実績)
p AWS設計・構築・移行(2014-2015)
n 現在のしごと
(株) セクショ...
今年もやります!!
AWSによるサーバーレスアーキテクチャ
• サーバーレスアーキテクチャによ
る動画シェアサイト構築
• オンライン教育動画サイト「A
Cloud Guru」で実際に使われてい
る技術やコードをベースにDeep
Dive
• AWS Lambda...
PaaSの普及 2008〜
PaaS• とは、「背後にあるインフラの一部を隠蔽し、ユーザーが
ソフトウェアを実行できるプラットフォームを提供する」という
クラウドコンピューティングの一形態です。開発者が PaaS を効
果的に利用するには、プラ...
Dockerによるコンテナ技術の一般化
コンテナ• 化は、アプリケーションを環境ごと分
離します。コンテナ化は本格的な仮想化のよう
付 に厳密に分離せずに済みますが、パブリッ
ククラウド、プライベートクラウド、あるいは
オンプレミスのサーバーへ...
Function Computing の台頭 2014〜
最後• にやってきたのが、AWSのコンピュートサービスの1つである AWS
Lambdaです。AWS Lambdaは、イベントに応答して超並列的にコードを
実行できます。AWS Lamb...
Function Computing の台頭 2014〜
サーバ• ーレスの究極の目標は、開発者が、サー
バーやインフラを気にかけずに、コードに全力
を注げるようにすることです。
ハンズオン内容
変わるもの
プラットフォーム•
技術
変わらないもの
Less Ops, More Code.•
What is Serverless ?
/ =
= PI
原則
マイクロサービスn 指向
小規模• で自律的なシステム
• 1つの目的にフィットしている
マイクロサービス:ビジネスü の境界=サービスの境界
サーバーレスü で実行する各ランタイムはサービスの境界よりずっと細かい
リアクティブn なアー...
リアクティブなアーキテクチャを実現するための要素
リクエストルーティングn 機能
Webl :Webプロキシ ex. FastContainer
マイクロバッチ:l Pub/Sub、キューイング
ワークフローl 制御:オーケストレーター
状態管...
Serverless Application Lens
Well-Architected Framework
AWS• でサーバーレスアプリケーションをいかに「設
計」「デプロイ」「アーキテクト」するかにフォーカ
スした Well-Archit...
Serverless PaaS は黎明期
Gartner Iden*fies Three Megatrends That Will Drive Digital Business Into the Next Decade
h<p://www.gar...
Usecases of Serverless Architecture
Web1. アプリケーション
SPA•
REST API•
運用業務2.
ビッグデータ3. 系
ストリームデータ• 処理
ETL• 処理、大規模クエリ処理
モバイル・4. ...
Serverlessでの開発にどんなツールを使ってますか?
6 IM ID I E N IC u fRbhRV gT 3
v 1 E l S gT 3
1 EM IP v 1 E l S gT 4P A F
6N I 40sm ro
96 6 ...
https://dan-serverless-platform-refactor--landscape.netlify.com/grouping=landscape&landscape=serverless
AWSでないとサーバーレスできないの?
• 本当にスケーラビリティがほぼ無限な
「Function」や「イベントハブ」を実現できるプ
ロバイダは限られる
• ベンダーが提供するホスティングサービスとセル
フホスティングツールをちゃんと分けたい人...
https://dan-serverless-platform-refactor--landscape.netlify.com/grouping=landscape&landscape=serverless
https://dan-serverless-platform-refactor--landscape.netlify.com/grouping=landscape&landscape=serverless
FaaSを支えるコンテナ技術
実行環境• はコンテナ技術
リソース• の調達が素早いので、リクエストのないと
きはリソースを使わず、大量にリクエストがあると
きは自動的にスケール確保
リソーススケジューリング• はクラウドが担う
自作• するな...
Function とOSS実装
サービス
• AWS Lambda
• Azure Functions
• Google Cloud
Functions
• IBM Cloud
Functions
• Webtask
• Hyper Func
...
やっぱり内製しないとダメですか?
アーキテクト• と実装の分割さえできればむしろ
工程や品質管理しやすい
中山桂一さん@キャラウェブ
WebもアプリもサーバーサイドはREST API化
してますが「Swagger定義」と「DynamoDB
のテ...
AWSによるサーバーレスアーキテクチャ
• サーバーレスアーキテクチャによ
る動画シェアサイト構築
• オンライン教育動画サイト「A
Cloud Guru」で実際に使われてい
る技術やコードをベースにDeep
Dive
• AWS Lambda...
AWSによるサーバーレスアーキテクチャ
Próxima SlideShare
Cargando en…5
×

AWSによるサーバーレスアーキテクチャ

2018.4.18 JAWS-UG横浜で話した資料です

  • Sé el primero en comentar

AWSによるサーバーレスアーキテクチャ

  1. 1. AWSによる サーバーレスアーキテクチャ 吉田真吾 @yoshidashingo 2018.4.18 JAWS-UG横浜 #12 サーバーレス
  2. 2. 吉田真吾 n バックグラウンド 証券システム基盤開発 p 基盤システム開発、Oracleチューニングなど エバンジェリスト p 講演113回(2013年実績) p AWS設計・構築・移行(2014-2015) n 現在のしごと (株) セクションナイン 代表取締役社長 p APN コンサルティングパートナー p DevOps Dockerize Serverless 支援など (株) 実績等 p AWSウルトラクイズ 初代チャンピオン (2012年) p AWS Samurai 2014 / 2016
  3. 3. 今年もやります!!
  4. 4. AWSによるサーバーレスアーキテクチャ • サーバーレスアーキテクチャによ る動画シェアサイト構築 • オンライン教育動画サイト「A Cloud Guru」で実際に使われてい る技術やコードをベースにDeep Dive • AWS Lambda / API Gateway / S3 / CloudFront / Elastic Transcoder / Auth0 / Firebase Realtime Database
  5. 5. PaaSの普及 2008〜 PaaS• とは、「背後にあるインフラの一部を隠蔽し、ユーザーが ソフトウェアを実行できるプラットフォームを提供する」という クラウドコンピューティングの一形態です。開発者が PaaS を効 果的に利用するには、プラットフォームの機能を活かすようなソ フト ウェアを書かなければなりません。スタンドサーバで実行す るよう作られた古いアプリケーションを PaaS サービスに移植す る場合、あらゆる PaaS が新たに加えられた機能に最適化してい るため、余分な開発作業が必要になることがたびたびあります。 それでも、もっと古くて必要な手作業が多いソリューションと PaaS のどちらにするかを自由に選べるなら、多くの開発者はメ ンテナンスやプラットフォームサポートのために費やす作業が減 る PaaS を選ぶでしょう。
  6. 6. Dockerによるコンテナ技術の一般化 コンテナ• 化は、アプリケーションを環境ごと分 離します。コンテナ化は本格的な仮想化のよう 付 に厳密に分離せずに済みますが、パブリッ ククラウド、プライベートクラウド、あるいは オンプレミスのサーバーへのデプロイが必要に なります。依存ファイルがある場合には最適な ソリューションですが、コンテナにはコンテナ の複雑な管理の問題があります。クラウドで直 接コードを実行できるのと比べれば簡単ではあ りません。
  7. 7. Function Computing の台頭 2014〜 最後• にやってきたのが、AWSのコンピュートサービスの1つである AWS Lambdaです。AWS Lambdaは、イベントに応答して超並列的にコードを 実行できます。AWS Lambda を使えば、サーバーをプロビジョニングし たり、ソフトウェアをインストールしたり、コンテナをデプロイしたり といった低ティアの詳細について考えることなく、コードを用意して渡 すだけで実行できます。実際にコードを実行するEC2(Elastic Compute Cloud)サーバのプロビジョニングや管理は AWS が処理してくれるため、 開発者の側では考える必要がありま せん。キャパシティプロビジョニン グや自動スケーリングといった機能を持つ、可用性の高い計算インフラ の提供も同様です。サーバーレスアーキテクチャ(serverless architecture)は、この種の「サーバーに直接アクセスしなくても仕事が できる」新しいソフトウェアアーキテクチャを指す言葉です。
  8. 8. Function Computing の台頭 2014〜 サーバ• ーレスの究極の目標は、開発者が、サー バーやインフラを気にかけずに、コードに全力 を注げるようにすることです。
  9. 9. ハンズオン内容
  10. 10. 変わるもの プラットフォーム• 技術 変わらないもの Less Ops, More Code.•
  11. 11. What is Serverless ? / = = PI
  12. 12. 原則 マイクロサービスn 指向 小規模• で自律的なシステム • 1つの目的にフィットしている マイクロサービス:ビジネスü の境界=サービスの境界 サーバーレスü で実行する各ランタイムはサービスの境界よりずっと細かい リアクティブn なアーキテクチャ リクエストルーティング• 機能/状態管理/永続ストレージを コードから「分離」することで、メンテナンスしやすい最小限に維持し、生産 性を向上する 認証・認可n にもとづくリソースアクセス ドメイン• の違うサービス間のリソースへのアクセスを適切な範囲に限定する DRYn 競争力• を得られない汎用機能をアウトソースする
  13. 13. リアクティブなアーキテクチャを実現するための要素 リクエストルーティングn 機能 Webl :Webプロキシ ex. FastContainer マイクロバッチ:l Pub/Sub、キューイング ワークフローl 制御:オーケストレーター 状態管理n 実行時l エラー/タイムアウト制御/リトライ制御/ファンアウト/順序制御/ スロットリング/サーキットブレイカー/スケーリング/縮退/ サービスディスカバリー/回復性/ロギング 永続n ストレージ オブジェクトストレージl /キー・バリューストア/RDBMS ランタイムn ビジネスロジックl のみ
  14. 14. Serverless Application Lens Well-Architected Framework AWS• でサーバーレスアプリケーションをいかに「設 計」「デプロイ」「アーキテクト」するかにフォーカ スした Well-Architected Framework別紙 コンピューティング• 層/データ層/ストリーム層/ユー ザー管理層/モニタリング層/システム管理層/エッジ層 設計原則• Function• は単一目的でシンプルに作る 分散・並列• で処理が可能なように作る シェアードナッシング• (ステートレス) ハードウェア• の仕組みを意識しない作り (CPUフラグなど) Function• ではなくステートマシンを使ってアプリをオーケス トレートする 非同期• なイベントトリガーを活用する (ポーリングとかしな い) リトライ• 前提でもべき等な動作が保証される作り サーバーレス• のユースケース Serverless Application Lens https://d1.awsstatic.com/whitepapers/architecture/AWS-Serverless-Applications-Lens.pdf Serverless Applications Lens AWS Well-Architected Framework November 2017
  15. 15. Serverless PaaS は黎明期 Gartner Iden*fies Three Megatrends That Will Drive Digital Business Into the Next Decade h<p://www.gartner.com/newsroom/id/3784363
  16. 16. Usecases of Serverless Architecture Web1. アプリケーション SPA• REST API• 運用業務2. ビッグデータ3. 系 ストリームデータ• 処理 ETL• 処理、大規模クエリ処理 モバイル・4. IoTのバックエンド アプリケーション5. 連携のバックエンド Alexa• Chatbot•
  17. 17. Serverlessでの開発にどんなツールを使ってますか? 6 IM ID I E N IC u fRbhRV gT 3 v 1 E l S gT 3 1 EM IP v 1 E l S gT 4P A F 6N I 40sm ro 96 6 IM ID D F 2 D 6 2 u fRbhRV gT D L IE F # 4 E F 5 67SdV R Re # ( 2 I 8 L D 6 L tp ukn 0 ) 96 10 Wai cTi Re D tp ukn 0 4P A F 6 IM ID 2 I I E N IC I 96 A D u fRbhRV gT 4P A F Serverless Community(JP) https://www.facebook.com/groups/813718382095265/
  18. 18. https://dan-serverless-platform-refactor--landscape.netlify.com/grouping=landscape&landscape=serverless
  19. 19. AWSでないとサーバーレスできないの? • 本当にスケーラビリティがほぼ無限な 「Function」や「イベントハブ」を実現できるプ ロバイダは限られる • ベンダーが提供するホスティングサービスとセル フホスティングツールをちゃんと分けたい人たち もたくさんいる • 個人的にはツールがあってもホスティング能力がなけれ ば意味がないと強く思うのだけど、Kubernetesのよう なこともあるので • イベント形式の標準化など意味がありそうなものもある ので期待 https://dan-serverless-platform-refactor--landscape.netlify.com/grouping=landscape&landscape=serverless
  20. 20. https://dan-serverless-platform-refactor--landscape.netlify.com/grouping=landscape&landscape=serverless
  21. 21. https://dan-serverless-platform-refactor--landscape.netlify.com/grouping=landscape&landscape=serverless
  22. 22. FaaSを支えるコンテナ技術 実行環境• はコンテナ技術 リソース• の調達が素早いので、リクエストのないと きはリソースを使わず、大量にリクエストがあると きは自動的にスケール確保 リソーススケジューリング• はクラウドが担う 自作• するなら「Kubernetes」で
  23. 23. Function とOSS実装 サービス • AWS Lambda • Azure Functions • Google Cloud Functions • IBM Cloud Functions • Webtask • Hyper Func (Hyper.sh) オープンソース • Azure Functions Runtime • Lambda-local • python-lambda- local • LocalStack • Serverless Framework Apache• OpenWhisk IronFunctions• Spring Cloud• Functions Kubeless• fission• funktion• OpenFaaS•
  24. 24. やっぱり内製しないとダメですか? アーキテクト• と実装の分割さえできればむしろ 工程や品質管理しやすい 中山桂一さん@キャラウェブ WebもアプリもサーバーサイドはREST API化 してますが「Swagger定義」と「DynamoDB のテーブル定義」さえちゃんとできていれ ば、外部ベンダに関数ごとに制作お願いでき るんで管理しやすいですよ (明日の開発カンファレンス より) 現場的コンウェイの法則 (マイクロサービスの実践)
  25. 25. AWSによるサーバーレスアーキテクチャ • サーバーレスアーキテクチャによ る動画シェアサイト構築 • オンライン教育動画サイト「A Cloud Guru」で実際に使われてい る技術やコードをベースにDeep Dive • AWS Lambda / API Gateway / S3 / CloudFront / Elastic Transcoder / Auth0 / Firebase Realtime Database 1冊 プ レ ゼ ン ト !!

×