官术网_书友最值得收藏!

Configuration Management Best Practices

Now that we have a basic understanding of Configuration Management's overarching purpose and how it can be leveraged in an enterprise, let's take a look at some best practices involved in Configuration Management. Configuration Management in the modern software enterprise comes in many forms. Some of the more popular tools for Configuration Management are listed as follows:

  • Ansible
  • Chef
  • Puppet
  • CFEngine

Solutions such as these are mostly open source options that provide ways to keep and maintain infrastructure in code form, or IaC (Infrastructure as Code). For those unfamiliar with IaC, here is a general definition from Wikipedia:

Infrastructure as Code is the process of managing and provisioning computing infrastructure (processes, bare-metal servers, virtual servers, and so on) and their configuration through machine-processable definition files, rather than physical hardware configuration or the use of interactive configuration tools.

So, from this definition, we can begin to see that Infrastructure as Code (IaC) plays an important role in Configuration Management. This is one of the key highlights of Ansible and begins to showcase where it fits into the organization. As such, maintaining infrastructure as code is a Configuration Management best practice.

Another key best practice of a sound Configuration Management strategy is change control. This concept really became popular in the early to mid 1990s and provided development resources with the ability to track changes to source code related to product development. As source control management became more and more popular, people began finding new uses for this solution. Eventually, IaC was stored in source control and this became more essential to effectively managing Configuration Management assets.

As a result of IaC, some organizations began simply tying the source control management (SCM) solution into their deployments. This unfortunately violates a best practice of CI/CD that effectively requires artifacts (including automation) to be versioned appropriately and frozen easily so as to allow easy rollbacks and roll-forwards.

Source control systems have come a long way since their early infusion into the software development industry. Modern implementations such as Git and Mercurial have provided new and creative ways of branching, storing source code, and providing offline access to source-code resources. As Configuration Management specialists, it is our job to encourage good practices within source code and help ensure our infrastructure and automation remains of high integrity.

主站蜘蛛池模板: 寿阳县| 芜湖县| 志丹县| 丹巴县| 宁德市| 巴林右旗| 邵武市| 莒南县| 大姚县| 周口市| 洱源县| 图木舒克市| 陇川县| 龙泉市| 崇义县| 江油市| 奈曼旗| 缙云县| 都昌县| 清新县| 富源县| 林芝县| 沧源| 定州市| 凉城县| 绥德县| 黔南| 河津市| 尖扎县| 灌南县| 乌拉特中旗| 磐石市| 道真| 威信县| 珠海市| 嘉祥县| 娄烦县| 府谷县| 桦南县| 上蔡县| 荥阳市|