DevOps は、ソフトウェア開発ライフサイクル全体で開発チームと IT 運用チームが連携して作業する考え方です。組織は、DevOps を導入することで、設計から導入までの時間を短縮しながら、生産性とパフォーマンスを最大限に高められます。
CI/CD を採用することで、品質を高めながら、ソフトウェアの更新/導入に要する時間を短縮できます。
自動化により、人的エラーを減らし、開発環境の利用効率を高められます。自動化ツールによって以下が可能になります。
開発チームと IT 運用チームを統合して強力な DevOps チームを形成するには、カルチャの転換が必要です。まず以下から始めます。
重要業績評価指標を定めることで、DevOps の取り組みの効果を測定できます。次のメトリクスから貴重なインサイトが得られます。
ビルドサーバーは自動化ツールの 1 つで、ソースコードリポジトリ内のコードを、実行可能なコードベースにコンパイルするために利用します。主なものに、Jenkins、SonarQube、Artifactory などがあります。
ソースコードリポジトリは、継続的インテグレーションの重要な要素の 1 つで、開発者がさまざまなバージョンのコードを管理し、互いに独立してコードを変更できる場所です。ソース コード リポジトリ ツールには、Git、Cloudforce、Bitbucket、Subversion などがあります。
構成管理とは、IT インフラストラクチャの要件、機能属性、プロパティを一貫して管理し、品質を確保することです。広く使用されている構成管理ツールの例として、Puppet、Ansible、Chef があります。
仮想インフラストラクチャは、Platform as a Service(PaaS)としてインフラストラクチャを提供するクラウドベースのサービスです。Amazon Web Services(AWS)や Microsoft Azure などがあります。自動化ツールと組み合わせて使用することで、システム管理者が新しいコードを自動的にテストできるため、DevOps を促進できます。
Linux コンテナは、開発プロセス中に特定のワークロードまたはアプリケーションをホストシステムから分離する、仮想化コンポーネントです。仮想コンポーネントの主なベンダーおよびツールとして、Docker、Kubernetes、ElasticBox、CoreOs などがあります。