SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
~ 本格化するクラウド ネイティブ時代に向けて ~
押さえておきたい技術要素と
アーキテクチャの変化
井上 章 (いのうえ あきら) @chack411
マイクロソフト コーポレーション
グローバル ブラックベルト
テクノロジー ソリューション プロフェッショナル
井上 章 (いのうえ あきら)
http://aka.ms/chack
2008 年マイクロソフト入社。
主に .NET や Visual Studio, Microsoft Azure
などの開発技術を専門とするエバンジェリスト
として、技術書籍やオンライン記事などの執筆、
さまざまな技術イベントでの講演などを行う。
2018 年より Global Black Belt (GBB) という
技術専門組織に異動し、モバイルとクラウドを
中心としたアプリ開発技術の訴求活動に従事。
Cloud
Native
Dev Tools + DevOps
Containers
Serverless
Data
Artificial Intelligence
Cloud
Native
プラットフォームの変化
201820001990 2010
クラウド ネイティブ
クラウド ネイティブとは?
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
能力
エクスペリエンス
技術
アーキテクチャ
クラウド ネイティブ
アプリケーション
クラウド ネイティブを支える技術とアーキテクチャ
クラウドの利用形態と 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
ユーザー管理 ベンダー管理
本格化するクラウド ネイティブ時代に向けて押さえておきたい技術要素とアーキテクチャの変化
Docker Containers
クラウドからオンプレミスまで
どこでも実行可能な高速で軽量な
アプリケーション / サービスの
配置, 運用, 管理, 自動化のための技術
コンテナー型のアプリ仮想化技術
◼ ネットワークやリソースを分離
◼ 高速かつオーバーヘッドの少ない配置展開
◼ オープンソース WindowsLinux
仮想マシンと 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
Why Containers ? Write-once, Run-anywhere
‘Write-once, Run-anywhere’
マイクロサービス アーキテクチャ対応
Dev/Test の効率化
確実な Production 環境の配置
Developer Community の成長
アプリケーションのポータビリティ
開発, QA, 運用環境の標準化
OS やインフラ環境の抽象化
リソース配分の最適化
高速起動、スケーラビリティの確保
DevOps
Developers
Operations
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
コンテナ利用時の 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
Azure DevOps (旧 Visual Studio Team Services: VSTS)
実績のあるアジャイル ツールを使用して
より迅速にユーザーに価値をもたらし、
チームの垣根を越えて作業を計画、追
跡したり、作業に関する相談をしたりで
きます。
あらゆる言語、プラットフォーム、クラウドに
対応した CI/CD を使用して、ビルド、テスト、
デプロイできます。GitHub や他の Git プロ
バイダーに接続し、継続的にデプロイするこ
ともできます。
クラウドでホストされた容量無制限のプ
ライベート Git リポジトリを入手し、プル
要求と高度なファイル管理により、優
れたコードを協力してビルドできます。
手動の探索的テスト ツールを使用す
ることで、テストと公開を自信を持って
行うことができます。
パッケージを作成、ホストしたら、チームで共
有し、ワンクリックで CI/CD パイプラインに
成果物を追加できます。
Azure Boards Azure ReposAzure Pipelines
Azure Test Plans Azure Artifacts
https://azure.com/devops
➔
Containers
& PaaS
Minimal code changes
Microservices Architecture
& Serverless
Architected for the cloud
modernized/rewrite
IaaS
“Lift & shift”
No code changes
On-Premises
Infrastructure Platform
移行 モダナイズ
既存
アプリ&サービス
on-premises
Rehost
クラウド
インフラ対応
apps
クラウド
ネイティブ
apps
Rearchitect/Rebuild
クラウド
最適化
apps
PaaS & コンテナー利用
CI/CD 自動化
Monolithic / N-Tier vs Microservices
本格化するクラウド ネイティブ時代に向けて押さえておきたい技術要素とアーキテクチャの変化
• Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能
• マネージドな Kubernetes クラスターをチームで共有して共同作業可能
• 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して開発したり、
他のコンポーネントと併せてエンド ツー エンドのテストを実行
• さまざまな開発言語/フレームワーク、Windows, macOS, Linux で利用可能
• 開発とプロダクションで同一の Docker / Helm 環境を利用
Azure Dev Spaces (Preview)
http://web-frontend.bd0cfb25.../aksapp.io
http://scott.s.web-frontend.bd0cfb25.../aksapp.io Scott
本格化するクラウド ネイティブ時代に向けて押さえておきたい技術要素とアーキテクチャの変化
Blue/Green デプロイメント (Immutable Infrastructure)
一度構築した環境を修正しない手法
Blue – 既存環境
Green – 新規環境
DNS
ロードバランサー
トラフィック
カナリア リリース
95%
traffic
5
%
• 更新をカナリアクラスタに
デプロイ
• 受け入れ試験実施
• 少しのトラフィックをカナリア
クラスタに流し、順次増やして
いく
Primary
Cluster
Canary
Cluster
2. 新しいサービスのデプロイと試験
• 100% のトラフィックを
カナリアクラスタに送信
• 古いプライマリークラスタは廃棄
• 必要があればロールバック
100%
traffic
(Old)
Primary
Cluster
New
Primary
Cluster
3. 試験が終われば完全スイッチ
• デプロイ準備
• カナリアクラスタ作成
• カナリアリリースの準備
Primary
Cluster
100%
traffic
Canary
Cluster
1. アップグレード準備
• 新しいサービスや機能を一部ユーザに先行リリース、その後全リリースする手法 (Dark Launch とも呼ばれる)
• Blue/Green デプロイメントや A/B テストも類似の手法
Azure App Service のデプロイ スロット
Monolithic / N-Tier vs Microservices with Data
本格化するクラウド ネイティブ時代に向けて押さえておきたい技術要素とアーキテクチャの変化
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
グローバル分散型のマルチモデル データベース サービス
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
サーバーレス ( FaaS ) 処理のイメージと主な特徴
HTTP
HTTPProxy
イベントドリブンで
自動スケール
使った分だけ
細かく課金
CODE
Bindings
Bindings
Trigger
Azure Functions の場合
FaaS (Azure Functions) 利用シナリオ
...?
本格化するクラウド ネイティブ時代に向けて押さえておきたい技術要素とアーキテクチャの変化
Azure アーキテクチャ リファレンス
https://docs.microsoft.com/ja-jp/azure/architecture/
https://azure.microsoft.com/ja-jp/solutions/architecture/
https://dotnet.microsoft.com/learn/dotnet/architecture-guides
インフラの抽象化
Microsoft Developers
© 2019 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

Weitere ähnliche Inhalte

Mehr von Akira Inoue

レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?Akira Inoue
 
.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.).NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)Akira Inoue
 
.NET の今と今後に思うこと
.NET の今と今後に思うこと.NET の今と今後に思うこと
.NET の今と今後に思うことAkira Inoue
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素Akira Inoue
 
VS Code & Flaskで作るCloud NativeアプリとDevOps
VS Code & Flaskで作るCloud NativeアプリとDevOpsVS Code & Flaskで作るCloud NativeアプリとDevOps
VS Code & Flaskで作るCloud NativeアプリとDevOpsAkira Inoue
 
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャAkira Inoue
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NETAkira Inoue
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルAkira Inoue
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルAkira Inoue
 
.NET の今 ~ 最新アップデートと 2019 年の展望
.NET の今 ~ 最新アップデートと 2019 年の展望.NET の今 ~ 最新アップデートと 2019 年の展望
.NET の今 ~ 最新アップデートと 2019 年の展望Akira Inoue
 
.NET today and tomorrow
.NET today and tomorrow.NET today and tomorrow
.NET today and tomorrowAkira Inoue
 
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote).NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote)Akira Inoue
 
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~Akira Inoue
 
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化Akira Inoue
 
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発Akira Inoue
 
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用Akira Inoue
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指してAkira Inoue
 
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!".NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!"Akira Inoue
 
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来Akira Inoue
 
TypeScript and Visual Studio Code
TypeScript and Visual Studio Code TypeScript and Visual Studio Code
TypeScript and Visual Studio Code Akira Inoue
 

Mehr von Akira Inoue (20)

レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
 
.NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.).NET の今と今後に思うこと (Tokyo Ver.)
.NET の今と今後に思うこと (Tokyo Ver.)
 
.NET の今と今後に思うこと
.NET の今と今後に思うこと.NET の今と今後に思うこと
.NET の今と今後に思うこと
 
.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素.NET 最新ロードマップと今押さえておきたい技術要素
.NET 最新ロードマップと今押さえておきたい技術要素
 
VS Code & Flaskで作るCloud NativeアプリとDevOps
VS Code & Flaskで作るCloud NativeアプリとDevOpsVS Code & Flaskで作るCloud NativeアプリとDevOps
VS Code & Flaskで作るCloud NativeアプリとDevOps
 
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
 
.NET の今 ~ 最新アップデートと 2019 年の展望
.NET の今 ~ 最新アップデートと 2019 年の展望.NET の今 ~ 最新アップデートと 2019 年の展望
.NET の今 ~ 最新アップデートと 2019 年の展望
 
.NET today and tomorrow
.NET today and tomorrow.NET today and tomorrow
.NET today and tomorrow
 
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote).NET の今とミライ (.NET Conf 2018 Japan Keynote)
.NET の今とミライ (.NET Conf 2018 Japan Keynote)
 
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~Intelligent Mobile App と Cloud Native が創るアプリ開発の未来~ これからの時代のアプリケーション開発ビジョン ~
Intelligent Mobile App と Cloud Native が創るアプリ開発の未来 ~ これからの時代のアプリケーション開発ビジョン ~
 
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
"今" 押さえておきたい! Web アプリ開発の技術トレンドとツールの進化
 
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
Azure と Visual Studio で実践するモダナイゼーションとクラウド ネイティブ アプリケーション開発
 
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
Angular ユーザーなら押さえておきたい! TypeScript と Visual Studio Code の基礎と活用
 
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
.NET の今と未来 ~ デバイス&クラウド ネイティブを目指して
 
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!".NET Conf 2017 Japan Keynote ".NET Everywhere!"
.NET Conf 2017 Japan Keynote ".NET Everywhere!"
 
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
 
TypeScript and Visual Studio Code
TypeScript and Visual Studio Code TypeScript and Visual Studio Code
TypeScript and Visual Studio Code
 

Kürzlich hochgeladen

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 

Kürzlich hochgeladen (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

本格化するクラウド ネイティブ時代に向けて押さえておきたい技術要素とアーキテクチャの変化

  • 1. ~ 本格化するクラウド ネイティブ時代に向けて ~ 押さえておきたい技術要素と アーキテクチャの変化 井上 章 (いのうえ あきら) @chack411 マイクロソフト コーポレーション グローバル ブラックベルト テクノロジー ソリューション プロフェッショナル
  • 2. 井上 章 (いのうえ あきら) http://aka.ms/chack 2008 年マイクロソフト入社。 主に .NET や Visual Studio, Microsoft Azure などの開発技術を専門とするエバンジェリスト として、技術書籍やオンライン記事などの執筆、 さまざまな技術イベントでの講演などを行う。 2018 年より Global Black Belt (GBB) という 技術専門組織に異動し、モバイルとクラウドを 中心としたアプリ開発技術の訴求活動に従事。
  • 4. Dev Tools + DevOps Containers Serverless Data Artificial Intelligence Cloud Native
  • 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 ユーザー管理 ベンダー管理
  • 10. Docker Containers クラウドからオンプレミスまで どこでも実行可能な高速で軽量な アプリケーション / サービスの 配置, 運用, 管理, 自動化のための技術 コンテナー型のアプリ仮想化技術 ◼ ネットワークやリソースを分離 ◼ 高速かつオーバーヘッドの少ない配置展開 ◼ オープンソース WindowsLinux
  • 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
  • 15. Azure DevOps (旧 Visual Studio Team Services: VSTS) 実績のあるアジャイル ツールを使用して より迅速にユーザーに価値をもたらし、 チームの垣根を越えて作業を計画、追 跡したり、作業に関する相談をしたりで きます。 あらゆる言語、プラットフォーム、クラウドに 対応した CI/CD を使用して、ビルド、テスト、 デプロイできます。GitHub や他の Git プロ バイダーに接続し、継続的にデプロイするこ ともできます。 クラウドでホストされた容量無制限のプ ライベート Git リポジトリを入手し、プル 要求と高度なファイル管理により、優 れたコードを協力してビルドできます。 手動の探索的テスト ツールを使用す ることで、テストと公開を自信を持って 行うことができます。 パッケージを作成、ホストしたら、チームで共 有し、ワンクリックで CI/CD パイプラインに 成果物を追加できます。 Azure Boards Azure ReposAzure Pipelines Azure Test Plans Azure Artifacts https://azure.com/devops ➔
  • 16. Containers & PaaS Minimal code changes Microservices Architecture & Serverless Architected for the cloud modernized/rewrite IaaS “Lift & shift” No code changes On-Premises Infrastructure Platform 移行 モダナイズ 既存 アプリ&サービス on-premises Rehost クラウド インフラ対応 apps クラウド ネイティブ apps Rearchitect/Rebuild クラウド 最適化 apps PaaS & コンテナー利用 CI/CD 自動化
  • 17. Monolithic / N-Tier vs Microservices
  • 19. • Azure Kubernetes Service (AKS) 上でのコンテナーの実行とデバッグを実行可能 • マネージドな Kubernetes クラスターをチームで共有して共同作業可能 • 依存関係を複製したりモックアップしたりすることなく、自分のコードを分離して開発したり、 他のコンポーネントと併せてエンド ツー エンドのテストを実行 • さまざまな開発言語/フレームワーク、Windows, macOS, Linux で利用可能 • 開発とプロダクションで同一の Docker / Helm 環境を利用 Azure Dev Spaces (Preview) http://web-frontend.bd0cfb25.../aksapp.io http://scott.s.web-frontend.bd0cfb25.../aksapp.io Scott
  • 21. Blue/Green デプロイメント (Immutable Infrastructure) 一度構築した環境を修正しない手法 Blue – 既存環境 Green – 新規環境 DNS ロードバランサー トラフィック
  • 22. カナリア リリース 95% traffic 5 % • 更新をカナリアクラスタに デプロイ • 受け入れ試験実施 • 少しのトラフィックをカナリア クラスタに流し、順次増やして いく Primary Cluster Canary Cluster 2. 新しいサービスのデプロイと試験 • 100% のトラフィックを カナリアクラスタに送信 • 古いプライマリークラスタは廃棄 • 必要があればロールバック 100% traffic (Old) Primary Cluster New Primary Cluster 3. 試験が終われば完全スイッチ • デプロイ準備 • カナリアクラスタ作成 • カナリアリリースの準備 Primary Cluster 100% traffic Canary Cluster 1. アップグレード準備 • 新しいサービスや機能を一部ユーザに先行リリース、その後全リリースする手法 (Dark Launch とも呼ばれる) • Blue/Green デプロイメントや A/B テストも類似の手法
  • 23. Azure App Service のデプロイ スロット
  • 24. Monolithic / N-Tier vs Microservices with Data
  • 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
  • 28. サーバーレス ( FaaS ) 処理のイメージと主な特徴 HTTP HTTPProxy イベントドリブンで 自動スケール 使った分だけ 細かく課金 CODE Bindings Bindings Trigger Azure Functions の場合
  • 29. FaaS (Azure Functions) 利用シナリオ ...?
  • 34. © 2019 Microsoft Corporation. All rights reserved. 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。