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

What is configuration management?

Every deployment comprises two stacks of resources:

  • Environment or infrastructure resources 
  • Application deployment

Infrastructure resources refer to hardware, software, and platform resources that make an environment suitable for application deployment. For example: infrastructure resources might contain hardware resources, such as networks, load balancers, network interface cards, physical server, virtual machines, network connectivity, an operating system, as well as platform resources, such as container runtime, and framework deployments, such as .NET core. Each of these infrastructure resources should be configured in a way that ensures the application will work according to its design.

After infrastructure resource-provisioning, the application is deployed on top of them. These are related to resources such as application binaries, application dependencies, and package installations.

The configuration of these resources is needed across environments—from higher-level environments, such as the production environment, to lower-level environments, such as the dev and test environments. There can be multiple environments for a solution. The configuration for each of these environments is different. The configuration for a production environment for a solution is different than the configuration of a development environment for the same solution. The configuration differences could be in terms of number of virtual machines, the size of virtual machines, the DNS names, the IP address range, and more. The application configuration for each of these environments is also different. For example: the connection string to database, integration endpoints to other systems, and other configurations are different across these environments.

Active management of both the infrastructure- and application-level configuration information as well as data is known as configuration management in software life cycle management parlance.

There are many tools that can help manage configurations across environments. Some of these are open source while others are propriety.

Each cloud provider also has its own configuration-management tools.

Azure provides ARM templates for provisioning and configuring the infrastructure resources. Other cloud vendors provide their own native ways to configure the environments.

Tools such as Desired State Configuration, Chef, Puppet, and Ansible are suitable for application configuration.

ARM templates enable a concept known as Infrastructure as Code; let's understand it in the next section.

主站蜘蛛池模板: 平顶山市| 永春县| 黄石市| 呈贡县| 石狮市| 伊金霍洛旗| 靖边县| 娄烦县| 全州县| 兰溪市| 无为县| 当涂县| 抚松县| 宁安市| 光泽县| 乌拉特后旗| 阿坝| 富源县| 鹤峰县| 扶绥县| 闵行区| 武安市| 武平县| 麦盖提县| 平塘县| 烟台市| 崇明县| 太白县| 汤阴县| 当雄县| 颍上县| 澎湖县| 竹山县| 巴南区| 昌黎县| 南陵县| 平昌县| 类乌齐县| 鲁甸县| 左权县| 舒城县|