DevOps テクノロジの概要

ソフトウェアの配信を自動化して、ユーザーに価値を継続的に提供する

DevOps の約束

DevOps はソフトウェアの配信を自動化し、高速化します。それにより、お客様のプロセスや製品の信頼性が向上します。DevOps のテクノロジとプラクティスを導入することで、新しい革新的な製品や、既存の製品の機能強化という形で価値を顧客により迅速に提供できるようになります。

DevOps の定義は何ですか?

DevOps は、開発と IT の垣根を越えて人、プロセス、テクノロジを統合するプラクティスです。柱となるプラクティスには、計画と追跡、開発、ビルドとテスト、配信、監視と運用の 5 つがあります。DevOps を実践すると、開発、IT 運用、品質エンジニアリング、セキュリティの各チームが密接に連携するようになり、縦割りになっていたプラクティスが排除されます。これらの専門分野を越えて連携やコラボレーションが強化されるため、変更をシステムにコミットしてから、変更が運用環境に適用されるまでの時間が短縮されます。さらに、プロセスの一環として、セキュリティと信頼性の基準が満たされます。その結果、より良い製品を短期間で提供できるようになり、顧客の満足度が上がります。

DevOps モデルはどのように実践するのでしょうか?

専門分野の垣根を越えたチームは、配信パイプラインを通して DevOps の次のフェーズに従って、製品を迅速に市場に投入しています。

計画と追跡

かんばんボード、アジャイルなどのプラクティスやプロセスを利用して、作業を特定して追跡します。作業を視覚的に追跡すると、関係者が開発チームの能力を明確に把握し、タスクの計画や優先度付けをより適切に行うことができ、非常事態に備える必要がなくなります。

開発

Git などの最新のバージョン コントロール システムを使用してコードを作成して、マスター ブランチに継続的かつ安全に統合します。1 つの機能が完成したら、開発者が pull request を送信します。承認されると、変更がマスターにマージされ、古いブランチが削除されます。

ビルドとテスト

コードを Git などのバージョン コントロール システムにチェックインすることから、ビルド プロセスの自動化は始まります。開発者の記憶が鮮明なうちに、低コストで修正できる開発の早い段階でバグを見つけ出すために、コードはテストおよび検証されます。ビルドとテストを自動的に行うこのプロセスは、継続的インテグレーション (CI) と呼ばれます。運用のためにデプロイできる成果物は、ビルドと統合が成功した結果です。この段階で、継続的デリバリー (CD) が可能になり、いつでも運用環境にデプロイできます。

デプロイ

テストと検証が済んだら、各変更を運用環境にデプロイできます。運用環境への最終的なデプロイは、継続的デリバリーのプラクティスに従って、手動で管理するビジネス上の意思決定事項です。

継続的配置により、コードのコミットから運用までのプロセス全体が自動化されます。コードが自動的にデプロイされると、顧客は新機能が準備でき次第すぐに利用することができます。

監視と運用

運用を開始すると、監視により、アプリのパフォーマンスと使用パターンに関する情報が配信されます。豊富な診断データを即時に入手し、すばやく対処できるようにして、高可用性を実現します。ユーザーの問題を軽減し、データを収集して、今後の開発に関する意思決定を情報に基づいて下します。さらに、Infrastructure as Code と Policy as Code を使用した自動化されたコンプライアンス ポリシーにより、運用環境にデプロイしたアプリがセキュリティのベスト プラクティスに従った望ましい状態の構成を確実に使用するようにします。

詳細情報

Azure で DevOps の実践を始める

Azure では、統合されたセキュリティや監視など、DevOps のためのエンド ツー エンドの自動化されたソリューションを提供しています。簡単にクラウドでアプリを開発して運用することができます。Azure DevOps の開発者エクスペリエンスには、好みのツールを統合できます。Java 開発者の場合は、Azure で Eclipse とのネイティブ統合が可能です。Jenkins でビルドしている場合は、Jenkins を使って、簡単に Azure に直接デプロイできます。開発、IT 運用、品質エンジニアリングの各チームが一丸となって、クラウドでアプリケーションをビルド、テスト、デプロイ、監視、管理することができます。アプリやワークロードに待ち時間、規制、その他のカスタムの要件がある場合は、Azure を Azure Stack と組み合わせることで、一貫性のあるハイブリッドな DevOps エクスペリエンスが実現されます。現在のスキル、プロセス、ツールを、アプリを実行する必要のある環境で利用することができるのです。

絶え間ないイノベーションを実現

クラウド開発を簡略化し、高速化する

配信パイプラインの構築にかける時間を減らし、より多くの時間をソフトウェアの開発に注ぎましょう。エンド ツー エンドの DevOps ソリューションを使用して、クラウドでアプリを開発および運用できます。既存の配信パイプラインを強化することも、一から始めることも可能です。Node.js、.NET、Azure DevOps、または Jenkins を使用できます。Azure は、クラウドでアプリケーションを開発および運用するための最も簡単な方法です。

信頼性と再現性を向上させる

インフラストラクチャやセキュリティの管理にかける時間を減らし、より多くの時間を革新的なソリューションの開発に注ぎましょう。Azure を使用すれば、エンタープライズ グレードのセキュリティと監視が統合され、継続的なデプロイが可能になります。Azure Resource Manager や Terraform などの Infrastructure as Code ツールを活用して、コンプライアンス基準を満たす反復可能な信頼性の高いデプロイを実現できます。

独自の方法で開発およびデプロイする

必要なツールを利用できます。オープンなエンド ツー エンドの DevOps プロセスは、オープン ソース ツールなど、ワークフロー全体であらゆるツールチェーンに対応しています。Azure では、Ansible、Docker、Kubernetes など、好きなツールを使用することができます。

DevOps と Azure により、お客様はすばらしい成果を挙げています

開発と配信を省力化

eコマースの挑戦者は首位を見据えて Microsoft のクラウドで稼働

"Being able to leverage so many off-the-shelf services and tools from Azure enabled us to go from zero to a full- fledged e-commerce marketplace in just about 12 months."

Mike Hanrahan 氏、CTO

事例を見る

Jet.com

ダウンタイム ゼロと信頼性向上を実現

GEICO、クラウドで保険のイノベーションを加速

"With DevOps and Azure, we’re able to reduce our new-feature release cycle down to one week, and we think we can even speed that up."

Fikri Larguet 氏、クラウド サービス担当ディレクター

事例を見る

Geico

オープン ソースで自動化を達成

イノベーションと拡大のペースを加速するエネルギー企業

"Azure support for Docker, Kubernetes, Puppet, Terraform, Cassandra, and other open source tools has become very important to us and has really accelerated our move into Azure.”

Robert Rudduck 氏、アーキテクチャおよび DevOps 部門ディレクター

事例を見る

Ambit Energy

Azure における DevOps の詳細

パイプライン内で好みのオープン ソース ツールやサード パーティ ツールを使い続けることができます。また、Azure DevOps を活用して、エンドツーエンドの DevOps ツールチェーンを調整および補完することもできます。

開発

Azure と Visual Studio および Visual Studio Code のネイティブ統合により、開発が簡素化されます。Java 開発者は、Azure Toolkit を使用することにより、Eclipse や IntelliJ などのサード パーティ IDE で Azure の優れたエクスペリエンスを活用できます。

無制限の Git リポジトリによるコードの共有、ビルド、ソフトウェアの提供を行い、Azure DevOps によるアジャイルな作業管理を使用することができます。DevTest Labs を使用すると、開発者のための環境を数分でプロビジョニングできます。

ビルドとテスト

Azure DevOps を使用して、CI/CD パイプラインをセットアップし、パッケージを管理します。既存の Jenkins のビルドやパイプラインを Azure に移行し、動的なエージェント プラグインを使用すると、インフラストラクチャの要件やコストが下がります。

DevTest Labs を使用して、テスト環境をセットアップし、管理すると、高い品質で時間どおりに提供できます。iOS、macOS、Android、Windows アプリのライフサイクルを Visual Studio App Center で自動化することで、それらのアプリのビルド、テスト、提供を短期間で、より自信を持って行うことができます。数千もの実機でテストを行い、ベータ テスターやアプリ ストアに配信し、クラッシュ データと分析データを使用して使用状況を監視できます。

デプロイ

Infrastructure as Code により、JSON や YAML などの宣言型コードとして環境定義をキャプチャして、プロビジョニングと構成を自動化します。Azure Resource Manager または Terraform を使用して、重複する環境を確実にプロビジョニングできます。Azure Automation や、Ansible、Chef、Puppet などのツールは、自動化と構成の管理を実現します。

Azure DevOps の Release Management を使用すると、承認ゲートを設け、運用に至るまで、複数の環境でのソフトウェアのテストとデリバリーを自動化できます。また、Jenkins パイプラインから Virtual Machines、Web Apps、または Azure Container Service に直接デプロイすることもできます。

監視と運用

Azure Monitor を利用して、インフラストラクチャの正常性を監視し、Grafana、Kibana、Azure portal の既存のダッシュボードに統合します。Log Analytics を利用すると、すばやく接続し、複数の場所からログ データを収集して、分析情報に変え、アクションにつなげることができます。Application Insights を使用して、問題を診断し、アプリケーションを最適化できます。

Azure Policy または Chef Automate により、プロビジョニングしたインフラストラクチャとアプリケーションの確実なコンプライアンスを実現することが可能です。Security Center と組み合わせて使用すれば、脅威にさらされる危険を抑え、脆弱性をすばやく見つけて修正できます。

ハイブリッド クラウドで一貫した DevOps の実現

Azure Stack は Azure の拡張機能で、クラウドの能力をオンプレミス環境にもたらします。お客様のデータセンターから Azure サービスを提供しながら、柔軟性と制御のバランスをとり、真に整合したハイブリッド クラウド デプロイを実現します。

Azure DevOps Server を使用すると、Team Services と同じ DevOps のサービスと機能をすべて利用できます。異なる点は、それらをオンプレミスで実行できることです。

ビデオ

Microsoft におけるアジャイル

ビデオを見る

ビデオ

Visual Studio App Center の概要

ビデオを見る

ドキュメント

GitHub の Azure DevOps Projects

ドキュメントを見つける

お客様のニーズに応じて DevOps を導入する

Azure では、DevOps ソリューションの実装を簡単に始めることができます。Azure DevOps Projects を使用すると、パイプラインの統合、任意のプラットフォームへのデプロイ、監視の開始が自動的に行われます。

オープン ソースやサード パーティのツールを利用している場合は、Azure DevOps ソリューションをお試しください。Azure で DevOps ソリューションを実装するための実証済みのプラクティスとソリューション アーキテクチャをご確認ください。