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

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.

主站蜘蛛池模板: 崇仁县| 永福县| 泸定县| 安塞县| 光泽县| 林西县| 图木舒克市| 岳池县| 辉南县| 贺州市| 中牟县| 塘沽区| 德阳市| 乌兰浩特市| 田东县| 丰宁| 洪泽县| 汝城县| 昆明市| 普安县| 徐水县| 阳朔县| 灵武市| 左云县| 诏安县| 平舆县| 阳春市| 宜川县| 泸州市| 潢川县| 湘潭市| 双流县| 蒙山县| 荆州市| 花莲市| 丽江市| 恩施市| 林西县| 绥中县| 嘉峪关市| 高雄市|