SlideShare a Scribd company logo
1 of 102
Download to read offline
AWSで実現するクラウドネイティブな
アプリ開発のポイント
#devsumiA 19-A-3
Keisuke Nishitani (@Keisuke69)
Amazon Web Services Japan K.K.
Profile
Keisuke Nishitani
Solutions Architect, Amazon Web Service Japan K.K
@Keisuke69 Keisuke69
✤ AWSのソリューションアーキテクト
✤ Webサービス系
✤ モバイル系
✤ クラウドを使ったアプリ開発とかモバイル開発の話しをよくしてい
ます
✤ モバイルニンジャ1号機
✤ RESTおじさん
✤ Lambda Wizards
✤ 餃⼦の王将エヴァンジェリスト(⾃称)
Keisuke69 Keisuke69Keisuke69
AWSで実現するクラウドネイティブなアプリ開発のポイント
代表的なサービス
Amazon EC2
代表的なサービス
Amazon S3
代表的なサービス
Amazon RDS
Networking AnalyticsCompute
Storage & Content Delivery
Developer Tools Management Tools Security & Identity
Application Services
Mobile Services Database Enterprise Applications
S3 CloudFront EFS Glacier
Storage
Gateway
API Gateway AppStream CloudSearch Elastic Transcoder SES SQS SWF
Mobile
AnalyticsCognito Device Farm SNS RDS DynamoDB ElastiCache RedShift WorkSpaces WorkDocs WorkMail
Lambda EC2 Container ServiiceEC2 VPC Direct Connect Route53 EMR Data Pipeline Kinesis Machine
Learning
Elastic Load Balancing QuickSight Elasticsearch
Service
CodeCommit CloudWatch Cloud
Formation
CloudTrail Config OpsWorks Service C
atalog
Identity & Acc
ess Managem
ent
Directory S
ervice
Trusted
Advisor
WAF
Snowball
DMS
IOT
IoT
Game Development
Mobile Hub
Elastic Beanstalk
ACM Inspector
GameLift
CodePipelineCodeDeploy
Networking AnalyticsCompute
Storage & Content Delivery
Developer Tools Management Tools Security & Identity
Application Services
Mobile Services Database Enterprise Applications
CloudFront EFS Glacier
Storage
Gateway AppStream CloudSearch Elastic Transcoder SWF
WorkSpaces WorkDocs WorkMail
EC2 VPC Direct Connect Route53 EMR Data Pipeline Machine
Learning
Elastic Load Balancing QuickSight Elasticsearch
Service
CloudWatch Cloud
Formation
CloudTrail Config OpsWorks Service C
atalog
Identity & Acc
ess Managem
ent
Directory S
ervice
Trusted
Advisor
WAF
Snowball
DMS
IOT
Game Development
Elastic Beanstalk
ACM Inspector
GameLift
Lambda EC2 Container Serviice Kinesis
S3 API Gateway SES SQS
CodeCommit CodePipelineCodeDeploy
Mobile
AnalyticsCognito Device Farm SNS RDS DynamoDB ElastiCache RedShift IoTMobile Hub
今⽇のお話
クラウドネイティブなアプリ開発
今⽇のお話
クラウドネイティブなアプリ開発
クラウドネイティブ?
Photo credit: Samer AlQaisi via VisualHunt / CC BY-SA
クラウドネイティブ
✤クラウドで提供されるサービス利⽤を前提に構築するシステムおよび
アプリケーション
✤クラウドの特性を踏まえ、利点を最⼤限に活かす形で構築されたアプ
リケーション
✤クラウドで提供されるサービスを利⽤して効率的にアプリケーション
を実装
最初からクラウド上で⽣まれるアプリケーション
クラウドの特性
✤障害を前提としたデザイン(Design for failure)
✤疎結合
✤弾⼒性の実装
✤全てのレイヤでセキュリティを担保
✤制約を恐れない
✤並列処理
✤複数あるストレージのオプション
アーキテクチャ
アプリ開発
デプロイ
クラウドネイティブな
クラウドネイティブなアーキテクチャ
クラウドネイティブな
アプリを考える上での
⼤きな流れがあります
Microservices
Microservices Architecture
The microservice architectural style is an approach to developing a
single application as a suite of small services, each running in its
own process and communicating with lightweight mechanisms,
often an HTTP resource API. These services are built around
business capabilities and independently deployable by fully
automated deployment machinery. There is a bare minimum of
centralized management of these services, which may be written in
different programming languages and use different data storage
technologies.
-- James Lewis and Martin Fowler
9つのポイント
✤Componentization via Services
✤Organized around Business Capabilities
✤Products not Projects
✤Smart endpoints and dumb pipes
✤Decentralized Governance
✤Decentralized Data Management
✤Infrastructure Automation
✤Design for failure
✤Evolutionary Design
マイクロサービスとは
✤サービスを単⼀のアプリケーションではなく⼩さなサービスの組み合
わせで構築する
✤各サービスは独⽴したサービスであり、単⼀でデプロイと実⾏が可能
なものである
✤技術的な境界で分割するのではなくビジネスの遂⾏能⼒で分割する
✤サービスをデプロイするのに必要な能⼒を持てるように分割する
✤組織構造と密接に関連
✤機能だけ別チーム・別サービスでDBは共通で持つというようなことはしない
✤サービス間のコミュニケーションは軽量な⼿段を利⽤する
✤単⼀アプリにおけるインメモリのメソッド呼び出しではなくなる
✤HTTPは最良の選択肢の1つであり、RESTful APIによる呼び出しがよく利⽤さ
れる
マイクロサービスの利点
✤「モノリシック」なシステムからの解放
✤単独でデプロイ・実⾏可能であるため、個々のサービスで⾃由にス
ケールすることが可能
✤各サービスで独⽴性の⾼い実装が可能
✤⾔語、DBなど全てのサービスで同じものを使う必要がない
✤各サービスごとに最適と思われるものを選択可能
✤サービス間は独⽴しているため、個々の可⽤性の問題が全体に影響し
ない
✤ビジネス上の境界とより密接にアラインされる
✤パラレルな開発とデプロイ
✤迅速なデプロイ
マイクロサービスの考慮点
✤分散した複数のコンポーネントを扱うことの難しさ
✤サービス単位で独⽴して実⾏可能な状態にするということはそれだけ⼩さいシ
ステムが増えるということ
✤複数のコンポーネントを協調動作させることの難しさ
✤コンポーネント間のコミュニケーションメッセージの増加によるレイ
テンシ増
✤トランザクションの取り扱いと結果整合性の検討
✤サービスディスカバリ
✤分散するシステムのテストにおける複雑さ
✤分散するシステムの運⽤とデプロイの複雑さ
AWS上でマイクロサービスを構築する
✤API Gateway + Lambda
✤EC2 + ECS
✤EC2 + Elastic BeanStalk
✤EC2 + ELB + ASG + Runtime
⼀般的なWebアーキテクチャ
✤ Web/APサーバはEC2で構築
✤ ELBを配置し、オートスケーリング可能なスケーラブル構成に
✤ Webサーバは冗⻑化
✤ DBはRDSによるMulti AZ構成、もしくはEC2上で構築
✤ EC2等のインフラは各最低1台は常時稼働
【課題】
✤ インフラ構築
✤ インフラの運⽤管理
✤ キャパシティ
✤ スケール
✤ デプロイ
✤ 耐障害性
✤ モニタリング、ロギング
✤ セキュリティパッチの適⽤
✤ ビジネスの差別化には直接繋がらない機能のアプリ実装
✤ 認証
✤ スロットリング
Web
(EC2)
DB
(RDS)
LB
(ELB)
サーバレスアーキテクチャ
Lambda
API Gateway
AWSサービス
クラウドサービスを活⽤することでサーバ(EC2)を利⽤せずに構成するアーキテクチャ
S3
CloudFront
サーバレスアーキテクチャ
Lambda
API Gateway
AWSサービス
S3
CloudFront
クラウドサービスを活⽤することでサーバ(EC2)を利⽤せずに構成するアーキテクチャ
✤ JavaScript/ネイティブアプリによるUI実装
サーバレスアーキテクチャ
Lambda
API Gateway
AWSサービス
S3
CloudFront
クラウドサービスを活⽤することでサーバ(EC2)を利⽤せずに構成するアーキテクチャ
✤ JavaScript/ネイティブアプリによるUI実装
✤ JavaScriptおよび静的コンテンツはS3から配信
✤ CloudFront経由の配信
サーバレスアーキテクチャ
Lambda
API Gateway
AWSサービス
S3
CloudFront
クラウドサービスを活⽤することでサーバ(EC2)を利⽤せずに構成するアーキテクチャ
✤ JavaScript/ネイティブアプリによるUI実装
✤ JavaScriptおよび静的コンテンツはS3から配信
✤ CloudFront経由の配信
✤ ロジックはAPI化
✤ API Gatewayを利⽤
✤ バックエンドとしてLambdaを利⽤
サーバレスアーキテクチャ
Lambda
API Gateway
AWSサービス
S3
CloudFront
クラウドサービスを活⽤することでサーバ(EC2)を利⽤せずに構成するアーキテクチャ
✤ JavaScript/ネイティブアプリによるUI実装
✤ JavaScriptおよび静的コンテンツはS3から配信
✤ CloudFront経由の配信
✤ ロジックはAPI化
✤ API Gatewayを利⽤
✤ バックエンドとしてLambdaを利⽤
✤ JavaScript/iOS・AndroidはAPIを呼び出し
サーバレスアーキテクチャ
Lambda
API Gateway
AWSサービス
S3
CloudFront
クラウドサービスを活⽤することでサーバ(EC2)を利⽤せずに構成するアーキテクチャ
✤ JavaScript/ネイティブアプリによるUI実装
✤ JavaScriptおよび静的コンテンツはS3から配信
✤ CloudFront経由の配信
✤ ロジックはAPI化
✤ API Gatewayを利⽤
✤ バックエンドとしてLambdaを利⽤
✤ JavaScript/iOS・AndroidはAPIを呼び出し
✤ Lambdaファンクションから各AWSサービスを利⽤
✤ 認証にはCognitoを利⽤
サーバレスアーキテクチャ
✤ JavaScript/ネイティブアプリによるUI実装
✤ JavaScriptおよび静的コンテンツはS3から配信
✤ CloudFront経由の配信
✤ ロジックはAPI化
✤ API Gatewayを利⽤
✤ バックエンドとしてLambdaを利⽤
✤ JavaScript/iOS・AndroidはAPIを呼び出し
✤ Lambdaファンクションから各AWSサービスを利⽤
✤ 認証にはCognitoを利⽤
✤ API GW/LambdaともにEC2を利⽤した
別システムへのアクセスも当然可能
Lambda
API Gateway
AWSサービス
S3
CloudFront
クラウドサービスを活⽤することでサーバ(EC2)を利⽤せずに構成するアーキテクチャ
サーバレスアーキテクチャ(2-Tier Architecture)
✤各クライアント向けSDKからの
直接操作
✤AWSアクセスに必要なCredential
はCognitoを利⽤してセキュアに
取得
モバイルからダイレクトにAWSサービスを利⽤するアーキテクチャ
Android/iOS
SDK
JavaScript
SDK
DynamoDB SNS S3 LambdaCognito
Credential
の取得
直接操作
サーバレスアーキテクチャ
✤ JavaScript/ネイティブアプリによるUI実装
✤ JavaScriptおよび静的コンテンツはS3に保存して
配信
✤ CloudFront経由の配信
✤ ロジックはAPI化
✤ API Gatewayを利⽤
✤ バックエンドとしてLambdaを利⽤
✤ JavaScript/iOS・AndroidはAPIを呼び出し
✤ Viewの構築は各クライアント上で⾏う
✤ Lambdaファンクションから各AWSサービスを利
⽤
✤ API GW/LambdaともにEC2を利⽤した
Lambda
API Gateway
AWSサービス
クラウドサービスを活⽤することでサーバ(EC2)を利⽤せずに構成するアーキテクチャ
S3
CloudFront
解決される課題
不要(各サービスが適切にハンドリング)
不要
✤ インフラ構築 → 不要
✤ インフラの運⽤管理
✤キャパシティ
✤スケール
✤デプロイ
✤耐障害性
✤モニタリング
✤ロギング
✤セキュリティパッチの適⽤
✤ ビジネスの差別化には直接繋がらない機能のアプリ実装
✤認証
✤スロットリング
✤スケーラビリティの確保
API Gateway and Lambda
API Gateway integration with Lambda
✤API GatewayとLambda間をネイティブ
にインテグレーション
✤HTTPコールをLambdaの呼び出しに変換
✤Body、ヘッダ、パラメータなどを
Lambdaに渡すJSONオブジェクトへと
マッピングAPI Gateway Lambda
Amazon API Gateway
複数バージョンや複数環境
へのデプロイを管理
APIの定義とホスティング
クラウド上のリソースへのアクセ
ス認証におけるAWS IAMの活⽤
AWSのAuthを活⽤
バックエンド保護のため
のDDoS対策やリクエス
トのスロットリング
ネットワークトラフィックの管理
開発者がAPIの運⽤を気にせずに作成、公開することを可能にするサービス
Amazon API Gateway
複数バージョンとステージ
APIキーの作成と配布
リクエスト時におけるAWS SigV4の利⽤
リクエストのスロットリングとモニタリング
バックエンドとしてAWS Lambdaが利⽤可能
Amazon API Gateway
レスポンスをキャッシュ可能
CloudFrontを利⽤したレイテンシの軽減とDDoS対策
iOS、AndroidとJavaScript向けSDKの⾃動⽣成
Swaggerのサポート
Request / Responseにおけるデータ変換
Amazon API Gateway
レスポンスをキャッシュ可能
CloudFrontを利⽤したレイテンシの軽減とDDoS対策
iOS、AndroidとJavaScript向けSDKの⾃動⽣成
Swaggerのサポート
Request / Responseにおけるデータ変換
Lambdaファンクション: ステートレス、トリガーベースのコード実⾏
AWS Lambda
あらゆるスケールで⾼性能
費⽤対効果が⾼く効率的
インフラ管理不要
使った分だけの⽀払い
リクエスト量に応じて⾃動的に
キャパシティ調整
100ms単位のコンピュート課⾦
⾃⾝のコードを持ち込み
標準的な⾔語でコードを実⾏
スレッド、プロセス、ファイル
やシェルスクリプトも利⽤可能
インフラではなくビジネスロジック
に集中可能
コードをアップロードするだけで、
Lambdaが全てをハンドリング
AWS Lambda
✤インフラを⼀切気にすることなくアプリケーションコードを実⾏でき
るコンピュートサービス
✤実⾏基盤は全てAWSが管理
✤AWSサービスと連携させることで簡単にイベントドリブンなアプリケーション
を実装可能
✤コード実⾏時間に対しての課⾦でありコスト効率が⾮常に⾼い
✤VPC内のリソースへのアクセスも可能
✤Lambda function
✤JavaScript(Node.js)およびJava、Pythonで記述
✤サードパーティライブラリも利⽤可能
イベントソース
✤現時点では以下のAWSサービスと連携可能
✤Amazon S3
✤Amazon Kinesis
✤Amazon DynamoDB Streams(Preview)
✤Amazon Cognito
✤Amazon SNS
✤Alexa AppKit
✤Amazon SWF
✤Amazon SES inbound mail
✤Amazon CloudWatch Logs
✤Amazon Connected Home (Preview)
✤AWS IoT
サーバレスアーキテクチャのメリット
✤アプリの開発に多くのメリット
✤バックエンド側のコードが減るため開発コストを最⼩化
✤バックエンド側のサーバが減るため運⽤コストを最⼩化
✤AWSによってマネージされるため、スケーラビリティやキャパシティ、セキュ
リティの⼼配不要
✤⾮常にコスト効率が⾼く、多くの場合コスト減が⾒込める
✤必要に応じてEC2も導⼊できる安⼼感
✤汎⽤的なサービスでは実現の難しい、ビジネス固有の要件に関してはEC2を利
⽤して実装
✤EC2を利⽤する部分についてもCodeDeployやElastic Beanstalk、OpsWorks等
で⾃動化
付加価値を⽣まない
重労働からの解放
「何をするか」
を書くだけでいい
「何をするか」
を書くだけでいいAll you need is code.
If you need more flexibility
Use container.
You need longer timeout?
Use container.
What are containers?
✤プロセスの隔離
✤イメージ
✤⾃動化
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
Containerのメリット
Portable
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
Containerのメリット
Flexible
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
Containerのメリット
Fast
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
Containerのメリット
Efficient
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
Containerのメリット
⼀貫性のある環境 ⾼い⽣産性 バージョン管理 効率的な
オペレーション
AWSで実現するクラウドネイティブなアプリ開発のポイント
FROM ubuntu:14.04
MAINTAINER John Doe <jdoe@example.com>
RUN apt-get update && apt-get install -y curl
wget default-jre git
RUN adduser --home /home/sinatra --disabled-
password --gecos '' sinatra
RUN adduser sinatra sudo
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >>
/etc/sudoers
USER sinatra
RUN curl -sSL https://get.rvm.io | bash -s
stable
RUN /bin/bash -l -c "source
/home/sinatra/.rvm/scripts/rvm"
RUN /bin/bash -l -c "rvm install 2.1.2"
RUN /bin/bash -l -c "gem install sinatra"
RUN /bin/bash -l -c "gem install thin"
Package
docker push
docker pullShip
docker runRun
Cluster Management
$ docker run myimage
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
AWSで実現するクラウドネイティブなアプリ開発のポイント
Amazon EC2 Container Service (ECS)
✤Dockerコンテナを複数のEC2インスタンスに分散配置できる
✤⼀時的な計算処理にも、ロングランニングな処理にも対応
✤ELB連携など各種AWSサービスとの親和性
✤Amazon ECS⾃体の利⽤は無料
複数のコンテナをEC2のクラスタ上で⼀元管理できるサービス
Cluster Management Engine
Agent Communication Service API
Key/Value Store
Amazon ECS
AZ
ECS Agent
Container Instance
Task
Container
Task
Container
Docker
AZ
ECS Agent
Container Instance
Task
Container
Task
Container
Docker
ECS Agent
Container Instance
Task
Container
Task
Container
Docker
ELB ELB
User/Scheduler
Cluster管理を簡単に
✤クラスタ管理ソフトの導⼊不要
✤クラスタの状態管理
✤コンテナの管理
✤コントロールとモニタリング
✤1コンテナから数万コンテナまで
スケール
フレキシブルなコンテナ配置
✤アプリケーション
✤バッチジョブ
✤複数のスケジューラ
AWSサービスとの連携
✤Elastic Load Balancing
✤Amazon Elastic Block Store
✤Amazon Virtual Private Cloud
✤AWS Identity and Access
Management
✤AWS CloudTrail
Service Discovery/Registry?
Hashicorp Consul
✤DNSもしくはHTTP経由でのエンドポイン
トの登録と探索
✤エンドポイントへのヘルスチェック
✤動的コンフィグレーションなどのための
Key/Valueストア
クラウドネイティブなアプリ開発
The 12 Factor App
The 12 Factor App
✤モダンなWebアプリケーション開発のための⽅法論
✤直接的にマイクロサービスと関連する話しではないが⼀読しておくべ
き
✤URL
http://12factor.net/
http://12factor.net/ja/(⽇本語訳)
The 12 Factor App
✤Codebase - コードベース -
✤バージョン管理されている1つのコードベースと複数のデプロイ
✤Dependencies - 依存関係 -
✤依存関係を明⽰的に宣⾔し分離する
✤環境に依存しないこと
✤Config - 設定 -
✤設定を環境変数に格納する
✤設定などの環境によって異なる可能性があるものはOSレベルの環境変数によって注⼊
されるべきである
✤Backing services - バックエンドサービス -
✤バックエンドサービスをアタッチされたリソースとして扱う
✤データベースやメッセージブローカーといったものはアタッチされたリソースとして
扱う
The 12 Factor App
✤Build, release, run - ビルド、リリース、実⾏ -
✤ビルド、リリース、実⾏の3つのステージを厳密に分離する
✤Process - プロセス -
✤アプリケーションを1つもしくは複数のステートレスなプロセスとして実⾏す
る
✤プロセス間で何も共有はしない
✤Port binding - ポートバインディング -
✤ポートバインディングを通してサービスを公開する
✤Concurrency - 並⾏性 -
✤プロセスモデルによってスケールアウトする
✤⽔平⽅向へのプロセスのスケールアウトによって並⾏性を担保する
The 12 Factor App
✤Disposability - 廃棄容易性 -
✤⾼速な起動とグレースフルシャットダウンで堅牢性を最⼤化する
✤Dev/prod parity - 開発/本番⼀致 -
✤開発、ステージング、本番環境をできるだけ⼀致させた状態を保つ
✤CI/CDは各環境が揃っていることで実現される
✤Log - ログ -
✤ログをイベントストリームとして扱う
✤中央集権的なサービスによってイベントを集約、インデックス化し分析する環
境が実現される
✤Admin processes - 管理プロセス -
✤管理タスクを1回限りのプロセスとして実⾏する
アプリケーションの実装パターン
アプリケーションの実装パターン
✤いくつかの典型的なパターンがある
✤シンプルなものから複雑なものまで
✤どのやり⽅が許容できるかはチームで決めること
✤短期的にはシンプルなアプローチを取ったほうがいい
✤最初に選んだやり⽅を最後まで貫く必要はない
✤柔軟に変更する
Graceful Degradation
✤500エラーは返さない
✤⼀部に障害やエラーがあっても全体の停⽌を引き起こさず、その他の
機能は有効に機能させる
✤最悪な例:
Throttling
✤内部サービスによる偶発的なDoSが引き起こされることはよくある問
題
✤リクエストに対するスロットリングが基本的な防御⽅法
✤スロットリングにはユーザ単位であったり、ソースアドレス単位で
あったり、あるいはその組み合わせも
✤計測は常に⼤事
✤API Gatewayを使えば簡単にできます
Fail Fast
✤エラーを検知したらなるべく早く返す
✤メモリ不⾜などの問題出会った場合、素早い回復が可能になることが
多い
✤エラーの原因が軽減されれば、サービスは再び正常に動作する
Fail Silently
✤エラーを内部的に処理した上で、ユーザには成功を⽰すレスポンスを
返す
✤Webサービスであれば内容がない200 OKを返す
✤正常終了のコードを返す
✤当然、内部的にはエラーとなっているため、それを検知するためのロ
ギングは⾏うこと
Static Fallback
✤エラー時には何らかの静的なコンテンツもしくは値を返す
✤返すコンテンツにはリクエストのコンテキストがわかるものを含める
こと
✤ハードコーディングせずに変更可能にすること
Retry
✤失敗は⼀時的なものが多いのでシンプルにリトライすることで成功す
ることが多い
✤スロットリングに対する対応も同様
✤エラーが起きたら、少し待った上でリトライする
✤Exponential back offもしくはフィボナッチ数列を利⽤したリトライ間
隔の調整を⾏う
✤Exponential back off ••• リトライ間隔を指数関数的に⻑くしていくアルゴリズ
ム
✤無制限にリトライするのではなくどこかでエラーとして判断すること
が必要
Caching
✤サービス呼び出しに対するレスポンスをキャッシュする
✤リクエストを受け取ったら、最初にキャッシュをチェックし、キャッ
シュがない場合や期限切れの場合にだけバックエンドへとコールする
✤レスポンス時にはキャッシュにも書き込みを⾏う
✤キャッシュがあった場合はキャッシュを⽤いてレスポンスする
Circuit Breaker
✤発⽣したエラー数を記録し、閾値を越えたときにフォールバックプラ
ンを実⾏する
✤⼀般的にはFail fastと同じくエラーを素早く返す
✤故障箇所を部分的にかつ迅速に切り離すことでサービス全体への影響
を防ぐ
✤機能を回復させるために定期的にヘルスチェックする
Think Parallel
✤処理を並列化することでレイテンシを⼩さくする
Smooth Internal Traffic
✤キューの利⽤
✤コンポーネント間にキューを置いて、内部トラフィックをなだらかにするバッ
ファとして利⽤
✤スパイク的な負荷をハンドリング
クラウドネイティブなデプロイ
DevOps
DevOps = ライフサイクルを効率的にスピードアップさせること
developers customers
releasetestbuild
plan monitor
delivery pipeline
feedback loop
ソフトウェア開発のライフサイクル
モノリシックな開発サイクル
developers
releasetestbuild
delivery pipelineapp
The Amazon Way
2 Pizza Rule
AMAZON CONFIDENTIAL
Two Pizza Team
✤作るものに対する全てを負う
✤プロダクト計画(ロードマップ)
✤開発
✤運⽤
✤サポート
✤You build it, you run it
✤DevOps
94
マイクロサービスな開発サイクル
developers delivery pipelinesservices
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
releasetestbuild
MonitorProvisionDeployTestBuildCode
Elastic Beanstalk
OpsWorks
Cloud
Watch
Cloud
Formation
Code
Deploy
Code
Commit
Code
Pipeline
AWS DevOps Services
AWS Code services
CodeCommit
ソースコード管理
CodePipeline
継続的デリバリ
CodeDeploy
⾃動化されたデプロイ
AWS CodePipeline
✤リリースプロセスの定義
✤⾃社システムとのインテグレーション
✤パイプラインステータスの可視化
✤各リリースの⼀貫した検証
Amazonと同様の継続的デリバリとリリース⾃動化
Build
1) Build
2) Unit test
1) Deploy
2) UI test
Source Beta Production
1) Deploy
2) Perf test
Gamma
1) Deploy canary
2) Deploy region 1
3) Deploy region 2
1) Pull
AWS CodeDeploy
✤簡単で信頼性の⾼いデプロイを実現
✤簡単にスケール
✤あらゆるサーバにデプロイ可能
Test
CodeDeployv1, v2, v3
Production
Dev
リビジョン
deployment groups
AWS CodeCommit
✤S3上に⽤意されたGitプライベートリポジトリ
✤⼀般的なGitのツールを利⽤可能
✤Amazon S3とDynamoDBを利⽤したスケーラビリティ、可⽤性と信頼性
✤ユーザ固有のキーで全リポジトリを⾃動的に暗号化
git pull/push CodeCommit
Git objects in
Amazon S3
Git index in
Amazon
DynamoDB
Encryption key
in AWS KMS
SSH or HTTPS
AWSで実現するクラウドネイティブなアプリ開発のポイント
参考資料
✤ Martin Fowlerのブログ
✤ Microservices
http://martinfowler.com/articles/microservices.html
✤ Microservices Premium
http://martinfowler.com/bliki/MicroservicePremium.html
✤ THE TWELVE-FACTOR APP
http://12factor.net/
http://12factor.net/jp/ (⽇本語)
✤ AWS関連
✤ Amazon API Gateway
http://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/welcome.html
✤ AWS Lambda
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html
✤ Amazon ECS
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
✤ AWS CodePipeline
http://docs.aws.amazon.com/en_us/codepipeline/latest/userguide/welcome.html
✤ AWS CodeDeploy
http://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html
✤ AWS CodeCommit
http://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html
✤ AWSクラウドサービス活⽤資料集
https://aws.amazon.com/jp/aws-jp-introduction/
✤ AWS re:Invent 2015 スライド
http://www.slideshare.net/AmazonWebServices/tag/reinvent2015
✤ Exponential Backoff and Jitter
https://www.awsarchitectureblog.com/2015/03/backoff.html

More Related Content

What's hot

事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)Tokoroten Nakayama
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Google Cloud Platform - Japan
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーToru Makabe
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Amazon Web Services Japan
 
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会Takayuki Kyowa
 
マイクロサービス化に向けて
マイクロサービス化に向けてマイクロサービス化に向けて
マイクロサービス化に向けてHIRA
 
いまさら、AWSのネットワーク設計
いまさら、AWSのネットワーク設計いまさら、AWSのネットワーク設計
いまさら、AWSのネットワーク設計Serverworks Co.,Ltd.
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本kazuki kumagai
 
BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話itkr
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念Shinya Mori (@mosuke5)
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けRecruit Technologies
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割Recruit Lifestyle Co., Ltd.
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2Preferred Networks
 
Edge Computing と k8s でなんか話すよ
Edge Computing と k8s でなんか話すよEdge Computing と k8s でなんか話すよ
Edge Computing と k8s でなんか話すよVirtualTech Japan Inc.
 

What's hot (20)

事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
事業の進展とデータマネジメント体制の進歩(+プレトタイプの話)
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
Spanner から GKE、Spinnaker、そして SRE まで、コロプラが今挑戦していること[Google Cloud INSIDE Games ...
 
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
大規模環境でRailsと4年間付き合ってきて@ クックパッド * 食べログ合同勉強会
 
マイクロサービス化に向けて
マイクロサービス化に向けてマイクロサービス化に向けて
マイクロサービス化に向けて
 
いまさら、AWSのネットワーク設計
いまさら、AWSのネットワーク設計いまさら、AWSのネットワーク設計
いまさら、AWSのネットワーク設計
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
 
BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話BigQuery で 150万円 使ったときの話
BigQuery で 150万円 使ったときの話
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念Kubernetesを使う上で抑えておくべきAWSの基礎概念
Kubernetesを使う上で抑えておくべきAWSの基礎概念
 
ビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分けビッグデータ処理データベースの全体像と使い分け
ビッグデータ処理データベースの全体像と使い分け
 
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
ホットペッパービューティーにおけるモバイルアプリ向けAPIのBFF/Backend分割
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
Edge Computing と k8s でなんか話すよ
Edge Computing と k8s でなんか話すよEdge Computing と k8s でなんか話すよ
Edge Computing と k8s でなんか話すよ
 

Similar to AWSで実現するクラウドネイティブなアプリ開発のポイント

AWS Introduction for Startups
AWS Introduction for StartupsAWS Introduction for Startups
AWS Introduction for Startupsakitsukada
 
DevAx::connect はじめました
DevAx::connect はじめましたDevAx::connect はじめました
DevAx::connect はじめました政雄 金森
 
今更ながらの「マイクロサービス」
今更ながらの「マイクロサービス」今更ながらの「マイクロサービス」
今更ながらの「マイクロサービス」Hideaki Tokida
 
[HAKODATE Developer Conference 2018] 「Azure Functions」で始めるサーバーレス アプリケーション開発
[HAKODATE Developer Conference 2018] 「Azure Functions」で始めるサーバーレス アプリケーション開発[HAKODATE Developer Conference 2018] 「Azure Functions」で始めるサーバーレス アプリケーション開発
[HAKODATE Developer Conference 2018] 「Azure Functions」で始めるサーバーレス アプリケーション開発Naoki (Neo) SATO
 
20190514 Smart Store - Azure servlerless architecture
20190514 Smart Store - Azure servlerless architecture20190514 Smart Store - Azure servlerless architecture
20190514 Smart Store - Azure servlerless architectureIssei Hiraoka
 
Smart Store サーバーレスアーキテクチャ編
Smart Store サーバーレスアーキテクチャ編Smart Store サーバーレスアーキテクチャ編
Smart Store サーバーレスアーキテクチャ編Microsoft Azure Japan
 
Azure and cloud native approach.v0.6.19.0807
Azure and cloud native approach.v0.6.19.0807Azure and cloud native approach.v0.6.19.0807
Azure and cloud native approach.v0.6.19.0807Ayumu Inaba
 
Microsoft Azure Overview - Japanses version
Microsoft Azure Overview - Japanses versionMicrosoft Azure Overview - Japanses version
Microsoft Azure Overview - Japanses versionTakeshi Fukuhara
 
Micro Service for Autonomous Infrastructure
Micro Service for Autonomous InfrastructureMicro Service for Autonomous Infrastructure
Micro Service for Autonomous InfrastructureYoshimi Tominaga
 
モバイル開発を便利にするAWS
モバイル開発を便利にするAWSモバイル開発を便利にするAWS
モバイル開発を便利にするAWSSatoshi Takayanagi
 
クラウドがもたらすパラダイムシフト
クラウドがもたらすパラダイムシフトクラウドがもたらすパラダイムシフト
クラウドがもたらすパラダイムシフトkurikiyo
 
オトナのService Fabric~マイクロサービス編
オトナのService Fabric~マイクロサービス編オトナのService Fabric~マイクロサービス編
オトナのService Fabric~マイクロサービス編Tatsuaki Sakai
 
Architecting+for+high+availability
Architecting+for+high+availabilityArchitecting+for+high+availability
Architecting+for+high+availabilityanzhong70
 
SIビジネスのデジタル・トランスフォーメーション
SIビジネスのデジタル・トランスフォーメーションSIビジネスのデジタル・トランスフォーメーション
SIビジネスのデジタル・トランスフォーメーションMasanori Saito
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発政雄 金森
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?Akira Inoue
 
UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値Keisuke Nishitani
 
Smart store servlerless-20191030-40min
Smart store servlerless-20191030-40minSmart store servlerless-20191030-40min
Smart store servlerless-20191030-40minMicrosoft Azure Japan
 
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...de:code 2017
 

Similar to AWSで実現するクラウドネイティブなアプリ開発のポイント (20)

AWS Introduction for Startups
AWS Introduction for StartupsAWS Introduction for Startups
AWS Introduction for Startups
 
DevAx::connect はじめました
DevAx::connect はじめましたDevAx::connect はじめました
DevAx::connect はじめました
 
今更ながらの「マイクロサービス」
今更ながらの「マイクロサービス」今更ながらの「マイクロサービス」
今更ながらの「マイクロサービス」
 
[HAKODATE Developer Conference 2018] 「Azure Functions」で始めるサーバーレス アプリケーション開発
[HAKODATE Developer Conference 2018] 「Azure Functions」で始めるサーバーレス アプリケーション開発[HAKODATE Developer Conference 2018] 「Azure Functions」で始めるサーバーレス アプリケーション開発
[HAKODATE Developer Conference 2018] 「Azure Functions」で始めるサーバーレス アプリケーション開発
 
20190514 Smart Store - Azure servlerless architecture
20190514 Smart Store - Azure servlerless architecture20190514 Smart Store - Azure servlerless architecture
20190514 Smart Store - Azure servlerless architecture
 
Smart Store サーバーレスアーキテクチャ編
Smart Store サーバーレスアーキテクチャ編Smart Store サーバーレスアーキテクチャ編
Smart Store サーバーレスアーキテクチャ編
 
Azure and cloud native approach.v0.6.19.0807
Azure and cloud native approach.v0.6.19.0807Azure and cloud native approach.v0.6.19.0807
Azure and cloud native approach.v0.6.19.0807
 
Microsoft Azure Overview - Japanses version
Microsoft Azure Overview - Japanses versionMicrosoft Azure Overview - Japanses version
Microsoft Azure Overview - Japanses version
 
Micro Service for Autonomous Infrastructure
Micro Service for Autonomous InfrastructureMicro Service for Autonomous Infrastructure
Micro Service for Autonomous Infrastructure
 
モバイル開発を便利にするAWS
モバイル開発を便利にするAWSモバイル開発を便利にするAWS
モバイル開発を便利にするAWS
 
クラウドがもたらすパラダイムシフト
クラウドがもたらすパラダイムシフトクラウドがもたらすパラダイムシフト
クラウドがもたらすパラダイムシフト
 
オトナのService Fabric~マイクロサービス編
オトナのService Fabric~マイクロサービス編オトナのService Fabric~マイクロサービス編
オトナのService Fabric~マイクロサービス編
 
Architecting+for+high+availability
Architecting+for+high+availabilityArchitecting+for+high+availability
Architecting+for+high+availability
 
SIビジネスのデジタル・トランスフォーメーション
SIビジネスのデジタル・トランスフォーメーションSIビジネスのデジタル・トランスフォーメーション
SIビジネスのデジタル・トランスフォーメーション
 
ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発ハイブリットクラウド環境におけるモダンアプリケーション開発
ハイブリットクラウド環境におけるモダンアプリケーション開発
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
 
UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値UnityとAmazon Web Servicesで生み出す新しい価値
UnityとAmazon Web Servicesで生み出す新しい価値
 
Black Belt Online Seminar Amazon Cognito
Black Belt Online Seminar Amazon CognitoBlack Belt Online Seminar Amazon Cognito
Black Belt Online Seminar Amazon Cognito
 
Smart store servlerless-20191030-40min
Smart store servlerless-20191030-40minSmart store servlerless-20191030-40min
Smart store servlerless-20191030-40min
 
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...
[AC02] Cloud Robotics Azure Platform って何だ!?~ IoT をもっと簡単に、Cloud AI の活用をもっと気軽にや...
 

More from Keisuke Nishitani

Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldKeisuke Nishitani
 
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことKeisuke Nishitani
 
Introducing Amazon Rekognition, Amazon Polly and Amazon Lex
Introducing Amazon Rekognition, Amazon Polly and Amazon LexIntroducing Amazon Rekognition, Amazon Polly and Amazon Lex
Introducing Amazon Rekognition, Amazon Polly and Amazon LexKeisuke Nishitani
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessRunning Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessKeisuke Nishitani
 
AWSのサーバレス関連アップデートを10分で紹介します
AWSのサーバレス関連アップデートを10分で紹介しますAWSのサーバレス関連アップデートを10分で紹介します
AWSのサーバレス関連アップデートを10分で紹介しますKeisuke Nishitani
 
Introducing Serverless Computing (20160802)
Introducing Serverless Computing (20160802)Introducing Serverless Computing (20160802)
Introducing Serverless Computing (20160802)Keisuke Nishitani
 
Going Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No ServersGoing Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No ServersKeisuke Nishitani
 
クラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャクラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャKeisuke Nishitani
 
Building Scalable Application on the Cloud
Building Scalable Application on the CloudBuilding Scalable Application on the Cloud
Building Scalable Application on the CloudKeisuke Nishitani
 
AWS Lambda / Amazon API Gateway Deep Dive
AWS Lambda / Amazon API Gateway Deep DiveAWS Lambda / Amazon API Gateway Deep Dive
AWS Lambda / Amazon API Gateway Deep DiveKeisuke Nishitani
 
Androidを中心に紐解くIoT
Androidを中心に紐解くIoTAndroidを中心に紐解くIoT
Androidを中心に紐解くIoTKeisuke Nishitani
 
Scale Your Business without Servers
Scale Your Business without ServersScale Your Business without Servers
Scale Your Business without ServersKeisuke Nishitani
 

More from Keisuke Nishitani (20)

Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless World
 
Serverless Anti-Patterns
Serverless Anti-PatternsServerless Anti-Patterns
Serverless Anti-Patterns
 
AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
 
Tune Up AWS Lambda
Tune Up AWS LambdaTune Up AWS Lambda
Tune Up AWS Lambda
 
What's new with Serverless
What's new with ServerlessWhat's new with Serverless
What's new with Serverless
 
Introduction to AWS X-Ray
Introduction to AWS X-RayIntroduction to AWS X-Ray
Introduction to AWS X-Ray
 
Introducing Amazon Rekognition, Amazon Polly and Amazon Lex
Introducing Amazon Rekognition, Amazon Polly and Amazon LexIntroducing Amazon Rekognition, Amazon Polly and Amazon Lex
Introducing Amazon Rekognition, Amazon Polly and Amazon Lex
 
What's new with Serverless
What's new with ServerlessWhat's new with Serverless
What's new with Serverless
 
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or ServerlessRunning Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
Running Java Apps with Amazon EC2, AWS Elastic Beanstalk or Serverless
 
Serverless Revolution
Serverless RevolutionServerless Revolution
Serverless Revolution
 
AWSのサーバレス関連アップデートを10分で紹介します
AWSのサーバレス関連アップデートを10分で紹介しますAWSのサーバレス関連アップデートを10分で紹介します
AWSのサーバレス関連アップデートを10分で紹介します
 
Introducing Serverless Computing (20160802)
Introducing Serverless Computing (20160802)Introducing Serverless Computing (20160802)
Introducing Serverless Computing (20160802)
 
Going Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No ServersGoing Serverless, Building Applications with No Servers
Going Serverless, Building Applications with No Servers
 
クラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャクラウド時代のソフトウェアアーキテクチャ
クラウド時代のソフトウェアアーキテクチャ
 
AWS Lambda Updates
AWS Lambda UpdatesAWS Lambda Updates
AWS Lambda Updates
 
Building Scalable Application on the Cloud
Building Scalable Application on the CloudBuilding Scalable Application on the Cloud
Building Scalable Application on the Cloud
 
AWS Lambda / Amazon API Gateway Deep Dive
AWS Lambda / Amazon API Gateway Deep DiveAWS Lambda / Amazon API Gateway Deep Dive
AWS Lambda / Amazon API Gateway Deep Dive
 
Androidを中心に紐解くIoT
Androidを中心に紐解くIoTAndroidを中心に紐解くIoT
Androidを中心に紐解くIoT
 
Scale Your Business without Servers
Scale Your Business without ServersScale Your Business without Servers
Scale Your Business without Servers
 
RESTful API 入門
RESTful API 入門RESTful API 入門
RESTful API 入門
 

Recently uploaded

「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 

Recently uploaded (12)

「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 

AWSで実現するクラウドネイティブなアプリ開発のポイント