SlideShare a Scribd company logo
1 of 60
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
オレ流クラウドデザイン
Lv0~Lv400
株式会社オルターブース
小島 淳
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
株式会社オルターブース
代表取締役 (金髪銀髪おにいさん)
小島 淳(Atsushi Kojima)
2
とりあえずなんでもやるフルスタックエン
ジニアと思っている方が多いですが本人的には
OSSなミドルウェア職人と思っていてア
プリケーション開発をバリバリしている人から見
ると物足りないしネットワーク超絶詳しい人
から見ても物足りないという中途半端な存在
を打破しようと日々精進しています。
Microsoft MVP(Microsoft Azure)だったりします。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
つまらない世界から、
もっと刺激のある世界へ変化させよう!
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Web上で簡単に自分好みの“ソース”を作るこ
とができるサービス。
マイクロサービスの実
行基盤をインテグレー
ションするサービス。
Microsoft Azureに特化したフルスタックな開発運用
サービス。
SaaSアプリケーション
マイクロサービス
アーキテクチャー
クラウドインテグレーション
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
クラウド使いこなしてますか?
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
一言でクラウドといっても様々なサービスを提供しているのでそれら
を網羅的に扱うのは非常に難しい。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
クラウドデザインパターンは非常に有効
に使えるけど、ちょっとミクロになりす
ぎているところと外部のサービスを連携
する部分が抜けている。
自分たちのサービスがどのように当ては
まるのかがわかりづらい。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
ということで今回はそんなお悩みを一気
に解決してしまおう、あわよくば新機能
も一緒に勉強出来て、明日からすぐに使
えるイケてる技術を自慢してしまおうと
いう主旨です。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
※注
長いのでダレる可能性あります。
なので適当に休憩していただいて結構です。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Lv0
機能おさらい
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
基本形
Compute Service群
仮想マシン Web App Cloud Service
Azureが提供するIaaSイン
スタンス。Windowsおよび
Linuxが利用可能。
Windows10も可能。
アプリケーション基盤飲み
を提供するPaaSインスタン
ス。カスタマイズ性は高く
多くの言語に対応している。
Azure初期から存在
するWindowsベース
のRole型PaaS。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Compute Service群
応用形
Azure
Container
Instances
Azure
Container
Service
Service
Fabric
コンテナーを中心としたマイクロサービス基盤
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
データを格納することを主としたサービス群
Data Store群
Blob
Files
Queue
Table
Storage
SQL Database SQL
DataWarehouse
Azure Cache
CosmosDB
Azure DataLake
Azure Search
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Network / Gateway Service群
API
Gateway
Application
Gateway
Azure CDN Express
Route
Azure
LoadBalancer
Traffic
Manager
仮想ネットワーク
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
オレ的注目株
Cognitive
Service
Azure Machine
Learning
Logic Apps
Operations
Management
Suite
HDInsight
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
他にもたくさんのサービス
があるので是非みなさんも
調べてみてください。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Lv100
デザインパターン基本
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
データ処理のパターン1
センサーデバイス Azure API Apps
SQL Database
DocumentDB
Storage Blob
HTTP/HTTPS
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
データ処理のパターン2
センサーデバイス
SQL Database
DocumentDB
Storage Blob
WebSocket
Azure Web
Apps
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
データ処理のパターン3
センサーデバイス EventHubs
Stream Analytics
HDInsight
SQL Database
DocumentDB
Storage Blob
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Lv200
マイソースファクトリー
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Single Page Architectureを採用
Database
WebApps
フロントエンド
API
バックエンド
マイソースファクトリー
https://mysaucefactory.com
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
全体像
Cognito
API
Gateway
DocumentDB
SQL Database
TerraformWebApps
Route53
S3
CloudFront
Lambda
Azure Container Service
LB
docker swarm
ASP.NET Core
BLOB
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Azure AWS
Virtual Machines EC2
Load Balancer ELB
SQL Database RDS
DocumentDB DynamoDB
CDN CloudFront
DNS Route53
API Management API Gateway
Functions Lambda
Mobile Apps Cognito
Storage Blob S3
参考)AzureとAWSのサービス比較
https://docs.microsoft.com/en-us/azure/architecture/aws-professional/services
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
ロギングパターン
ASP.NET Core
Azure Container Service
Azure Storage
Operations Management Suite
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
ビルドパイプライン
開発(Dev)
Build Ship Run
運用(Ops)ECR
ACS
docker swarm
AKS
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Blue Green Deployment
ECR
ASP.NET Core
開発メンバー
実行結果
Push
Polling
Azure Container Service
ASP.NET Core
ASP.NET Core
nginx
docker swarm
docker pull
docker push
docker build
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
• Terraform
• クラウドオーケストレーション
• Ansible
• ステージング / 本番環境 プロビジョニング
• Docker
• 全てのアプリはコンテナ
• Jenkins 2
• CI/CDを支える
• Git
• インフラコード管理
マイソースを支えるツール群
Terraform
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
米国Docker社が提供する仮想コンテナーツールです。
アプリケーションをコンテナで実行したり、簡単にホスト間をマイグ
レーションすることが出来ます。
Dockerとは
コード化 Gitで管理 起動が早い
カーネルを共有 ステートレス OSS
コンテナーを仮想サーバーのように扱うことは出来ない。
1つのコンテナーには1つのサービスしか起動しない。
コンテナーはステートレスにしデータを格納しない。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
現在6つのコンテナーサービスを提供している。
Azure Container Service(ACS)
Azure Container Service for K8S(AKS)
Azure Container Instance(ACI)
Web App for Containers
Azure Container Registry
Azure Service Fabric
Azureが提供しているコンテナーサービス
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
kubernetes(くーべねてぃす)とはコンテナークラス
ターを構成し、コンテナーホストのデプロイ、スケール、
運用自動化など統合的に提供されるプラットフォームで
す。近年非常に注目されておりAzureをはじめ各パブリッ
ククラウドのフルマネージドコンテナーサービスで採用
されています。
Azureでは従来からリリースされている
Azure Container Serviceで
kubernetesが利用できます。またそれ
にともなってAzure Container Service
の略称であるACSからAKSへと変更され
ています。
kubernetesは「k8s」と略されること
が多いのですが、この「k8s」はkとsの
間に8文字を省力していることを意味し
ています。
AKSは現在パブリックプレビュー提供
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Azure Container Service(AKS)
フルマネージド
自動作成
コンテナのデプロイ
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Lv300
マイクロサービス
アーキテクチャー
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
一般的なアプリケーションはほぼ全て3つの要素に分割できます。
3層アーキテクチャー考察
フロントエンド バックエンド データストア
リクエスト
3層アーキテクチャー
フロントエンド バックエンド データストアステートレス
フロントエンド バックエンド データストアステートフル
フロントエンド バックエンド データストアSPA
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
モノリスとは1枚岩と称され、全ての機能が1つのアプリケーションに
含まれている状態を指します。この状態での最大の課題はスケーリン
グであり水平、垂直ともに課題の棚上げを行っているに過ぎません。
※この棚上げに関する解決パターンはLv400でやります。
モノリス構造
機能A
機能B
機能C
完全なコピーをホスティングするバックエンドサーバー
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
マイクロサービスとは、アプリケーションを独立した複数のサービス
に分割し、それぞれが独立した小さなサービスとして動かします。独
立した各サービスはオーケストレーションを通じて連携し、1つのア
プリケーションとして機能させます。
マイクロサービス構造
機能A
機能B
機能C
A
B
C
B C A B
A B C A
C A B Cマイクロサービス
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
基本構成はマイソースと同じ。
マイクロサービスのクラウドデザイン基本形
SQL Database
Web Apps
フロントエンド
API
バックエンド
JSフレームワーク
View.jsとか
マイクロサービス
はAPI化する
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
バックエンドAPIのデザイン
Azure Container Service for kubernetes(AKS)
LB
API API API API
API API API API
Web Apps
フロントエンド
マイクロサービスはAPIとして動作させ、コンテナへ配置する。
SPAの状態にしてフロントエンドから疎結合で連携する。
SQL Database
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
コンテナーを使ったマイクロサービスの場合、コンテナー自体にデー
タを保管することは出来ないのでステートレスとして構成する必要が
ある。
ステートレスマイクロサービス
Frontend
Request
Multi Model Data Store
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Service Fabric
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
コンテナーを用いたマイクロサービスでは、コンテナーの特性上デー
タをコンテナーに保存せず、外部のデータストアへ保存します。いわ
ゆるステートレスとしてアプリケーションを構成します。一方でマイ
クロサービスとは分散型アーキテクチャーでもあるのでデータに関し
ても分散し整合を保ったままアプリケーションを稼働させたいという
ニーズがあります。Service Fabricはコンテナーとは違いステートフ
ルのマイクロサービス基盤であり、利用されるシナリオもステートフ
ルマイクロサービスとして扱われます。
Service FabricとACS(AKS)との違い
Web Apps
フロントエンド
Data App
Service Fabric
Data App
Data App Data App
Windowsも
Linuxも動く
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
ステートフルマイクロサービス
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Service Fabricのアーキテクチャー
ノード間通信制御
ノード統合しリーダー選出、エラー検知、ルーティングを行う
Service Fabricの信頼性
を管理する。レプリカ、リ
ソース管理、フェール
オーバー。
サービスのアクティ
ブ化
アプリケーションライ
フサイクルの管理
アプリケー
ションのデ
プロイと監
視の管理
デプロイ前
のエラーシ
ミュレーショ
ン
アプリケーションアーキテクチャー
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
一般的にアプリケーションとは何かのイベントをトリガーにアクショ
ンを実行するが、その際にアプリケーションをホストするサーバーを
使わずコンテナを使って処理をするアーキテクチャー。
サーバーレス
UI
CLI
Web
Func2
Func3
Func1
Function as a Service
API Management Functions
AP
Logic Apps
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
サーバーレス基本系
Azure AD
B2C
API
Management
DocumentDB
SQL DatabaseAzure DNS
Functions
Azure Container Service
LB
kubernetes
API API API
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Azure Logic Apps
プログラムを書かずに多くの
サービスを結合することで
モノづくりを行える
iPaas とも呼ばれるサービス
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
• IFTTT は非常に多くのサービスと連携可能
• 間に制御を挟まないシンプル構成
• Logic Apps / Microsoft Flow はユーザーが制御を挟む余地がある
外部パイプライン開発に最適
一般ユー
ザー
システム管理者や開発者
IFTTT Microsoft Flow Azure Logic Apps
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
様々な外部サービスを繋ぐことが可能
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
クレームメール処理のサーバーレスパイプライン
1. メールチェック
2. 問い合わせ内容の確認
3. 顧客管理リストに
問い合わせ内容を登録
(クレーム時は優先)
4. 自動返信メール送信
(クレームか否か?)
5. 返信メール作成・送信
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Lv400
マイクロサービス実践
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
リソーススケールに関する柔軟性はクラウドの大きな特徴でありメ
リットではあるけど、そのスケールパターンについておさらいします。
スケールに関する考察
エラー検知 リトライ制御 スケール 収束
Multi Resource Auto Scale
水平スケールや負荷分散をすることで
リソースの枯渇を防ぐ方法が一般的。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
モノリスのスケーリングパターン
Azure LoadBalancer
Multi-Server
Azure LoadBalancer
Auto Scale
仮想マシンScale Sets
アプリケーションの完全なコピーをホス
ティングするサーバーでスケールする。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
モノリスのスケーリングパターンではアプリケーションの安定性や障
害に対する耐性が高まるように見えるが、リソースの枯渇における障
害に対しては棚上げになる。Circuit Breakerは失敗する見込みのある
操作の実行を防ぎ障害から復旧させます。
これにより障害が長引いていると判断している間はリソースの浪費な
しにアプリケーションを継続できます。
Circuit Breakerパターン
ブレーカーは失敗する可能性のある
操作に対するプロキシーの役割です。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
ブレーカー制御
プロキシとしてリクエストが
操作にルーティングされる。
失敗検知がしきい値を超える
とプロキシはオープンになる。
アプリケーションが失敗して
例外処理が返される。
アプリケーションから限られた
リクエストが送られ監視する。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
マイクロサービスのスケーリングパターン
Circuit
Breaker
正常マイクロサービス
異常マイクロサービス
マイクロサービス=APIとした場合、API
単位でブレーカーを制御する。
API Management でAPI(URI)のリ
バースプロキシーを構成する。
Functionsを使ってブレーカーオープン
になっているAPIを迂回する。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
Circuit Breakerは失敗する見込みのある操作の実行を防ぐことが目的
ですが、Retryはその名の通り障害が一時的なものとして操作を透過的
にリトライし一時的な障害に対してアプリケーションが対処できるよ
うにします。
Retryパターン
Status 500
①
Status 500
②
Status 200
③
Circuit Breakerパターンと併用することが多い。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
こういう細かいパターンを自分たちのプロダクトにどうやって組み込
むのか、という考え方ではなく、このプロダクトはこういう風にした
いという要件をちゃんとまとめないと提供するのはなかなか難しい。
インフラやアプリという視点ではなく、サービスというマクロの支店
が必要になる。
Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
ご清聴ありがとうございました。
疲れた。。。

More Related Content

What's hot

AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)
AWS Black Belt Techシリーズ  Elastic Load Balancing (ELB)AWS Black Belt Techシリーズ  Elastic Load Balancing (ELB)
AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)Amazon Web Services Japan
 
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会ShuheiUda
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems ManagerAmazon Web Services Japan
 
マイクロサービス化に向けて
マイクロサービス化に向けてマイクロサービス化に向けて
マイクロサービス化に向けてHIRA
 
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介 【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介 日本マイクロソフト株式会社
 
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせKuniteru Asami
 
HCCJP 23回勉強会 5分で分かる APIゲートウェイと サービスメッシュの違い なぜAPIの管理とサービスメッシュは異なるユースケース を補完するパ...
HCCJP 23回勉強会 5分で分かる APIゲートウェイと サービスメッシュの違い なぜAPIの管理とサービスメッシュは異なるユースケース を補完するパ...HCCJP 23回勉強会 5分で分かる APIゲートウェイと サービスメッシュの違い なぜAPIの管理とサービスメッシュは異なるユースケース を補完するパ...
HCCJP 23回勉強会 5分で分かる APIゲートウェイと サービスメッシュの違い なぜAPIの管理とサービスメッシュは異なるユースケース を補完するパ...Junji Nishihara
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをなAmazon Web Services Japan
 
週末趣味のAWS Transit Gatewayでの経路制御
週末趣味のAWS Transit Gatewayでの経路制御週末趣味のAWS Transit Gatewayでの経路制御
週末趣味のAWS Transit Gatewayでの経路制御Namba Kazuo
 
[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様Shuji Kikuchi
 
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?デプロイメントパイプラインって何?
デプロイメントパイプラインって何?ke-m kamekoopa
 
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)Amazon Web Services Japan
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版貴志 上坂
 
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版Naoki (Neo) SATO
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAmazon Web Services Japan
 
DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報Amazon Web Services Japan
 
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 ResolverAmazon Web Services Japan
 

What's hot (20)

AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)
AWS Black Belt Techシリーズ  Elastic Load Balancing (ELB)AWS Black Belt Techシリーズ  Elastic Load Balancing (ELB)
AWS Black Belt Techシリーズ Elastic Load Balancing (ELB)
 
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
 
マイクロサービス化に向けて
マイクロサービス化に向けてマイクロサービス化に向けて
マイクロサービス化に向けて
 
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介 【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
 
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
 
HCCJP 23回勉強会 5分で分かる APIゲートウェイと サービスメッシュの違い なぜAPIの管理とサービスメッシュは異なるユースケース を補完するパ...
HCCJP 23回勉強会 5分で分かる APIゲートウェイと サービスメッシュの違い なぜAPIの管理とサービスメッシュは異なるユースケース を補完するパ...HCCJP 23回勉強会 5分で分かる APIゲートウェイと サービスメッシュの違い なぜAPIの管理とサービスメッシュは異なるユースケース を補完するパ...
HCCJP 23回勉強会 5分で分かる APIゲートウェイと サービスメッシュの違い なぜAPIの管理とサービスメッシュは異なるユースケース を補完するパ...
 
CMDBあれこれ
CMDBあれこれCMDBあれこれ
CMDBあれこれ
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
 
週末趣味のAWS Transit Gatewayでの経路制御
週末趣味のAWS Transit Gatewayでの経路制御週末趣味のAWS Transit Gatewayでの経路制御
週末趣味のAWS Transit Gatewayでの経路制御
 
はじめての vSRX on AWS
はじめての vSRX on AWSはじめての vSRX on AWS
はじめての vSRX on AWS
 
[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様[AKIBA.AWS] VGWのルーティング仕様
[AKIBA.AWS] VGWのルーティング仕様
 
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
 
Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版Azure Api Management 俺的マニュアル 2020年3月版
Azure Api Management 俺的マニュアル 2020年3月版
 
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
 
DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報
 
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
 

Similar to オレ流クラウドデザイン

DevOps on azure 高品質クラウドデザインを求めて
DevOps on azure 高品質クラウドデザインを求めてDevOps on azure 高品質クラウドデザインを求めて
DevOps on azure 高品質クラウドデザインを求めてAtsushi Kojima
 
2018/7/27 SAP on AWS お客様事例セミナー@大阪(BeeX資料2/2)
2018/7/27  SAP on AWS お客様事例セミナー@大阪(BeeX資料2/2)2018/7/27  SAP on AWS お客様事例セミナー@大阪(BeeX資料2/2)
2018/7/27 SAP on AWS お客様事例セミナー@大阪(BeeX資料2/2)BeeX.inc
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)Yuji Takayama
 
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonightAmazon Web Services Japan
 
20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon awstakaoka susumu
 
2018/9/11 SAP on AWS お客様事例セミナー@東京(BeeX資料2/2)
2018/9/11 SAP on AWS お客様事例セミナー@東京(BeeX資料2/2)2018/9/11 SAP on AWS お客様事例セミナー@東京(BeeX資料2/2)
2018/9/11 SAP on AWS お客様事例セミナー@東京(BeeX資料2/2)BeeX.inc
 
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤Godai Nakamura
 
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチKazuya Sugimoto
 
AWS Introduction for Startups
AWS Introduction for StartupsAWS Introduction for Startups
AWS Introduction for Startupsakitsukada
 
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編Masayuki KaToH
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ真吾 吉田
 
Jaws serverless 1026_kyoso
Jaws serverless 1026_kyosoJaws serverless 1026_kyoso
Jaws serverless 1026_kyosoRyosuke Izumi
 
JAWS-UG山形 AWSのきほん 2016/11/12
JAWS-UG山形 AWSのきほん 2016/11/12 JAWS-UG山形 AWSのきほん 2016/11/12
JAWS-UG山形 AWSのきほん 2016/11/12 Gyori Nagafuchi
 
KDDIにおけるAWS×アジャイル開発
KDDIにおけるAWS×アジャイル開発KDDIにおけるAWS×アジャイル開発
KDDIにおけるAWS×アジャイル開発Kazuya Suda
 
Azuredevopsakskeda
AzuredevopsakskedaAzuredevopsakskeda
AzuredevopsakskedaTsukasa Kato
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターンKuniteru Asami
 
Realm platform2019
Realm platform2019Realm platform2019
Realm platform2019昌桓 李
 
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流についてAzureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について真吾 吉田
 
IoTとServerlessの世界 Jawsfesta_1103
IoTとServerlessの世界 Jawsfesta_1103IoTとServerlessの世界 Jawsfesta_1103
IoTとServerlessの世界 Jawsfesta_1103Ryosuke Izumi
 

Similar to オレ流クラウドデザイン (20)

DevOps on azure 高品質クラウドデザインを求めて
DevOps on azure 高品質クラウドデザインを求めてDevOps on azure 高品質クラウドデザインを求めて
DevOps on azure 高品質クラウドデザインを求めて
 
2018/7/27 SAP on AWS お客様事例セミナー@大阪(BeeX資料2/2)
2018/7/27  SAP on AWS お客様事例セミナー@大阪(BeeX資料2/2)2018/7/27  SAP on AWS お客様事例セミナー@大阪(BeeX資料2/2)
2018/7/27 SAP on AWS お客様事例セミナー@大阪(BeeX資料2/2)
 
Data API + AWS = (CMS どうでしょう 札幌編)
Data API + AWS =  (CMS どうでしょう 札幌編)Data API + AWS =  (CMS どうでしょう 札幌編)
Data API + AWS = (CMS どうでしょう 札幌編)
 
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
[CTO Night & Day 2019] グローバルのサービス展開に向けたマルチリージョンアーキテクチャ- #ctonight
 
20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws20151030 オープンデータとセキュリティon aws
20151030 オープンデータとセキュリティon aws
 
2018/9/11 SAP on AWS お客様事例セミナー@東京(BeeX資料2/2)
2018/9/11 SAP on AWS お客様事例セミナー@東京(BeeX資料2/2)2018/9/11 SAP on AWS お客様事例セミナー@東京(BeeX資料2/2)
2018/9/11 SAP on AWS お客様事例セミナー@東京(BeeX資料2/2)
 
AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤AWSオンリーで実現するIoTクラウド基盤
AWSオンリーで実現するIoTクラウド基盤
 
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
#decode19 #MW04 誰のための API? Azure デベロッパーにもエンド ユーザーにも嬉しいAPI エコシステム活用アプローチ
 
AWS Introduction for Startups
AWS Introduction for StartupsAWS Introduction for Startups
AWS Introduction for Startups
 
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
俺とサーバレスアーキテクチャ Aws cognito + aws api gateway 編
 
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャAWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
 
Jaws serverless 1026_kyoso
Jaws serverless 1026_kyosoJaws serverless 1026_kyoso
Jaws serverless 1026_kyoso
 
JAWS-UG山形 AWSのきほん 2016/11/12
JAWS-UG山形 AWSのきほん 2016/11/12 JAWS-UG山形 AWSのきほん 2016/11/12
JAWS-UG山形 AWSのきほん 2016/11/12
 
AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS AmplifyAWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
 
KDDIにおけるAWS×アジャイル開発
KDDIにおけるAWS×アジャイル開発KDDIにおけるAWS×アジャイル開発
KDDIにおけるAWS×アジャイル開発
 
Azuredevopsakskeda
AzuredevopsakskedaAzuredevopsakskeda
Azuredevopsakskeda
 
実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン実プロジェクトの経験から学ぶazureサービス適用パターン
実プロジェクトの経験から学ぶazureサービス適用パターン
 
Realm platform2019
Realm platform2019Realm platform2019
Realm platform2019
 
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流についてAzureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
 
IoTとServerlessの世界 Jawsfesta_1103
IoTとServerlessの世界 Jawsfesta_1103IoTとServerlessの世界 Jawsfesta_1103
IoTとServerlessの世界 Jawsfesta_1103
 

More from Atsushi Kojima

オペレーショナルエクセレンスの実現のためにまずやること
オペレーショナルエクセレンスの実現のためにまずやることオペレーショナルエクセレンスの実現のためにまずやること
オペレーショナルエクセレンスの実現のためにまずやることAtsushi Kojima
 
The Twelve Factorで実践するSaaS開発
The Twelve Factorで実践するSaaS開発The Twelve Factorで実践するSaaS開発
The Twelve Factorで実践するSaaS開発Atsushi Kojima
 
IT管理者が取り組むべき内製化を成功させるための技術戦略と文化醸成
IT管理者が取り組むべき内製化を成功させるための技術戦略と文化醸成IT管理者が取り組むべき内製化を成功させるための技術戦略と文化醸成
IT管理者が取り組むべき内製化を成功させるための技術戦略と文化醸成Atsushi Kojima
 
Alternative Architecture DOJO
Alternative Architecture DOJOAlternative Architecture DOJO
Alternative Architecture DOJOAtsushi Kojima
 
[Devsumi2017]オルタナティブなチーム開発のすゝめ
[Devsumi2017]オルタナティブなチーム開発のすゝめ[Devsumi2017]オルタナティブなチーム開発のすゝめ
[Devsumi2017]オルタナティブなチーム開発のすゝめAtsushi Kojima
 
この先生きのこるためのメインフレーム
この先生きのこるためのメインフレームこの先生きのこるためのメインフレーム
この先生きのこるためのメインフレームAtsushi Kojima
 
機能的組織のすゝめ
機能的組織のすゝめ機能的組織のすゝめ
機能的組織のすゝめAtsushi Kojima
 
ビッグデータのクラウドデザイン
ビッグデータのクラウドデザインビッグデータのクラウドデザイン
ビッグデータのクラウドデザインAtsushi Kojima
 
Chaos Engineeringのススメ
Chaos EngineeringのススメChaos Engineeringのススメ
Chaos EngineeringのススメAtsushi Kojima
 
ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発Atsushi Kojima
 
Azureで始めるDevOps
Azureで始めるDevOpsAzureで始めるDevOps
Azureで始めるDevOpsAtsushi Kojima
 
裏クラウドデザインパターン
裏クラウドデザインパターン裏クラウドデザインパターン
裏クラウドデザインパターンAtsushi Kojima
 
Azureまるっと解説
Azureまるっと解説Azureまるっと解説
Azureまるっと解説Atsushi Kojima
 

More from Atsushi Kojima (16)

オペレーショナルエクセレンスの実現のためにまずやること
オペレーショナルエクセレンスの実現のためにまずやることオペレーショナルエクセレンスの実現のためにまずやること
オペレーショナルエクセレンスの実現のためにまずやること
 
The Twelve Factorで実践するSaaS開発
The Twelve Factorで実践するSaaS開発The Twelve Factorで実践するSaaS開発
The Twelve Factorで実践するSaaS開発
 
IT管理者が取り組むべき内製化を成功させるための技術戦略と文化醸成
IT管理者が取り組むべき内製化を成功させるための技術戦略と文化醸成IT管理者が取り組むべき内製化を成功させるための技術戦略と文化醸成
IT管理者が取り組むべき内製化を成功させるための技術戦略と文化醸成
 
Cmc fukuoka
Cmc fukuokaCmc fukuoka
Cmc fukuoka
 
Alternative Architecture DOJO
Alternative Architecture DOJOAlternative Architecture DOJO
Alternative Architecture DOJO
 
[Devsumi2017]オルタナティブなチーム開発のすゝめ
[Devsumi2017]オルタナティブなチーム開発のすゝめ[Devsumi2017]オルタナティブなチーム開発のすゝめ
[Devsumi2017]オルタナティブなチーム開発のすゝめ
 
この先生きのこるためのメインフレーム
この先生きのこるためのメインフレームこの先生きのこるためのメインフレーム
この先生きのこるためのメインフレーム
 
機能的組織のすゝめ
機能的組織のすゝめ機能的組織のすゝめ
機能的組織のすゝめ
 
ビッグデータのクラウドデザイン
ビッグデータのクラウドデザインビッグデータのクラウドデザイン
ビッグデータのクラウドデザイン
 
Chaos Engineeringのススメ
Chaos EngineeringのススメChaos Engineeringのススメ
Chaos Engineeringのススメ
 
ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発
 
Azureで始めるDevOps
Azureで始めるDevOpsAzureで始めるDevOps
Azureで始めるDevOps
 
裏クラウドデザインパターン
裏クラウドデザインパターン裏クラウドデザインパターン
裏クラウドデザインパターン
 
Azureまるっと解説
Azureまるっと解説Azureまるっと解説
Azureまるっと解説
 
ふくあず#8
ふくあず#8ふくあず#8
ふくあず#8
 
PowerShell de Azure
PowerShell de AzurePowerShell de Azure
PowerShell de Azure
 

オレ流クラウドデザイン

  • 1. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. オレ流クラウドデザイン Lv0~Lv400 株式会社オルターブース 小島 淳
  • 2. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 株式会社オルターブース 代表取締役 (金髪銀髪おにいさん) 小島 淳(Atsushi Kojima) 2 とりあえずなんでもやるフルスタックエン ジニアと思っている方が多いですが本人的には OSSなミドルウェア職人と思っていてア プリケーション開発をバリバリしている人から見 ると物足りないしネットワーク超絶詳しい人 から見ても物足りないという中途半端な存在 を打破しようと日々精進しています。 Microsoft MVP(Microsoft Azure)だったりします。
  • 3. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. つまらない世界から、 もっと刺激のある世界へ変化させよう!
  • 4. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Web上で簡単に自分好みの“ソース”を作るこ とができるサービス。 マイクロサービスの実 行基盤をインテグレー ションするサービス。 Microsoft Azureに特化したフルスタックな開発運用 サービス。 SaaSアプリケーション マイクロサービス アーキテクチャー クラウドインテグレーション
  • 5. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. クラウド使いこなしてますか?
  • 6. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 一言でクラウドといっても様々なサービスを提供しているのでそれら を網羅的に扱うのは非常に難しい。
  • 7. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
  • 8. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. クラウドデザインパターンは非常に有効 に使えるけど、ちょっとミクロになりす ぎているところと外部のサービスを連携 する部分が抜けている。 自分たちのサービスがどのように当ては まるのかがわかりづらい。
  • 9. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. ということで今回はそんなお悩みを一気 に解決してしまおう、あわよくば新機能 も一緒に勉強出来て、明日からすぐに使 えるイケてる技術を自慢してしまおうと いう主旨です。
  • 10. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. ※注 長いのでダレる可能性あります。 なので適当に休憩していただいて結構です。
  • 11. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Lv0 機能おさらい
  • 12. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 基本形 Compute Service群 仮想マシン Web App Cloud Service Azureが提供するIaaSイン スタンス。Windowsおよび Linuxが利用可能。 Windows10も可能。 アプリケーション基盤飲み を提供するPaaSインスタン ス。カスタマイズ性は高く 多くの言語に対応している。 Azure初期から存在 するWindowsベース のRole型PaaS。
  • 13. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Compute Service群 応用形 Azure Container Instances Azure Container Service Service Fabric コンテナーを中心としたマイクロサービス基盤
  • 14. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. データを格納することを主としたサービス群 Data Store群 Blob Files Queue Table Storage SQL Database SQL DataWarehouse Azure Cache CosmosDB Azure DataLake Azure Search
  • 15. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Network / Gateway Service群 API Gateway Application Gateway Azure CDN Express Route Azure LoadBalancer Traffic Manager 仮想ネットワーク
  • 16. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. オレ的注目株 Cognitive Service Azure Machine Learning Logic Apps Operations Management Suite HDInsight
  • 17. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 他にもたくさんのサービス があるので是非みなさんも 調べてみてください。
  • 18. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Lv100 デザインパターン基本
  • 19. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved.
  • 20. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. データ処理のパターン1 センサーデバイス Azure API Apps SQL Database DocumentDB Storage Blob HTTP/HTTPS
  • 21. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. データ処理のパターン2 センサーデバイス SQL Database DocumentDB Storage Blob WebSocket Azure Web Apps
  • 22. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. データ処理のパターン3 センサーデバイス EventHubs Stream Analytics HDInsight SQL Database DocumentDB Storage Blob
  • 23. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Lv200 マイソースファクトリー
  • 24. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Single Page Architectureを採用 Database WebApps フロントエンド API バックエンド マイソースファクトリー https://mysaucefactory.com
  • 25. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 全体像 Cognito API Gateway DocumentDB SQL Database TerraformWebApps Route53 S3 CloudFront Lambda Azure Container Service LB docker swarm ASP.NET Core BLOB
  • 26. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Azure AWS Virtual Machines EC2 Load Balancer ELB SQL Database RDS DocumentDB DynamoDB CDN CloudFront DNS Route53 API Management API Gateway Functions Lambda Mobile Apps Cognito Storage Blob S3 参考)AzureとAWSのサービス比較 https://docs.microsoft.com/en-us/azure/architecture/aws-professional/services
  • 27. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. ロギングパターン ASP.NET Core Azure Container Service Azure Storage Operations Management Suite
  • 28. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. ビルドパイプライン 開発(Dev) Build Ship Run 運用(Ops)ECR ACS docker swarm AKS
  • 29. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Blue Green Deployment ECR ASP.NET Core 開発メンバー 実行結果 Push Polling Azure Container Service ASP.NET Core ASP.NET Core nginx docker swarm docker pull docker push docker build
  • 30. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • Terraform • クラウドオーケストレーション • Ansible • ステージング / 本番環境 プロビジョニング • Docker • 全てのアプリはコンテナ • Jenkins 2 • CI/CDを支える • Git • インフラコード管理 マイソースを支えるツール群 Terraform
  • 31. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 米国Docker社が提供する仮想コンテナーツールです。 アプリケーションをコンテナで実行したり、簡単にホスト間をマイグ レーションすることが出来ます。 Dockerとは コード化 Gitで管理 起動が早い カーネルを共有 ステートレス OSS コンテナーを仮想サーバーのように扱うことは出来ない。 1つのコンテナーには1つのサービスしか起動しない。 コンテナーはステートレスにしデータを格納しない。
  • 32. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 現在6つのコンテナーサービスを提供している。 Azure Container Service(ACS) Azure Container Service for K8S(AKS) Azure Container Instance(ACI) Web App for Containers Azure Container Registry Azure Service Fabric Azureが提供しているコンテナーサービス
  • 33. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. kubernetes(くーべねてぃす)とはコンテナークラス ターを構成し、コンテナーホストのデプロイ、スケール、 運用自動化など統合的に提供されるプラットフォームで す。近年非常に注目されておりAzureをはじめ各パブリッ ククラウドのフルマネージドコンテナーサービスで採用 されています。 Azureでは従来からリリースされている Azure Container Serviceで kubernetesが利用できます。またそれ にともなってAzure Container Service の略称であるACSからAKSへと変更され ています。 kubernetesは「k8s」と略されること が多いのですが、この「k8s」はkとsの 間に8文字を省力していることを意味し ています。 AKSは現在パブリックプレビュー提供
  • 34. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Azure Container Service(AKS) フルマネージド 自動作成 コンテナのデプロイ
  • 35. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Lv300 マイクロサービス アーキテクチャー
  • 36. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 一般的なアプリケーションはほぼ全て3つの要素に分割できます。 3層アーキテクチャー考察 フロントエンド バックエンド データストア リクエスト 3層アーキテクチャー フロントエンド バックエンド データストアステートレス フロントエンド バックエンド データストアステートフル フロントエンド バックエンド データストアSPA
  • 37. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. モノリスとは1枚岩と称され、全ての機能が1つのアプリケーションに 含まれている状態を指します。この状態での最大の課題はスケーリン グであり水平、垂直ともに課題の棚上げを行っているに過ぎません。 ※この棚上げに関する解決パターンはLv400でやります。 モノリス構造 機能A 機能B 機能C 完全なコピーをホスティングするバックエンドサーバー
  • 38. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. マイクロサービスとは、アプリケーションを独立した複数のサービス に分割し、それぞれが独立した小さなサービスとして動かします。独 立した各サービスはオーケストレーションを通じて連携し、1つのア プリケーションとして機能させます。 マイクロサービス構造 機能A 機能B 機能C A B C B C A B A B C A C A B Cマイクロサービス
  • 39. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 基本構成はマイソースと同じ。 マイクロサービスのクラウドデザイン基本形 SQL Database Web Apps フロントエンド API バックエンド JSフレームワーク View.jsとか マイクロサービス はAPI化する
  • 40. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. バックエンドAPIのデザイン Azure Container Service for kubernetes(AKS) LB API API API API API API API API Web Apps フロントエンド マイクロサービスはAPIとして動作させ、コンテナへ配置する。 SPAの状態にしてフロントエンドから疎結合で連携する。 SQL Database
  • 41. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. コンテナーを使ったマイクロサービスの場合、コンテナー自体にデー タを保管することは出来ないのでステートレスとして構成する必要が ある。 ステートレスマイクロサービス Frontend Request Multi Model Data Store
  • 42. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Service Fabric
  • 43. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. コンテナーを用いたマイクロサービスでは、コンテナーの特性上デー タをコンテナーに保存せず、外部のデータストアへ保存します。いわ ゆるステートレスとしてアプリケーションを構成します。一方でマイ クロサービスとは分散型アーキテクチャーでもあるのでデータに関し ても分散し整合を保ったままアプリケーションを稼働させたいという ニーズがあります。Service Fabricはコンテナーとは違いステートフ ルのマイクロサービス基盤であり、利用されるシナリオもステートフ ルマイクロサービスとして扱われます。 Service FabricとACS(AKS)との違い Web Apps フロントエンド Data App Service Fabric Data App Data App Data App Windowsも Linuxも動く
  • 44. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. ステートフルマイクロサービス
  • 45. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Service Fabricのアーキテクチャー ノード間通信制御 ノード統合しリーダー選出、エラー検知、ルーティングを行う Service Fabricの信頼性 を管理する。レプリカ、リ ソース管理、フェール オーバー。 サービスのアクティ ブ化 アプリケーションライ フサイクルの管理 アプリケー ションのデ プロイと監 視の管理 デプロイ前 のエラーシ ミュレーショ ン アプリケーションアーキテクチャー
  • 46. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 一般的にアプリケーションとは何かのイベントをトリガーにアクショ ンを実行するが、その際にアプリケーションをホストするサーバーを 使わずコンテナを使って処理をするアーキテクチャー。 サーバーレス UI CLI Web Func2 Func3 Func1 Function as a Service API Management Functions AP Logic Apps
  • 47. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. サーバーレス基本系 Azure AD B2C API Management DocumentDB SQL DatabaseAzure DNS Functions Azure Container Service LB kubernetes API API API
  • 48. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Azure Logic Apps プログラムを書かずに多くの サービスを結合することで モノづくりを行える iPaas とも呼ばれるサービス
  • 49. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. • IFTTT は非常に多くのサービスと連携可能 • 間に制御を挟まないシンプル構成 • Logic Apps / Microsoft Flow はユーザーが制御を挟む余地がある 外部パイプライン開発に最適 一般ユー ザー システム管理者や開発者 IFTTT Microsoft Flow Azure Logic Apps
  • 50. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. 様々な外部サービスを繋ぐことが可能
  • 51. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. クレームメール処理のサーバーレスパイプライン 1. メールチェック 2. 問い合わせ内容の確認 3. 顧客管理リストに 問い合わせ内容を登録 (クレーム時は優先) 4. 自動返信メール送信 (クレームか否か?) 5. 返信メール作成・送信
  • 52. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Lv400 マイクロサービス実践
  • 53. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. リソーススケールに関する柔軟性はクラウドの大きな特徴でありメ リットではあるけど、そのスケールパターンについておさらいします。 スケールに関する考察 エラー検知 リトライ制御 スケール 収束 Multi Resource Auto Scale 水平スケールや負荷分散をすることで リソースの枯渇を防ぐ方法が一般的。
  • 54. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. モノリスのスケーリングパターン Azure LoadBalancer Multi-Server Azure LoadBalancer Auto Scale 仮想マシンScale Sets アプリケーションの完全なコピーをホス ティングするサーバーでスケールする。
  • 55. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. モノリスのスケーリングパターンではアプリケーションの安定性や障 害に対する耐性が高まるように見えるが、リソースの枯渇における障 害に対しては棚上げになる。Circuit Breakerは失敗する見込みのある 操作の実行を防ぎ障害から復旧させます。 これにより障害が長引いていると判断している間はリソースの浪費な しにアプリケーションを継続できます。 Circuit Breakerパターン ブレーカーは失敗する可能性のある 操作に対するプロキシーの役割です。
  • 56. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. ブレーカー制御 プロキシとしてリクエストが 操作にルーティングされる。 失敗検知がしきい値を超える とプロキシはオープンになる。 アプリケーションが失敗して 例外処理が返される。 アプリケーションから限られた リクエストが送られ監視する。
  • 57. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. マイクロサービスのスケーリングパターン Circuit Breaker 正常マイクロサービス 異常マイクロサービス マイクロサービス=APIとした場合、API 単位でブレーカーを制御する。 API Management でAPI(URI)のリ バースプロキシーを構成する。 Functionsを使ってブレーカーオープン になっているAPIを迂回する。
  • 58. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. Circuit Breakerは失敗する見込みのある操作の実行を防ぐことが目的 ですが、Retryはその名の通り障害が一時的なものとして操作を透過的 にリトライし一時的な障害に対してアプリケーションが対処できるよ うにします。 Retryパターン Status 500 ① Status 500 ② Status 200 ③ Circuit Breakerパターンと併用することが多い。
  • 59. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. こういう細かいパターンを自分たちのプロダクトにどうやって組み込 むのか、という考え方ではなく、このプロダクトはこういう風にした いという要件をちゃんとまとめないと提供するのはなかなか難しい。 インフラやアプリという視点ではなく、サービスというマクロの支店 が必要になる。
  • 60. Copyright © 2015-2018 ALTERBOOTH inc. All Rights Reserved. ご清聴ありがとうございました。 疲れた。。。

Editor's Notes

  1. 松村)なんでバックエンドAPIを、WebAppsでやらなかった? 森田)kestrel単体では心配、nginx + kestrelにしたい
  2. ログはナマモノ。適切に管理
  3. Blue Green Deploy コンテナイメージのデプロイなのでホストOSへのコンフィグ変更がない。DockerはImmutable Infrastructure
  4. インフラ屋でもGitつかう Opsは1人なので1人プルリク、マージ
  5. Integration Platform as a Serviceの略称 同じようなサービスでMS Flowがある。 Microsoft Flow は Logic Apps の上に構築されている、同じワークフローデザイナーがある 一部コネクタ は、もう一方でも動作する
  6. 似たサービスではイフトがあってコッチの方が昔からある。一般ユーザーからすると簡単。
  7. Amazon とかOracleとかのコネクタやAzureもいろいろなサービスを使える Cog系のコネクタも色々使えるようになってきた。 つなぐだけでこのようなサービスが使えるって便利だと思います。
  8. 自動返信メールが