Good day. The task is as follows: there are about 10 servers, two administrators work, so that if you change which configuration thread doesn’t break everything, it was decided to keep a history of changes on the servers. On the similarity of the blog, but in which you can sort the information, for example, by date or by server.

In Google docks it is not very convenient, I am sure there is already something that we have invented for us. Does anyone have a thread about this?

  • 2
    I think you actually need git and any configuration manager - etki

2 answers 2

There are many different good ways. And I think that gugldoki for storing configs is not very. But to store any descriptions "added such an option, let's see if it helps," or added it because I asked for Bos - it’s the most. Then it will be easy to understand why so and not otherwise.

One interesting way to store a config is to store it directly in git. There are even many articles on this topic, for example . This method solves many questions at once - who added (history), why (if the comment is registered), what other configs changed (some configs do not change one by one). And you can even paint in the markdown format, and gitlab / github will show it all nicely.

The second way is to use the "configs delivery" system. When there are only two cars - do not worry. And if there are 500? And if the machines work on different systems and configs need to be “sharpened” a little? To do this, they invented such a system as puppet (puppet). Here is how to use it . But puppet is not the only one in its environment - Habr - Review: Puppet, Chef, Ansible, Salt .

Now there is a third way - docker. These are not exactly configs, but not enough :)

Another direction is etcd . But this is more for programmers. This is such a key-value store (as Monga or radish), but intended for storing data on several servers (everything crawls and synchronizes synchronously). This can be convenient if there is a website and there is an admin in it. And the site itself is stored on a dozen servers. You can of course save the settings to the database, but what if the base fell? Or two administrators from different servers decided to fix the config? And etcd will help solve this problem.

    2 administrators are already a team, and given the distributed nature of the process, the asymptotics of the management task is 10x3x2 = 60, this is essential for management (10 servers, 3 is the average complexity factor since the server management is divided into equipment, OS and application systems, 2 administrators).

    Therefore, the tool must be appropriate - management tasks or tickets. For any work, administrators should create a ticket (task) with a description, agreed terms, specified infrastructure objects (servers, with details - equipment, OS, application systems, etc.). There must be an execution schedule that includes documentation (which was actually done by the contractor).

    By implementing such a system, you will receive detailed logging of what was planned and when, how and by whom it was executed.

    The help desk system (for example, Spiceworks , but a lot of options in general) or the project management system (for example, Asana or Atlassian Jira , but the options are dark again) are suitable as tools. Old Mantis can not help but remember a good memory. The choice will depend on what you like more and whether you are ready to spend some money. IMHO so it's better to take an inexpensive Cloud-system so as not to bathe with local installation and administration, the budget of $ 10 -20 $ per month for the admin can be thought up ;-)

    And most importantly, a base for infrastructure growth will be created, after some time you can safely go to the authorities with a proposal to purchase 10 more servers and hire another administrator, as the efficiency and transparency of the processes will definitely increase ;-)