- Implementing DevOps with Ansible 2
- Jonathan McAllister
- 519字
- 2021-07-02 19:02:57
Basic Principles of Configuration Management
Configuration Management aims to help engineering organizations manage the infrastructure, create reusable automation, and provide a strategy for managing change within. As such, Configuration Management purports to provide the following basic principles:
- Automate where automation is possible
- Provide traceability within the enterprise
- Provide developers, QA, operations, and management with a reproducible infrastructure that is managed through software-development best practices
- Develop a strategy for how new hardware will be provisioned and configured (in an automated way)
- Manage hardware configurations effectively and with strategy
- Develop mechanisms that provide a self-service model for deploying infrastructure changes
- Educate the organization on Configuration Management practices
Now that we have a basic understanding of the principles of Configuration Management, let's quickly delve into each of these principles and define them in a bit more depth:
- Automate everything where automation is possible: This founding principle of Configuration Management provides us with the guideline that, if a computer can do automatically what a human would do manually, it should be made to do so. While the effort of implementing automation of this type would take time and obviously cost man-hours, the time saved by automating repeatable tasks is significant and the investment upfront would be worth it.
- Provide traceability in the enterprise: Most veteran developers have spent time attempting to hunt down a ghost in the machine, whether it's on their local environment or in production. It's equally as frustrating to spend hours trying to determine what specifically changed. The traceability aspect of this concept is important as it provides those who are tasked with determining the fault access to a list of what line of code changed in a given deployment. With a good Configuration Management plan and automation in place, the traceability you seek can be yours.
- Reproducible infrastructure: If you have ever spent time at work trying to recreate the build environment for a given software system or reproducing a deployment environment, you know how important this one is. If you have not spent time doing this in the past, you are a lucky person indeed. Oftentimes, one of the biggest time sinks is trying to recreate a development or delivery environment and get all the proper libraries, packages, or modules configured exactly right so the system functions as expected. With a proper Configuration Management solution in place (like Ansible), this is totally possible.
- Develop a strategy for how new hardware and infrastructure will be automatically provisioned: This one is probably one of the initial tasks that will need to be done as part of a detailed and comprehensive Configuration Management implementation. With a good plan, the rest will follow.
- Develop mechanisms for self-service execution of Configuration Management solutions: In the long run, you don't want to be the gatekeeper of a Configuration Management solution. You will want to plan and create some kind of self-service Configuration Management solution where your customers (developers, QA, operations, and management) can use your solutions via a button click. Some organizations will leverage Jenkins or Circle CI for such tasks. In the end, the solution to use or create is up to you.
推薦閱讀
- SQL Server 從入門到項(xiàng)目實(shí)踐(超值版)
- PHP 7底層設(shè)計(jì)與源碼實(shí)現(xiàn)
- HBase從入門到實(shí)戰(zhàn)
- Nexus規(guī)模化Scrum框架
- Spring Boot進(jìn)階:原理、實(shí)戰(zhàn)與面試題分析
- Python數(shù)據(jù)結(jié)構(gòu)與算法(視頻教學(xué)版)
- Yii Project Blueprints
- Mobile Device Exploitation Cookbook
- Learning Docker Networking
- 編程可以很簡(jiǎn)單
- Apache Camel Developer's Cookbook
- Visual Basic語(yǔ)言程序設(shè)計(jì)上機(jī)指導(dǎo)與練習(xí)(第3版)
- ANSYS FLUENT 16.0超級(jí)學(xué)習(xí)手冊(cè)
- Java程序設(shè)計(jì)
- VMware vSphere Design Essentials