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

[Developers Festa Sapporo 2020] Microsoft/GitHu...

[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. Code from anywhere Collaborate from anywhere Ship from anywhere #1

    Most popular developer tool1 1 Stack Overflow: Stack Overflow Developer Survey, 2019
  2. 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
  3. Azure DevOps と GitHub は同じ組織に Azure DevOps で得られた ニーズや知見を GitHub

    とシェア Microsoft の 10 万人以上の エンジニアの標準ツール
  4. • 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 を ネイティブ サポート • 今後の統合もさらに加速
  5. ソース管理 Git がベース Azure Repos GitHub CI/CD Azure Pipelines の

    テクノロジがベース コード パッケージ 標準のオープン パッケージ フォーマットがベース Azure Pipelines GitHub Actions Azure Artifacts GitHub Packages
  6. 地球上のすべての個人とすべての組織が より多くのことを達成できるようにする Microsoft のミッション ステートメント The home for all developers.

    GitHub のビジョン GitHub への戦略的投資は、 GitHub を DevOps ツールのホームにすることで、 同社の 5,000 万人のユーザーが 組織のためにより多くのことを達成できるようにする
  7. ソフトウェア開発の未来に 向けた一歩 GitHub + Azure + Visual Studio の 組み合わせは、DevOps

    のための最も完全な クラウド プラットフォーム DevOps 導入のすべての段階向けに、開発者に 最も愛されているコーディング/コラボレーション ツール、 セキュリティ/ガバナンスのための組織の最も 信頼されたエンタープライズ機能を組み合わせた、 エンドツーエンドの開発者ツールチェーンを提供
  8. GitHub Issues & Projects プロジェクト管理を簡素化 イシューから始める 新しいアイデアを提案したり、バグを追跡したりするために、 イシューを作成 その後、タスクを整理して、チームに割り当て イシューのリンクとプル

    リクエスト GitHub 組織内のどこにいても、イシューとプル リクエストを クロス リンクさせることで、ワークフローを複雑にすることなく プロジェクトの更新を追跡可能 Projects で自分の作業が形になることを確認 プロジェクト ボードを使用して、コードとともにすべての作業 を可視化し、優先順位付け リポジトリや組織全体で、どのようなタスクが計画されてい るか、進行中かを確認可能
  9. GitHub loves Azure Boards 高度なプロジェクト計画と追跡 アイデアからリリースまでつながる 開発段階ごとにすべてのアイデアを追跡 すべてのGitHub コミットとプル リクエストで

    チームの連携を維持可能 自分の作業の可視化 GitHub リポジトリが 1 つでも100 個でもそれ以上でも、 あらかじめ設定されたカンバン ボードを使って、 すべての作業を可視化し、進行中の作業を管理 すぐに使えるスクラム対応 組み込みのスクラム ボードやアジャイル計画ツールを使用 チームが、スプリント、スタンドアップ、キャパシティの 見積もりを実行
  10. GitHub Discussions より良い計画のためにディスカッションに参加 コードとコミュニティに関するオープンな会話 新しいスレッド形式のディスカッションで、機能のアイデアを ブレイン ストーミングしたり、新しいユーザーが自分の位置を 把握したり、ソフトウェア上で共同作業をしたりすることが 簡単に Q&A

    に最適 質問に回答としてマークを付けることができるので、 時とともにコミュニティの知識ベースが自然に成長 GitHub のネイティブ エクスペリエンス 議論は、GitHub のプロジェクト リポジトリで 直接行われる コミュニティがすでに共同作業している場所でアクセス可能
  11. Visual Studio loves GitHub 統合開発環境 (IDE) 開発者の生産性を向上 大規模な革新を実現し、エンタープライズ プロジェクトを 高度化

    レポートの作成/公開、GitHub でのプル・リクエストの管理、 Visual Studio 内でのソース コード レビューが可能 Azure 上での迅速な公開とテスト Web アプリを構築している場合でも、Azure Functions を 使用してサーバーレス ソリューションを構築している場合でも、 Visual Studio から Azure に直接コードをデプロイ可能 デプロイ後のデバッグ スナップショット デバッガーと IntelliTrace を使って、 アプリケーションの実行先がローカルかAzureかにかかわらず、 コードの実行履歴を追跡、記録 クラウド アプリケーションのバグやパフォーマンスの問題を簡単 に発見、解決可能
  12. GitHub Repos との連携強化 オープン ソース文化とベスト プラクティスを 組織内で実現 コラボレーションを良いものに オープン ソース

    コミュニティと同じプロセス、プラクティスを 使って、組織内でチームが協力することを奨励することで、 インナー ソースの仕事文化を生み出す サイロを壊す チーム間のコラボレーションを簡素化することで、 知識の共有が容易になり、コードの再利用が改善され、 安全なワークフローが実現 開発者満足度の向上 インナー ソースとオープン ソースのプラクティスを活用することで、 開発者の満足度を高め、興味深いプロジェクトに取り組み、 スキルを向上させることが可能
  13. スターター テンプレート 開発をより速くスタート スターター テンプレートをすぐに見つける GitHub のオープン ソース カタログを見たり、トピックを 参照して、既存のスターター

    テンプレートを見つけ、 次のプロジェクトをスタート ワン クリックで簡単にテンプレートをクローン可能 緑色の「テンプレートとして使用」ボタンをクリックするだけで、 テンプレートと同じディレクトリ構造、ブランチ、ファイルを持つ 新しいリポジトリをクローン、生成可能 無料テンプレートの膨大なライブラリ GitHub には 10,000 以上のスターター テンプレートが用意されて いる その中には、Azureへのデプロイを想定して設計されたプロジェクト の設定を加速するため、の様々なAzureスターターテンプレートも https://github.com/search?q=starter+template
  14. Dependabot 脆弱性のある依存関係を自動更新 セキュリティ更新のための自動プル リクエスト Dependabot のセキュリティ更新は、脆弱性のあるコンポーネントを 監視することで、プロジェクトを安全かつ最新の状態に維持 脆弱性が発見されると、修正案を含むプル リクエストを 自動オープン

    開発者ワークフローとの統合 Dependabot は開発者ワークフローに直接統合されており、 スムーズな体験と迅速な修正を実現 豊富な脆弱性データ GitHub では、セキュリティ研究者やメンテナー、National Vulnerability Database (リリースノート、変更履歴エントリ、 コミットの詳細など) のデータを用いて、サポートされている パッケージ マネージャのパッケージの脆弱性を追跡 これらすべては、GitHub Advisory Databaseで検出可能 https://github.com/features/security
  15. コード スキャン 脆弱性を最初から防ぐ 脆弱性の発見、修正を迅速に行う 自動化された CodeQL スキャンにより、コード ベースに マージされる前に脆弱性を発見、修正 トップ

    セキュリティ専門家のコミュニティ 自分のプロジェクトを、世界クラスのセキュリティ チームが 支援 セキュリティ コミュニティによって作成されたクエリを、 プロジェクトで使用 開発者ワークフローとの統合 セキュリティの結果を開発者ワークフローに直接統合し、 スムーズな体験、迅速な開発を実現 https://github.com/features/security
  16. シークレット スキャン 自分のシークレットを秘密に 早期にシークレットを特定 GitHub にプッシュされた瞬間にシークレット (Azure シークレットなど) を検出し、検出されたらすぐに 開発者に通知

    シークレット スキャン パートナーのコミュニティ リポジトリにコミットされたすべてのコミットとその完全な git 履歴に対して、シークレット スキャンパートナーからの シークレットのフォーマットを探す パブリック、プライベート両方のリポジトリを サポート シークレット スキャンは、パブリック、プライベート両方の リポジトリを監視し、潜在的なシークレット脆弱性を探す https://github.com/features/security
  17. Azure DevTest Labs Azure での高速、簡単、アジャイルな開発/テスト環境 高速なプロビジョニング 再利用可能なテンプレート、カスタム イメージ、式を 活用し、数クリックで VM

    をセットアップ 自動化、セルフ サービス チーム内の開発環境を集中的に管理し、 互換性テストや自動テストを実施 コスト管理、ガバナンス クォータ、ポリシーで無駄を最小限に抑え、 自動シャットダウンでコストを最小限に抑える http://aka.ms/azuredevtestlabs
  18. GitHub Actions CI/CD を含む全てを自動化 自動化によるデリバリーの高速化 20 以上のプロジェクト イベントの自動化トリガーにより、 CI/CD だけでなく、利用可能な

    API へのワークフローの 自動化を可能に 単純で使いやすい YAML ベースの設定と、多数のサンプル ワークフローから 学習、作業開始が可能 Actions のためのグローバル コミュニティ 何千ものオープンソースのアクションが、コミュニティや (Azureを含む) 統合を提供する企業によって 維持されている
  19. 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など) を使って、新しいインフラにポリシーを適用
  20. 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
  21. GitHub で Azure へのデプロイを高速化 コミュニティが提供する 900 以上の ARM テンプレート コミュニティが提供する

    900 以上の Azure クイックスタート テンプレートから選択し、Azure へのデプロイを迅速に行い、 より多くの作業を行うことが可能 複数の Azure サービスを迅速にデプロイ 1 つのテンプレートで、Azure Resource Manager (ARM) を 介して、複数のサービスとその依存関係をデプロイ すべてのステージで一貫性を確保 同じテンプレートを使用して、アプリケーション ライフサイクルの 各段階で、アプリケーションを繰り返しデプロイ https://azure.microsoft.com/resources/templates/
  22. GitHub Packages パッケージとコードを 1 か所でホスト 認証、権限 権限を継承するパッケージを、ソース コードと同じ安全な 環境に保存し、すべて GitHub

    認証情報で保護 パブリック/プライベート パッケージを検出 GitHub で組織のプライベート パッケージを パブリック パッケージと一緒に探索、再利用 パッケージ インサイト パッケージ内容、ダウンロード統計、バージョン履歴など、 必要な情報をすべて含んでいる、GitHub にホスト されているパッケージを検索 https://github.com/features/packages
  23. GitHub loves Azure AD GitHub ユーザーを Azure AD と同期 安全な職場の

    ID を強制 Azure AD から GitHub へのユーザー アカウントの プロビジョニング/デプロビジョニングを自動的に行い、 安全な職場の ID を実現 既存の Azure AD ソリューションの活用 Azure AD プロビジョニングにより、GitHub ユーザーは 既存の Azure AD ソリューションをグループ メンバーとし て活用可能 管理者、開発者はアプリケーション開発に集中可能 監査性、セキュリティの向上 Azure AD の同期機能により、ユーザーは 管理時間短縮、監査性向上、 ユーザー セキュリティ向上を実現可能
  24. Azure Security Center 多層構造のクラウドセキュリティ セキュリティ姿勢の強化 クラウド ワークロードの状態を瞬時に把握し、優先順位を つけた推奨事項を提供することで、セキュリティ スコアの 恩恵を受け、セキュリティ姿勢を迅速に改善可能

    組織のセキュリティ ポリシー サブスクリプション、管理グループのセキュリティ ポリシーを 簡単に設定し、コンプライアンスを即座に把握 脅威からの保護 Linux、Windows からクラウド ネイティブ サービス、 データ サービスまで、完全な脅威保護をサポート
  25. Azure Sentinel クラウド ネイティブ SIEM で企業全体の インテリジェントなセキュリティ分析を実現 企業全体でデータを収集 オンプレミス、クラウドで稼働しているユーザー、 アプリケーション、サーバー、デバイスなど、

    すべてのソースに接続してデータを収集 既存ツールとの統合 ビジネス アプリケーション、他のセキュリティ製品、 自社開発のツールなどの既存ツールと統合し、 独自の機械学習モデルを使用 ニーズに合わせて最適化 独自の知見、個別の検出、機械学習モデル、 脅威インテリジェンスを持ち込むことで、ニーズに 合わせて最適化
  26. アプリ向けの Azure Monitor 高度な分析と監視 あらゆるソースからデータを収集、保存 オンプレミスでもクラウドでも、あらゆるソースからシステムや 運用データを簡単に収集、保存、分析可能 深い業務上の知見を得る 複数の VM

    にまたがるアプリ、ネットワークの依存関係を 包括的に把握し、根本原因分析をより迅速に実行 問題の検出、診断、修正を迅速に行う ノイズから信号を分離し、機械学習アルゴリズムを含む高度な 分析を使用して、プラットフォーム全体の根本原因分析を高速化 https://azure.microsoft.com/en-us/services/monitor/#features
  27. GitHub Insights 重要な開発メトリック 研究に裏打ちされたガイダンスを受ける GitHub コミュニティで検証された、実用的、有用、影響力のある KPI を使って、自分が測定しているものが違いを生み出している ことを確認 リアルタイムで進捗確認

    現行のアクティビティを可視化し、最新のスナップショットを取得し、 作業が行われている時に自分のチームがどのように共同作業 しているかを理解 プロセスの改善により、より迅速なリリースを実現 開発プロセスの各ステップを測定することで、チームは サイクルを短縮し、市場投入時間を短縮するための 意思決定を行うことが可能 https://github.com/features/insights