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.

20190201 Cloud Native Kansai AKS Azure

1,201 views

Published on

DevOps Project, Azure DevOps, Azure Monitor, Virtual Kubelet

Published in: Technology
  • Be the first to comment

20190201 Cloud Native Kansai AKS Azure

  1. 1. Azure AKS をいちばん楽に始める方法 平岡 一成 クラウドソリューションアーキテクト 日本マイクロソフト株式会社 2019/02/01 Cloud Native Kansai #01 20 min Azure Kubernetes Service x Azure DevOps
  2. 2. 平岡 一成 ひらおかいっせい 日本マイクロソフト株式会社 パートナー事業本部、パートナー技術統括本部 クラウドソリューションアーキテクト 担当領域 Azure Apps (Application Development) Web, API Server, PaaS, OSS, Container, Cognitive Services, NoSQL 経歴 • 2004年より、エンジニアとしてWebアプリケーション開発・運用プロジェクトに従事。 • 2012年に国内最大手EC事業会社に入社。EC サービスを支えるバックエンドAPIの開発・運用を行うグループマ ネージャを担当。大規模&高負荷システムの構築を得意とする。 • 2017年3月より現職。Azureパートナー向けの技術支援やPoC支援などを担当し、現在に至る。 自己紹介 @hoisjp hoisjp
  3. 3. 本日のアジェンダ DevOps Project で AKS へデプロイ Azure DevOps Azure Monitor Virtual Kubelet 参考資料
  4. 4. 1. Azure? 2. Azure Kubernetes Service? Question:
  5. 5. Azure のコンテナエコシステム IaaSPaaS Azure services SQL Database Redis Cache CosmosDB And more! Partner services OpenShift Pivotal Cloud Foundry Docker Enterprise Edition Mesosphere DC/OS Azure Azure Container Registry (ACR) OSBA Azure Kubernetes Service (AKS) AKS Engine Batch Azure Container Instances (ACI) Virtual Machine Scale Sets (VMSS) Service Fabric Mesh Cluster Virtual kubelet Web Apps for Container ( App Service ) Azure Virtual Machine
  6. 6. DevOps Project 最速で楽に AKS を始める
  7. 7. みなさんが想像するであろう、CI/CD pipeline https://docs.microsoft.com/ja-jp/azure/architecture/example-scenario/apps/devops-with-aks コードレポジトリ: GitHub, GitLab CI/CD パイプライン: Jenkins, CircleCI, etc
  8. 8. Azure DevOps Projects の利用 5分以下で、どんなAzureアプリでも、どんなAzureサービス上にでもビルド • 代表的な、言語&アプリケーションフレームワークをサポート • CI/CD パイプラインが統合された状態でサンプルアプリケーションが起動 • Application Insights による、標準の監視 • 展開先プラットフォームで、AKS を選択できる https://azure.microsoft.com/ja-jp/features/devops-projects/ 構築のハードルをスキップして、 いきなり動くサンプルがデプロイされる ⇒最高のドキュメント
  9. 9. 雛形は GitHub 上に公開されている https://github.com/Microsoft/devops-project-samples
  10. 10. Azure DevOps
  11. 11. DevOps at Microsoft 9万人以上の社内ユーザーを抱えるマイクロソフトがAzure DevOpsを選択 Data: Internal Microsoft engineering system activity, August 2018 372k 月次のプル リクエスト 2m 月次のGitコミット 78,000日次の展開数 4.4m 月次のビルド数 500m T 日次のテスト実行 500k 日次のワーク アイエム更新 5m 日次のワーク アイテム参照 数 https://aka.ms/DevOpsAtMicrosoft➔
  12. 12. 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 ➔
  13. 13. Azure DevOps 使用するツールやクラウドを自由に選択可能 マイクロソフト、オープ ンソース、もしくはサー ドパーティツールによる ワークフローを混在し、 適合させる Azure DevOps では、開発者は 適切なツールを 選択できます クラウド、オンプレミス、またはその両方をターゲットにして、必要なサーバーに展開
  14. 14. Azure DevOps: ダッシュボードによる進捗管理 ダッシュボード機能では様々な情報を一覧表示可能
  15. 15. Demo DevOps プロジェクトによって作成されたパイプラインを確認する • Azure Pipelines • Azure Repos
  16. 16. Azure DevOps: Azure Boards かんばんボード、バックログ、チームのダッシュボード、カスタム レポートを使用して作業を追跡 https://azure.com/devops➔ Connected from idea to release Track all your ideas at every development stage and keep your team aligned with all code changes linked directly to work items. Scrum ready Use built-in scrum boards and planning tools to help your teams run sprints, stand-ups, and planning meetings. Project insights Gain new insights into the health and status of your project with powerful analytics tools and dashboard widgets. By Demo
  17. 17. Azure DevOps: Azure Pipelines オープン ソース用に 10 個の無料の並列ジョブ (時間制限なし) を実行可能な、 Linux, macOS, および Windows 用のクラウドホステッド パイプライン Any language, any platform, any cloud Build, test, and deploy Node.js, Python, 
Java, PHP, Ruby, C/C++, .NET, Android, and iOS apps. Run in parallel on Linux, macOS, and Windows. Deploy to Azure, AWS, GCP or on-premises Extensible Explore and implement a wide range of community- built build, test, and deployment tasks, along with hundreds of extensions from Slack to SonarCloud. Support for YAML, reporting and more Best-in-class for open source Ensure fast continuous integration/continuous delivery (CI/CD) pipelines for every open source project. Get unlimited build minutes for all open source projects with up to 10 free parallel jobs across Linux, macOS and Windows https://azure.com/pipelines➔ Containers and Kubernetes Easily build and push images to container registries like Docker Hub and Azure Container Registry. Deploy containers to individual hosts or Kubernetes. By Demo
  18. 18. Azure DevOps: Azure Repos オープンソース プロジェクトから世界最大規模のリポジトリまでスケール可能な 無制限のプライベート Git リポジトリのホスティングと TFVC のサポート https://azure.com/devops➔ Works with your Git client Securely connect with and push code into your Git repos from any IDE, editor, or Git client. Web hooks and API integration Add validations and extensions from the marketplace or build your own using web hooks and REST APIs. Semantic code search Quickly find what you’re looking for with code-aware search that understands classes and variables. By Demo
  19. 19. Azure DevOps: Azure Artifacts 完全に統合されたパッケージ管理を CI/CD パイプラインに追加し、 パブリックおよびプライベートソースの Maven、npm、NuGet のパッケージを作成、共有可能 Manage all package types Get universal artifact management for Maven, npm, and NuGet. Add packages to any pipeline Share packages, and use built-in CI/CD, versioning, and testing. Share code efficiently Easily share code across small teams and large enterprises. https://azure.com/devops➔ By Demo
  20. 20. Azure DevOps: Azure Test Plans エンドツーエンドの追跡が可能な、スクリプト化されたテストを計画、実行、追跡し、 開発ライフサイクル全体を通して品質を評価 Capture rich data Capture rich scenario data as you execute tests to make discovered defects actionable. Explore user stories without test cases or test steps. You can create test cases directly from your exploratory test sessions. Test across web and desktop Test your application where it lives. Complete scripted tests across desktop or web scenarios. Test on- premises application from the cloud and vice-versa. Get end-to-end traceability Leverage the same test tools across your engineers and user acceptance testing stakeholders. Pay for the tools only when you need them. https://azure.com/devops➔ By Demo
  21. 21. Azure DevOps: Azure Test Plans Test Plans と Test & Feedback 拡張機能 手動テストのシナリオ定義と実行、結果の管理 Test & Feedback 拡張機能を使ったキャプチャやバグ起票 https://marketplace.visualstudio.com/items?itemName=ms.vss-exploratorytesting-web#supportedbrowsers By Demo
  22. 22. Azure DevOps: Azure Test Plans Azure Pipelineによるテストの自動化 CI のビルド タスクによる各種テストの自動化 自動ビルドの結果でテストやカバレッジの結果も確認可能 By Demo
  23. 23. Azure DevOps の利用料 無料 無制限のユーザー数とビルド時間 • Azure Pipelines: CI/CD 用の 10 個の並列ジョブ (時間制限な し) • Azure Boards: 作業項目トラッキングとかんばんボード • Azure Repos: 無制限のパブリック Git リポジトリ 無料 5 ユーザーまで無料で開始 • Azure Pipelines: CI/CD 用の 1 個のホスト ジョブ (1,800 分/月) および 1 個のセルフホスト ジョブ • Azure Boards: 作業項目トラッキングとかんばんボード • Azure Repos: 無制限のプライベート Git リポジトリ • Azure Artifacts: パッケージ管理 (5 ユーザーが無料) • ロード テスト (20,000 VUM/月) • 無制限の関係者 ¥3,360/10ユーザー/月 • Azure Pipelines: CI/CD 用の 1 個のホスト ジョブ (1,800 分/月) および 1 個のセルフホスト ジョブ • Azure Boards: 作業項目トラッキングとかんばんボード • Azure Repos: 無制限のプライベート Git リポジトリ • Azure Artifacts: パッケージ管理 (5 ユーザーが無料) • ロード テスト (20,000 VUM/月) • 無制限の関係者 • Visual Studio サブスクライバーは無料 https://azure.microsoft.com/ja-jp/pricing/details/devops/➔
  24. 24. Azure Monitor 最速で楽に AKS を始める
  25. 25. Azure Monitor for Containers https://docs.microsoft.com/ja-jp/azure/azure-monitor/insights/container-insights-overview クロス サブスクリプション マルチクラスター ヘルス ビュー NEW! Azure DevOps Projectとの連携 NEW! サーバレス Kubernetesの監視 NEW! Kubernetes イベント & Container Logを解析 Node, Controller, Container全般のヘル スとパーフォーマンスを視覚化 クラスタードリルダウン とnamespace, service, and node フィルター
  26. 26. 監視: Azure Monitor Application Insights によるEnd-to-Endの診断 組み込みの監視機能で分散トレーシング NEW!
  27. 27. Prometheus Comparison Customer using Prometheus Azure Monitor for Containers database LogMetric Database Visualization Health Metric Log Visualization Datastore Retention Retention 補足:Grafana で Azure Monitor のデータを監視することも可能
  28. 28. Azure Monitor for Containers の GA アナウンス https://qiita.com/keikhara/items/8699d8e1fa45f2e61185 記事より引用 Azure(クラウド)上での監視ツールへの考察 • … • クラウドサービスの傍らに監視がないといけない。監視ツールを探す手間が面倒。 • 簡単に問題が発見でき、監視ツールを覚える必要のないユーザー体験(UX) が必要。 • 監視ツールの管理や監視をしなくても良く、手間いらずで、自動的にメンテナン スやアップグレードをしてくれる。つまり、監視ツールにでなく、自社のビジネス向 上だけに人件費をかけることが出来る。
  29. 29. Virtual Kubelet Azure Container Instance サーバレスコンテナで高速スケール
  30. 30. Azure Container Instances サーバレスコンテナ環境 GPU 対応のコンテナがサポート az container create ¥ -g aci_grp ¥ --name nginx ¥ --image library/nginx ¥ --ip-address public ¥ –cpu 2 --memory 5
  31. 31. ACI Connector for Kubernetes を使うことで、Kubernetesクラスタがコンテナ をACIに直接展開できるようになる。必要に応じて VM と ACI を混在させること ができるようになる Virtual Kubelet: Kubernetes から ACI を利用 Kubernetes control pane Application architect Infrastructure architect Azure Container Instances (ACI) ACI Connector Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod VM VM VM VM Deployment/ tasks Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod Pod WasteWaste WasteWaste PodPod PodPod https://github.com/virtual- kubelet/virtual-kubelet
  32. 32. 2018/12/14 CNCF のサンドボックスプロジェクトへ https://virtual-kubelet.io/ https://github.com/virtual-kubelet/virtual-kubelet Azure だけではなく、多くのクラウドベンダーと連携
  33. 33. Demo: ACI 100 instances challenge AKS x Virtual Kubelet で高速にスケールする Azure Container Instance • Virtual Kubelet • az aks install-connector • Region = Japan East https://github.com/virtual-kubelet/virtual-kubelet/tree/master/providers/azure
  34. 34. Virtual Kubelet (ACI) の料金 高速起動、秒単位課金の威力 • 100 instance • 300 sec • Memory 1GB • vCPU x 1
  35. 35. AKS を最速で楽に始めるためには… まとめ
  36. 36. まとめ AKS を最速で楽に始めるためには 最初から動く環境を手に入れる DevOps Project を使い、初期構築の障壁を最小限に 各個人が馴染みのある言語&フレームワークを使うことができる まずはどのように全体が動作しているか観察する CI/CD パイプライン (Azure DevOps) や、監視ツール (Azure Monitor) が組み込まれている 動くサンプルは最高のドキュメント サンプルを変更したり、真似たりすることで、自身の環境にあわせた設計の助けとする
  37. 37. 参考資料 Getting Started
  38. 38. 書籍 2019/01/23 に発売
  39. 39. Microsoft Learn https://docs.microsoft.com/ja-jp/learn/azure/ 学習コンテンツを、アカウント登録不要&無料のサンドボックス検証環境で Azure Container Instance (ACI) を検証可能
  40. 40. Session Videos at Build 2018 (2018.05) https://azure.microsoft.com/en-us/blog/kubernetes-on-azure https://channel9.msdn.com/Events/Build/2018/ • BRK2120 Getting started with containers on Azure https://channel9.msdn.com/Events/Build/2018/BRK2120 • BRK2125 Why Kubernetes on Azure https://channel9.msdn.com/Events/Build/2018/BRK2125 • BRK3812 Building, Running, Patching Docker Containers – The Paradigm Shift https://channel9.msdn.com/Events/Build/2018/BRK3812 • BRK2129 PaaS and Container Innovation – What’s new with App Service https://channel9.msdn.com/Events/Build/2018/BRK2129 • BRK3701 Best Practices with Azure & Kubernetes https://channel9.msdn.com/Events/Build/2018/BRK3701 • BRK2102 App Modernization with Microsoft Azure https://channel9.msdn.com/Events/Build/2018/BRK2102
  41. 41. Session Videos at Ignite 2018 (2018.09) https://myignite.techcommunity.microsoft.com/videos Filter by product=“Azure”, word=“container” https://myignite.techcommunity.microsoft.com/sessions/65005 • BRK2390 - Bring your container or code to easily deploy to App Service on Linux https://myignite.techcommunity.microsoft.com/sessions/66605 https://myignite.techcommunity.microsoft.com/sessions/65898 https://myignite.techcommunity.microsoft.com/sessions/64669 https://myignite.techcommunity.microsoft.com/sessions/65782 https://myignite.techcommunity.microsoft.com/sessions/66978
  42. 42. ◼ Azure DevOps Features Timeline ◼ https://docs.microsoft.com/ja-jp/azure/devops/release-notes/ ◼ Azure DevOps Roadmap (Azure Boards) ◼ https://dev.azure.com/mseng/Azure%20DevOps%20Roadmap ◼ Updates for 2018 Q4 – 2019 Q1 ◼ Azure Boards: Work Item support for Markdown editing ◼ Azure Repos: GVFS for Mac – Public Preview ◼ Azure Pipelines: YAML editor in the web, YAML editing in Visual Studio Code, and public preview for release pipelines ◼ Azure Artifacts: Upstream sources for feeds across organizations with the same Azure Active Directory ◼ Administration: Auditing Azure DevOps Roadmap
  43. 43. 無料電子書籍: 『Designing Distributed Systems (分散システムの設計)』 繰り返し使用できる汎用パターンと再利用可能なコンポーネ ントにより、どのように分散システムの開発がより簡単かつ効 率的になり、お客様が開発に専念できるようになるのかを説 明しています。Microsoft の主任エンジニアであり、 Kubernetes プロジェクトの共同創設者である Brendan Burns による O’Reilly の電子書籍は無料で入手できます。 電子書籍をダウンロードする https://azure.microsoft.com/ja-jp/resources/designing-distributed-systems/
  44. 44. © Copyright Microsoft Corporation. All rights reserved. © 2019 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

×