6. クラウド ネイティブとは?
CNCF Cloud Native Definition v1.0 (CNCF による定義)
Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private,
and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow
engineers to make high-impact changes frequently and predictably with minimal toil.
The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by fostering and sustaining an ecosystem of open source, vendor-
neutral projects. We democratize state-of-the-art patterns to make these innovations accessible for everyone.
https://github.com/cncf/toc/blob/master/DEFINITION.md
8. クラウドの利用形態と Azure のサービス範囲
Tradition
On-Premises
(オンプレ)
Configuration
Functions
Scaling
Runtime
OS
Virtualization
Hardware
Infrastructure
as a Service
(IaaS)
Configuration
Functions
Scaling
Runtime
OS
Virtualization
Hardware
Containers
as a Service
(CaaS)
Configuration
Functions
Scaling
Runtime
OS
Virtualization
Hardware
Platform
as a Service
(PaaS)
Configuration
Functions
Scaling
Runtime
OS
Virtualization
Hardware
Function
as a Service
(FaaS)
Configuration
Functions
Scaling
Runtime
OS
Virtualization
Hardware
Software
as a Service
(SaaS)
Configuration
Functions
Scaling
Runtime
OS
Virtualization
Hardware
ユーザー管理 ベンダー管理
11. 仮想マシンと Docker Containers
Infrastructure Infrastructure
Host Operating System
Hypervisor
Guest OS
Bins/Libs
App 1
Guest OS
Bins/Libs
App 2
Guest OS
Bins/Libs
App 3
Bins/Libs
App/Svc 1
Bins/Libs
App/Svc 2
Bins/Libs
App/Svc 3
Container Engine
Operating System
+ Network isolation at container level
+ Resources constraints at container level
12. Why Containers ? Write-once, Run-anywhere
‘Write-once, Run-anywhere’
マイクロサービス アーキテクチャ対応
Dev/Test の効率化
確実な Production 環境の配置
Developer Community の成長
アプリケーションのポータビリティ
開発, QA, 運用環境の標準化
OS やインフラ環境の抽象化
リソース配分の最適化
高速起動、スケーラビリティの確保
DevOps
Developers
Operations
13. Docker Containers ~ 共通デプロイ単位
Optionsofcompute
Azure Web App for Containers
Service Fabric
Ma en
Azure
Kubernetes
Service (AKS)
Leverage the Azure platform
designed for your container needs
Keep using the platform of your choice,
running great on Azure
Azure Container Registry
Docker Hub,
private registry
Visual Studio tools InteliJ Jenkins
Redhat Openshift
Container Platform
Pivotal Cloud
Foundry
Kubernetes
14. コンテナ利用時の CI/CD ワークフロー
デベロッパー
ソースコード
レポジトリ
自動ビルド・リリース
変更
CI
(自動ビルド)ソースコード ソースコード Docker
イメージ
コンパイル+
イメージ作成
コンテナ
レジストリ
ACR
DockerHub 上の
公式イメージ
カナリア
環境
CD
(自動配置)
静的コード
解析
Web Apps for
Containers
SQL Database
テスト
環境
Web Apps for
Containers
SQL Database
ステージング
本番環境
Web Apps for
Containers
SQL Database
Web Apps for
Containers
実装環境
ユーザ F/B
データベース
機能追加・
修正の提案
お客様
運用
チーム
稼働状況データ
テレメトリ
データ
Application
Insights
お客様からの F/B・クレーム受付
プロアクティブな
データ解析
お客様・
開発チーム
(開発進捗確認)
Windows
or Linux
26. SQL
MongoDB
Table API
Turnkey global
distribution
Elastic scale out
of storage & throughput
Guaranteed low latency
at the 99th percentile
Comprehensive
SLAs
Five well-defined
consistency models
Azure Cosmos DB
DocumentColumn-family
Key-value Graph
グローバル分散型のマルチモデル データベース サービス
27. PaaS のチャレンジと FaaS
Platform
as a Service
(PaaS)
Function
as a Service
(FaaS)
Configuration
Functions
Scaling
Runtime
OS
Virtualization
Hardware
Configuration
Functions
Scaling
Runtime
OS
Virtualization
Hardware