質問に対する私の答えの裏側:DevOpsはどのようにしてソフトウェアエスクローの手順を改善するのに役立つのですか?テンシバイには質問がありました:
人形やシェフの上にカピストラーノを必要とするものは何ですか?
私の回答は、ノアギブスの記事「カピストラーノとシェフの両方が必要ですか?」へのリンクを投稿することでした。。個人的には、次のことを行うのが最も適切であるというノアの見解に同意します。
- デプロイメントには、Capistranoなどの専門のデプロイメントツールを使用します。
- 構成管理には、Chefなどの専門の構成管理ツールを使用します。
各タイプのツールがタスクを完了するために使用する基本的なアプローチは非常に異なります。
構成管理ツール -システムの望ましい状態を作成および維持するためのものであり、本質的にべき等です。構成管理ツールの例には、Chef、Puppet、Ansible、PowerShell DSC、Salt Stackなどがあります。
導入ツール - ホスティング環境にソフトウェアのバージョンを配信することに関するもので、複数のマシンでソフトウェアの複数のバージョンを維持し、どのバージョンが「最新」であるかを管理する機能を提供します。これらは本質的に必須です。デプロイメントツールの例には、Capistrano、Octopus Deploy、Deployer、およびCommand.ioがあります。
構成管理ツールはデプロイメントツールの仕事を実行できると思います。ターゲットのソフトウェアバージョンを維持する必要がないため、不変インフラストラクチャの場合は、これらが仕事に最も適したツールです。
質問: Chef、Ansible、Puppetなどの構成管理ツールは、べき等モデルと命令モデルの両方を実行できる程度に成熟していますか?