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

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.

主站蜘蛛池模板: 临海市| 罗平县| 张家港市| 永济市| 新蔡县| 白城市| 延庆县| 台安县| 黔西| 石门县| 新巴尔虎右旗| 旅游| 潜江市| 资兴市| 东兰县| 蕉岭县| 崇左市| 高安市| 武汉市| 屏南县| 正蓝旗| 娄烦县| 公主岭市| 浙江省| 临洮县| 齐河县| 门源| 酉阳| 于都县| 威远县| 夏津县| 丰顺县| 双流县| 大庆市| 英山县| 雷波县| 岗巴县| 墨脱县| 江源县| 万年县| 常山县|