Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Developer Cloud from Microsoft/GitHub)

[Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Developer Cloud from Microsoft/GitHub)

* [Developers Festa Sapporo 2020] Microsoft/GitHubが提供するDeveloper Cloud (Developer Cloud from Microsoft/GitHub)
* https://satonaoki.wordpress.com/2020/12/05/devfesta-microsoft-github/
* https://www.youtube.com/watch?v=sqWnreBtHBg&t=151s

SATO Naoki (Neo)

November 18, 2020
Tweet

More Decks by SATO Naoki (Neo)

Other Decks in Technology

Transcript

  1. Microsoft/GitHub が提供する
    Developer Cloud

    View Slide

  2. View Slide

  3. View Slide

  4. View Slide

  5. Code
    from
    anywhere
    Collaborate
    from
    anywhere
    Ship
    from
    anywhere

    View Slide

  6. Code
    from
    anywhere
    Collaborate
    from
    anywhere
    Ship
    from
    anywhere
    #1 Most popular
    developer tool1
    1 Stack Overflow: Stack Overflow
    Developer Survey, 2019

    View Slide

  7. Collaborate
    from
    anywhere
    Code
    from
    anywhere
    Ship
    from
    anywhere
    50M+
    Developers
    5B minutes
    in one day

    View Slide

  8. Ship
    from
    anywhere
    Code
    from
    anywhere
    Collaborate
    from
    anywhere
    Leader in
    development platform2
    2 Forrester: The Forrester Wave™
    for Public Cloud Development
    and Infrastructure Platforms
    and Public Cloud Development
    Platforms, Q1 2020

    View Slide

  9. Azure DevOps と
    GitHub は同じ組織に
    Azure DevOps で得られた
    ニーズや知見を GitHub とシェア
    Microsoft の 10 万人以上の
    エンジニアの標準ツール

    View Slide

  10. 2015 年に 2,000 人だった Microsoft 社内の GitHub ユーザーが、今では 25,000人に

    View Slide

  11. • GitHub 資格情報で Azure にサインイン
    • Azure Active Directory で GitHub Enterprise に
    サインイン
    • GitHub にリンクされた Azure Boards で作業を計画、追跡
    • GitHub Actions から Azure にデプロイされたコードを監視
    • GitHub Actions for Azure: Azure Kubernetes Service
    (AKS)、Azure App Service、Azure Container Registry を
    ネイティブ サポート
    • 今後の統合もさらに加速

    View Slide

  12. ソース管理
    Git がベース
    Azure
    Repos
    GitHub
    CI/CD
    Azure Pipelines の
    テクノロジがベース
    コード パッケージ
    標準のオープン パッケージ
    フォーマットがベース
    Azure
    Pipelines
    GitHub
    Actions
    Azure
    Artifacts
    GitHub
    Packages

    View Slide

  13. 地球上のすべての個人とすべての組織が
    より多くのことを達成できるようにする
    Microsoft のミッション ステートメント
    The home for all developers.
    GitHub のビジョン
    GitHub への戦略的投資は、
    GitHub を DevOps ツールのホームにすることで、
    同社の 5,000 万人のユーザーが
    組織のためにより多くのことを達成できるようにする

    View Slide

  14. ソフトウェア開発の未来に
    向けた一歩
    GitHub + Azure + Visual Studio の
    組み合わせは、DevOps のための最も完全な
    クラウド プラットフォーム
    DevOps 導入のすべての段階向けに、開発者に
    最も愛されているコーディング/コラボレーション ツール、
    セキュリティ/ガバナンスのための組織の最も
    信頼されたエンタープライズ機能を組み合わせた、
    エンドツーエンドの開発者ツールチェーンを提供

    View Slide

  15. View Slide

  16. 計画

    View Slide

  17. View Slide

  18. GitHub Issues & Projects
    プロジェクト管理を簡素化
    イシューから始める
    新しいアイデアを提案したり、バグを追跡したりするために、
    イシューを作成
    その後、タスクを整理して、チームに割り当て
    イシューのリンクとプル リクエスト
    GitHub 組織内のどこにいても、イシューとプル リクエストを
    クロス リンクさせることで、ワークフローを複雑にすることなく
    プロジェクトの更新を追跡可能
    Projects で自分の作業が形になることを確認
    プロジェクト ボードを使用して、コードとともにすべての作業
    を可視化し、優先順位付け
    リポジトリや組織全体で、どのようなタスクが計画されてい
    るか、進行中かを確認可能

    View Slide

  19. GitHub loves Azure Boards
    高度なプロジェクト計画と追跡
    アイデアからリリースまでつながる
    開発段階ごとにすべてのアイデアを追跡
    すべてのGitHub コミットとプル リクエストで
    チームの連携を維持可能
    自分の作業の可視化
    GitHub リポジトリが 1 つでも100 個でもそれ以上でも、
    あらかじめ設定されたカンバン ボードを使って、
    すべての作業を可視化し、進行中の作業を管理
    すぐに使えるスクラム対応
    組み込みのスクラム ボードやアジャイル計画ツールを使用
    チームが、スプリント、スタンドアップ、キャパシティの
    見積もりを実行

    View Slide

  20. GitHub Discussions
    より良い計画のためにディスカッションに参加
    コードとコミュニティに関するオープンな会話
    新しいスレッド形式のディスカッションで、機能のアイデアを
    ブレイン ストーミングしたり、新しいユーザーが自分の位置を
    把握したり、ソフトウェア上で共同作業をしたりすることが
    簡単に
    Q&A に最適
    質問に回答としてマークを付けることができるので、
    時とともにコミュニティの知識ベースが自然に成長
    GitHub のネイティブ エクスペリエンス
    議論は、GitHub のプロジェクト リポジトリで
    直接行われる
    コミュニティがすでに共同作業している場所でアクセス可能

    View Slide

  21. 開発

    View Slide

  22. View Slide

  23. Visual Studio loves GitHub
    統合開発環境 (IDE)
    開発者の生産性を向上
    大規模な革新を実現し、エンタープライズ プロジェクトを
    高度化
    レポートの作成/公開、GitHub でのプル・リクエストの管理、
    Visual Studio 内でのソース コード レビューが可能
    Azure 上での迅速な公開とテスト
    Web アプリを構築している場合でも、Azure Functions を
    使用してサーバーレス ソリューションを構築している場合でも、
    Visual Studio から Azure に直接コードをデプロイ可能
    デプロイ後のデバッグ
    スナップショット デバッガーと IntelliTrace を使って、
    アプリケーションの実行先がローカルかAzureかにかかわらず、
    コードの実行履歴を追跡、記録
    クラウド アプリケーションのバグやパフォーマンスの問題を簡単
    に発見、解決可能

    View Slide

  24. GitHub Repos との連携強化
    オープン ソース文化とベスト プラクティスを
    組織内で実現
    コラボレーションを良いものに
    オープン ソース コミュニティと同じプロセス、プラクティスを
    使って、組織内でチームが協力することを奨励することで、
    インナー ソースの仕事文化を生み出す
    サイロを壊す
    チーム間のコラボレーションを簡素化することで、
    知識の共有が容易になり、コードの再利用が改善され、
    安全なワークフローが実現
    開発者満足度の向上
    インナー ソースとオープン ソースのプラクティスを活用することで、
    開発者の満足度を高め、興味深いプロジェクトに取り組み、
    スキルを向上させることが可能

    View Slide

  25. スターター テンプレート
    開発をより速くスタート
    スターター テンプレートをすぐに見つける
    GitHub のオープン ソース カタログを見たり、トピックを
    参照して、既存のスターター テンプレートを見つけ、
    次のプロジェクトをスタート
    ワン クリックで簡単にテンプレートをクローン可能
    緑色の「テンプレートとして使用」ボタンをクリックするだけで、
    テンプレートと同じディレクトリ構造、ブランチ、ファイルを持つ
    新しいリポジトリをクローン、生成可能
    無料テンプレートの膨大なライブラリ
    GitHub には 10,000 以上のスターター テンプレートが用意されて
    いる
    その中には、Azureへのデプロイを想定して設計されたプロジェクト
    の設定を加速するため、の様々なAzureスターターテンプレートも
    https://github.com/search?q=starter+template

    View Slide

  26. GitHub Codespaces
    Azure上で動作するインスタントな開発環境
    妥協のないコーディング
    Azure上で動作するブラウザ内の完全な開発環境で、
    コーディング、ビルド、テスト、デバッグ、デプロイを実行可能
    ワークフローの簡素化
    依存関係、SSH キーを自動設定
    どんなプロジェクトでも、コードからコミットまでの時間短縮
    拡張とカスタマイズ
    ドット ファイルとVS Code 拡張機能を使ってエディターを
    設定し、すべてのコードスペースで一貫した環境を作成
    https://github.com/Features/Codespaces

    View Slide

  27. Dependabot
    脆弱性のある依存関係を自動更新
    セキュリティ更新のための自動プル リクエスト
    Dependabot のセキュリティ更新は、脆弱性のあるコンポーネントを
    監視することで、プロジェクトを安全かつ最新の状態に維持
    脆弱性が発見されると、修正案を含むプル リクエストを
    自動オープン
    開発者ワークフローとの統合
    Dependabot は開発者ワークフローに直接統合されており、
    スムーズな体験と迅速な修正を実現
    豊富な脆弱性データ
    GitHub では、セキュリティ研究者やメンテナー、National
    Vulnerability Database (リリースノート、変更履歴エントリ、
    コミットの詳細など) のデータを用いて、サポートされている
    パッケージ マネージャのパッケージの脆弱性を追跡
    これらすべては、GitHub Advisory Databaseで検出可能
    https://github.com/features/security

    View Slide

  28. コード スキャン
    脆弱性を最初から防ぐ
    脆弱性の発見、修正を迅速に行う
    自動化された CodeQL スキャンにより、コード ベースに
    マージされる前に脆弱性を発見、修正
    トップ セキュリティ専門家のコミュニティ
    自分のプロジェクトを、世界クラスのセキュリティ チームが
    支援
    セキュリティ コミュニティによって作成されたクエリを、
    プロジェクトで使用
    開発者ワークフローとの統合
    セキュリティの結果を開発者ワークフローに直接統合し、
    スムーズな体験、迅速な開発を実現
    https://github.com/features/security

    View Slide

  29. シークレット スキャン
    自分のシークレットを秘密に
    早期にシークレットを特定
    GitHub にプッシュされた瞬間にシークレット (Azure
    シークレットなど) を検出し、検出されたらすぐに
    開発者に通知
    シークレット スキャン パートナーのコミュニティ
    リポジトリにコミットされたすべてのコミットとその完全な
    git 履歴に対して、シークレット スキャンパートナーからの
    シークレットのフォーマットを探す
    パブリック、プライベート両方のリポジトリを
    サポート
    シークレット スキャンは、パブリック、プライベート両方の
    リポジトリを監視し、潜在的なシークレット脆弱性を探す
    https://github.com/features/security

    View Slide

  30. Azure DevTest Labs
    Azure での高速、簡単、アジャイルな開発/テスト環境
    高速なプロビジョニング
    再利用可能なテンプレート、カスタム イメージ、式を
    活用し、数クリックで VM をセットアップ
    自動化、セルフ サービス
    チーム内の開発環境を集中的に管理し、
    互換性テストや自動テストを実施
    コスト管理、ガバナンス
    クォータ、ポリシーで無駄を最小限に抑え、
    自動シャットダウンでコストを最小限に抑える
    http://aka.ms/azuredevtestlabs

    View Slide

  31. デリバリー

    View Slide

  32. View Slide

  33. GitHub Actions
    CI/CD を含む全てを自動化
    自動化によるデリバリーの高速化
    20 以上のプロジェクト イベントの自動化トリガーにより、
    CI/CD だけでなく、利用可能な API へのワークフローの
    自動化を可能に
    単純で使いやすい
    YAML ベースの設定と、多数のサンプル ワークフローから
    学習、作業開始が可能
    Actions のためのグローバル コミュニティ
    何千ものオープンソースのアクションが、コミュニティや
    (Azureを含む) 統合を提供する企業によって
    維持されている

    View Slide

  34. GitHub Actions for Azure
    Azure のための 70 以上のすぐに使えるアクション
    Azure へのデプロイ アクション
    • Deploy to Kubernetes Cluster – AKS クラスタを含む
    Kubernetes クラスターへのデプロイ
    • Azure Web App – Web アプリ、コンテナー化された Web アプリを
    Azure にデプロイ
    • Azure Functions Action - 関数アプリを Azure Functions にデ
    プロイ
    • Azure SQL Deploy – DACPAC、SQL スクリプトを Azure SQL
    Database にデプロイ
    • Azure Machine Learning Deploy - Azure ML ワークスペースに
    登録された機械学習モデルをデプロイ
    他の人気の高い Azure アクション
    • Azure CLI - アクション内で Azure リソースを管理するために
    Azure CLI コマンドを実行することで、ワークフローを自動化
    • Azure Key Vault - Azure Key Vault インスタンスからシークレット
    を取得し、出力変数として設定
    • Azure Policy Assignment with Azure CLI - Azure Policy
    (HIPAA、PCI-DSSなど) を使って、新しいインフラにポリシーを適用

    View Slide

  35. GitHub loves Azure Pipelines
    先進のクラウド型 CI/CD パイプライン
    あらゆる言語、プラットフォーム、クラウド
    Node.js、Python、Java、PHP、Ruby、Go、C/C++、C#、
    Android、iOSアプリのビルド、テスト、デプロイ
    Linux、macOS、Windows上で並列実行
    Azure、AWS、GCPなどのクラウド プロバイダーへのデプロイ
    ベータ チャネルやアプリ ストアを通じてモバイル アプリを配布
    GitHub と Azure Pipelines の統合
    パイプラインの各ステージにデプロイされたコード変更を追跡
    高度なワークフローと機能
    簡単なビルド チェーン、複数フェーズ ビルド
    YAML、テスト統合、リリース ゲート、レポートなどのサポート
    https://github.com/marketplace/azure-pipelines

    View Slide

  36. GitHub で Azure へのデプロイを高速化
    コミュニティが提供する
    900 以上の ARM テンプレート
    コミュニティが提供する 900 以上の Azure クイックスタート
    テンプレートから選択し、Azure へのデプロイを迅速に行い、
    より多くの作業を行うことが可能
    複数の Azure サービスを迅速にデプロイ
    1 つのテンプレートで、Azure Resource Manager (ARM) を
    介して、複数のサービスとその依存関係をデプロイ
    すべてのステージで一貫性を確保
    同じテンプレートを使用して、アプリケーション ライフサイクルの
    各段階で、アプリケーションを繰り返しデプロイ
    https://azure.microsoft.com/resources/templates/

    View Slide

  37. GitHub Packages
    パッケージとコードを 1 か所でホスト
    認証、権限
    権限を継承するパッケージを、ソース コードと同じ安全な
    環境に保存し、すべて GitHub 認証情報で保護
    パブリック/プライベート パッケージを検出
    GitHub で組織のプライベート パッケージを
    パブリック パッケージと一緒に探索、再利用
    パッケージ インサイト
    パッケージ内容、ダウンロード統計、バージョン履歴など、
    必要な情報をすべて含んでいる、GitHub にホスト
    されているパッケージを検索
    https://github.com/features/packages

    View Slide

  38. 運用

    View Slide

  39. View Slide

  40. GitHub loves Azure AD
    GitHub ユーザーを Azure AD と同期
    安全な職場の ID を強制
    Azure AD から GitHub へのユーザー アカウントの
    プロビジョニング/デプロビジョニングを自動的に行い、
    安全な職場の ID を実現
    既存の Azure AD ソリューションの活用
    Azure AD プロビジョニングにより、GitHub ユーザーは
    既存の Azure AD ソリューションをグループ メンバーとし
    て活用可能
    管理者、開発者はアプリケーション開発に集中可能
    監査性、セキュリティの向上
    Azure AD の同期機能により、ユーザーは
    管理時間短縮、監査性向上、
    ユーザー セキュリティ向上を実現可能

    View Slide

  41. Azure Security Center
    多層構造のクラウドセキュリティ
    セキュリティ姿勢の強化
    クラウド ワークロードの状態を瞬時に把握し、優先順位を
    つけた推奨事項を提供することで、セキュリティ スコアの
    恩恵を受け、セキュリティ姿勢を迅速に改善可能
    組織のセキュリティ ポリシー
    サブスクリプション、管理グループのセキュリティ ポリシーを
    簡単に設定し、コンプライアンスを即座に把握
    脅威からの保護
    Linux、Windows からクラウド ネイティブ サービス、
    データ サービスまで、完全な脅威保護をサポート

    View Slide

  42. Azure Sentinel
    クラウド ネイティブ SIEM で企業全体の
    インテリジェントなセキュリティ分析を実現
    企業全体でデータを収集
    オンプレミス、クラウドで稼働しているユーザー、
    アプリケーション、サーバー、デバイスなど、
    すべてのソースに接続してデータを収集
    既存ツールとの統合
    ビジネス アプリケーション、他のセキュリティ製品、
    自社開発のツールなどの既存ツールと統合し、
    独自の機械学習モデルを使用
    ニーズに合わせて最適化
    独自の知見、個別の検出、機械学習モデル、
    脅威インテリジェンスを持ち込むことで、ニーズに
    合わせて最適化

    View Slide

  43. アプリ向けの Azure Monitor
    高度な分析と監視
    あらゆるソースからデータを収集、保存
    オンプレミスでもクラウドでも、あらゆるソースからシステムや
    運用データを簡単に収集、保存、分析可能
    深い業務上の知見を得る
    複数の VM にまたがるアプリ、ネットワークの依存関係を
    包括的に把握し、根本原因分析をより迅速に実行
    問題の検出、診断、修正を迅速に行う
    ノイズから信号を分離し、機械学習アルゴリズムを含む高度な
    分析を使用して、プラットフォーム全体の根本原因分析を高速化
    https://azure.microsoft.com/en-us/services/monitor/#features

    View Slide

  44. GitHub Insights
    重要な開発メトリック
    研究に裏打ちされたガイダンスを受ける
    GitHub コミュニティで検証された、実用的、有用、影響力のある
    KPI を使って、自分が測定しているものが違いを生み出している
    ことを確認
    リアルタイムで進捗確認
    現行のアクティビティを可視化し、最新のスナップショットを取得し、
    作業が行われている時に自分のチームがどのように共同作業
    しているかを理解
    プロセスの改善により、より迅速なリリースを実現
    開発プロセスの各ステップを測定することで、チームは
    サイクルを短縮し、市場投入時間を短縮するための
    意思決定を行うことが可能
    https://github.com/features/insights

    View Slide

  45. View Slide

  46. Microsoft Ignite 2020 アップデート

    View Slide

  47. クラウド ベースの開発環境
    GitHub とシームレスに統合
    Visual Studio、Visual Studio Codeの
    エクスペリエンス

    View Slide

  48. View Slide

  49. Runtimes
    IDE
    Compilers Extensions

    View Slide

  50. View Slide

  51. コードとしての Azure Policy
    ARM IaC (コードとしてのインフラ)
    コンテナー スキャン
    AKS の追跡可能性

    View Slide

  52. View Slide

  53. デモ

    View Slide

  54. https://azure.microsoft.com/developer/
    https://azure.microsoft.com/products/github/
    https://github.co.jp/
    https://visualstudio.microsoft.com/ja/services/github-codespaces/
    https://github.co.jp/features/codespaces
    https://visualstudio.microsoft.com/ja/services/live-share/

    View Slide

  55. View Slide