Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

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

Download to read offline

イベント「目指そう!クラウドネイティブ ~ その全体像と技術事例」のセッション資料です。

https://microsoft-events.connpass.com/event/119618/

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

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

  1. 1. ~ 本格化するクラウド ネイティブ時代に向けて ~ 押さえておきたい技術要素と アーキテクチャの変化 井上 章 (いのうえ あきら) @chack411 マイクロソフト コーポレーション グローバル ブラックベルト テクノロジー ソリューション プロフェッショナル
  2. 2. 井上 章 (いのうえ あきら) http://aka.ms/chack 2008 年マイクロソフト入社。 主に .NET や Visual Studio, Microsoft Azure などの開発技術を専門とするエバンジェリスト として、技術書籍やオンライン記事などの執筆、 さまざまな技術イベントでの講演などを行う。 2018 年より Global Black Belt (GBB) という 技術専門組織に異動し、モバイルとクラウドを 中心としたアプリ開発技術の訴求活動に従事。
  3. 3. Cloud Native
  4. 4. Dev Tools + DevOps Containers Serverless Data Artificial Intelligence Cloud Native
  5. 5. プラットフォームの変化 201820001990 2010 クラウド ネイティブ
  6. 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
  7. 7. 能力 エクスペリエンス 技術 アーキテクチャ クラウド ネイティブ アプリケーション クラウド ネイティブを支える技術とアーキテクチャ
  8. 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 ユーザー管理 ベンダー管理
  9. 9. Docker Containers クラウドからオンプレミスまで どこでも実行可能な高速で軽量な アプリケーション / サービスの 配置, 運用, 管理, 自動化のための技術 コンテナー型のアプリ仮想化技術 ◼ ネットワークやリソースを分離 ◼ 高速かつオーバーヘッドの少ない配置展開 ◼ オープンソース WindowsLinux
  10. 10. 仮想マシンと 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
  11. 11. Why Containers ? Write-once, Run-anywhere ‘Write-once, Run-anywhere’ マイクロサービス アーキテクチャ対応 Dev/Test の効率化 確実な Production 環境の配置 Developer Community の成長 アプリケーションのポータビリティ 開発, QA, 運用環境の標準化 OS やインフラ環境の抽象化 リソース配分の最適化 高速起動、スケーラビリティの確保 DevOps Developers Operations
  12. 12. 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
  13. 13. コンテナ利用時の 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
  14. 14. 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 ➔
  15. 15. 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 自動化
  16. 16. Monolithic / N-Tier vs Microservices
  17. 17. • 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
  18. 18. Blue/Green デプロイメント (Immutable Infrastructure) 一度構築した環境を修正しない手法 Blue – 既存環境 Green – 新規環境 DNS ロードバランサー トラフィック
  19. 19. カナリア リリース 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 テストも類似の手法
  20. 20. Azure App Service のデプロイ スロット
  21. 21. Monolithic / N-Tier vs Microservices with Data
  22. 22. 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 グローバル分散型のマルチモデル データベース サービス
  23. 23. 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
  24. 24. サーバーレス ( FaaS ) 処理のイメージと主な特徴 HTTP HTTPProxy イベントドリブンで 自動スケール 使った分だけ 細かく課金 CODE Bindings Bindings Trigger Azure Functions の場合
  25. 25. FaaS (Azure Functions) 利用シナリオ ...?
  26. 26. 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
  27. 27. インフラの抽象化
  28. 28. Microsoft Developers
  29. 29. © 2019 Microsoft Corporation. All rights reserved. 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

イベント「目指そう!クラウドネイティブ ~ その全体像と技術事例」のセッション資料です。 https://microsoft-events.connpass.com/event/119618/

Views

Total views

200

On Slideshare

0

From embeds

0

Number of embeds

0

Actions

Downloads

12

Shares

0

Comments

0

Likes

0

×