{"id":90386,"date":"2020-07-31T13:42:20","date_gmt":"2020-07-31T11:42:20","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management"},"modified":"2020-07-31T13:42:20","modified_gmt":"2020-07-31T11:42:20","slug":"triller-o-nastrojke-serverov-bez-chudes-s-configuration-management","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management","title":{"rendered":"Ein Thriller \u00fcber die Serverkonfiguration ohne Wunder mit Configuration Management","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Das Jahr neigte sich dem Neuen Jahr zu. Die Kinder im ganzen Land hatten bereits Briefe an den Weihnachtsmann geschickt oder sich Geschenke gew\u00fcnscht, und das Hauptorganisationsmittel \u2013 einer der gro\u00dfen Einzelh\u00e4ndler \u2013 bereitete sich auf das Verkaufsapotheose vor. Im Dezember steigt die Belastung f\u00fcr sein Rechenzentrum um ein Vielfaches. Daher entschied sich das Unternehmen, das Rechenzentrum zu modernisieren und mehrere Dutzend neue Server in Betrieb zu nehmen, anstelle von Ger\u00e4ten, deren Lebensdauer abgelaufen war. Damit endet die Einleitung vor den kreisenden Schneeflocken und beginnt ein Thriller. <\/p>\n<p><img decoding=\"async\" alt=\"Ein Thriller \u00fcber die Serverkonfiguration ohne Wunder mit Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/ebc2128d73e9a0e7f1e383b4b04ee492.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDie Ger\u00e4te kamen einige Monate vor dem Verkaufshoch auf die Plattform. Der Betriebservice wei\u00df nat\u00fcrlich, wie und was an den Servern konfiguriert werden muss, um sie in die Produktionsumgebung zu bringen. Aber wir mussten das automatisieren und den menschlichen Faktor ausschlie\u00dfen. Au\u00dferdem ersetzten die Server vor der Migration ein Set von SAP-Systemen, die f\u00fcr das Unternehmen kritisch wichtig sind. <\/p>\n<p>Die Inbetriebnahme der neuen Server war strikt an eine Frist gebunden. Und eine Verschiebung h\u00e4tte sowohl die Auslieferung von einer Milliarde Geschenke als auch die Migration der Systeme gef\u00e4hrdet. Das Datum h\u00e4tte nicht einmal das Team, zu dem der Weihnachtsmann und Santa Claus geh\u00f6rten, \u00e4ndern k\u00f6nnen \u2013 das Verschieben des SAP-Systems zur Lagerverwaltung kann nur einmal im Jahr erfolgen. Vom 31. Dezember bis zum 1. Januar legen riesige Lagerh\u00e4user des Einzelh\u00e4ndlers, insgesamt so gro\u00df wie 20 Fu\u00dfballfelder, ihre Arbeit f\u00fcr 15 Stunden nieder. Und dies ist der einzige Zeitfenster f\u00fcr die Migration des Systems. Wir hatten keinen Spielraum f\u00fcr Fehler bei der Einf\u00fchrung der Server. <\/p>\n<p>Ich m\u00f6chte gleich klarstellen: Meine Erz\u00e4hlung spiegelt die Werkzeuge und den Prozess des Konfigurationsmanagements wider, die unser Team anwendet.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nDas Konfigurationsmanagementsystem besteht aus mehreren Ebenen. Die Schl\u00fcsselkomponente ist das CMS-System. Bei industrieller Nutzung w\u00fcrde das Fehlen einer der Ebenen unweigerlich zu unangenehmen \u00dcberraschungen f\u00fchren.<\/p>\n<h1>Betriebssysteminstallation verwalten<\/h1>\n<p>\nDie erste Ebene ist das System zur Verwaltung der Installation von Betriebssystemen auf physischen und virtuellen Servern. Es erstellt grundlegende Betriebssystemkonfigurationen und beseitigt den menschlichen Faktor. <\/p>\n<p>Mit diesem System erhielten wir standardisierte und f\u00fcr die weitere Automatisierung geeignete Instanzen von Servern mit Betriebssystem. Bei der \u201eBereitstellung\u201c erhielten sie eine minimale Anzahl lokaler Benutzer und \u00f6ffentlicher SSH-Schl\u00fcssel sowie eine abgestimmte Betriebssystemkonfiguration. Wir konnten die Server garantiert \u00fcber das CMS verwalten und waren sicher, dass es \u201eunten\u201c auf Betriebssystemebene keine \u00dcberraschungen gab. <\/p>\n<p>Die \u201emaximale\u201c Aufgabe f\u00fcr das Installationsmanagementsystem besteht darin, Server automatisch vom BIOS-\/Firmware-Level bis hin zum Betriebssystem zu konfigurieren. Vieles h\u00e4ngt hier von der Hardware und den Konfigurationsanforderungen ab. F\u00fcr heterogene Hardware kann man <noindex><a rel=\"nofollow\" href=\"https:\/\/www.dmtf.org\/standards\/redfish\">REDFISH API<\/a><\/noindex>. Wenn die gesamte Hardware von einem Anbieter stammt, ist es oft bequemer, fertige Verwaltungstools zu verwenden (zum Beispiel HP ILO Amplifier, DELL OpenManage usw.).<\/p>\n<p>F\u00fcr die Installation des Betriebssystems auf physischen Servern haben wir allen gut bekannten Cobbler verwendet, in dem eine Reihe abgestimmter Installationsprofile mit dem Betriebsteam definiert sind. Bei der Hinzuf\u00fcgung eines neuen Servers zur Infrastruktur verband der Ingenieur die MAC-Adresse des Servers mit dem erforderlichen Profil in Cobbler. Bei der ersten Netzwerkstart erhielt der Server eine tempor\u00e4re Adresse und ein aktuelles Betriebssystem. Danach wurde er in die Ziel-VLAN\/IP-Adresse umgeschaltet und die Arbeit dort fortgesetzt. Ja, das \u00c4ndern der VLAN ben\u00f6tigt Zeit und erfordert Koordination, aber es bietet zudem zus\u00e4tzlichen Schutz vor einer versehentlichen Installation des Servers in der Produktionsumgebung.<\/p>\n<p>Virtuelle Server haben wir auf der Grundlage von Vorlagen erstellt, die mit HashiCorp Packer vorbereitet wurden. Der Grund war der gleiche: um m\u00f6gliche menschliche Fehler bei der Installation des Betriebssystems zu verhindern. Im Gegensatz zu physischen Servern erm\u00f6glicht Packer jedoch, kein PXE, Netzwerkboote und VLAN-Wechsel zu verwenden. Dies erleichterte und vereinfachte die Erstellung virtueller Server. <\/p>\n<p><img decoding=\"async\" alt=\"Ein Thriller \u00fcber die Serverkonfiguration ohne Wunder mit Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/8cde23a4ad2ba1573bc88ec174bfe6b5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Abb. 1. Verwaltung der Installation von Betriebssystemen.<\/i><\/p>\n<h1>Geheimnisverwaltung<\/h1>\n<p>\nJedes Konfigurationsmanagementsystem enth\u00e4lt Daten, die vor normalen Benutzern verborgen werden m\u00fcssen, aber zur Vorbereitung von Systemen erforderlich sind. Dazu geh\u00f6ren Passw\u00f6rter lokaler Benutzer und Dienstkonten, Schl\u00fcssel f\u00fcr Zertifikate, verschiedene API-Token usw. Diese werden im Allgemeinen als \u201eGeheimnisse\u201c bezeichnet.<\/p>\n<p>Wenn von Anfang an nicht festgelegt wird, wo und wie diese Geheimnisse gespeichert werden, sind je nach Strenge der Informationssicherheitsanforderungen solche Speicherarten wahrscheinlich:<\/p>\n<ul>\n<li>direkt im Management-Code der Konfiguration oder in Dateien im Repository;<\/li>\n<li>in spezialisierten Tools f\u00fcr das Konfigurationsmanagement (zum Beispiel Ansible Vault);<\/li>\n<li>in CI\/CD-Systemen (Jenkins\/TeamCity\/GitLab\/usw.) oder in Systemen des Konfigurationsmanagements (Ansible Tower\/Ansible AWX);<\/li>\n<li>au\u00dferdem k\u00f6nnen Geheimnisse im \u201eManuellen Modus\u201c \u00fcbergeben werden. Zum Beispiel werden sie an einem vereinbarten Ort abgelegt und dann von den Systemen des Konfigurationsmanagements verwendet;<\/li>\n<li>verschiedene Kombinationen der oben beschriebenen Methoden.<\/li>\n<\/ul>\n<p>\nJede Methode hat ihre eigenen Nachteile. Der Hauptnachteil besteht darin, dass es an Zugriffspolitiken f\u00fcr Geheimnisse mangelt: Es ist nicht m\u00f6glich oder schwierig festzustellen, wer welche Geheimnisse nutzen kann. Ein weiterer Nachteil ist das Fehlen einer Zugriffsauditierung und eines vollst\u00e4ndigen Lebenszyklus. Wie schnell kann man zum Beispiel einen \u00f6ffentlichen Schl\u00fcssel ersetzen, der im Code und in mehreren zusammenh\u00e4ngenden Systemen vermerkt ist?<\/p>\n<p>Wir haben ein zentrales Geheimnisspeicher-System namens HashiCorp Vault verwendet. Das hat uns erm\u00f6glicht: <\/p>\n<ul>\n<li>Geheimnisse sicher zu speichern. Sie sind verschl\u00fcsselt, und selbst wenn jemand Zugriff auf die Datenbank des Vault-Speichers erh\u00e4lt (zum Beispiel durch Wiederherstellung aus einem Backup), kann er die dort speicherten Geheimnisse nicht lesen; <\/li>\n<li>Zugriffspolitiken f\u00fcr Geheimnisse zu organisieren. Nutzern und Anwendungen stehen nur die ihnen \u201ezugewiesenen\u201c Geheimnisse zur Verf\u00fcgung;<\/li>\n<li>Zugriffsaudits f\u00fcr Geheimnisse durchzuf\u00fchren. Alle Aktionen mit Geheimnissen werden im Audit-Log von Vault aufgezeichnet;<\/li>\n<li>einen vollst\u00e4ndigen \u201eLebenszyklus\u201c f\u00fcr den Umgang mit Geheimnissen zu organisieren. Man kann sie erstellen, widerrufen, Fristen festlegen usw.<\/li>\n<li>sich leicht mit anderen Systemen zu integrieren, die Zugriff auf Geheimnisse ben\u00f6tigen;<\/li>\n<li>und auch Durchg\u00e4ngige Verschl\u00fcsselung, Einmalpassw\u00f6rter f\u00fcr das Betriebssystem und die Datenbanken, Zertifikate autorisierter Stellen usw. anzuwenden. <\/li>\n<\/ul>\n<p>\nKommen wir nun zu dem zentralen System f\u00fcr Authentifizierung und Autorisierung. Man h\u00e4tte auch darauf verzichten k\u00f6nnen, aber die Verwaltung von Nutzern in vielen Begleitsystemen w\u00e4re zu kompliziert. Wir haben die Authentifizierung und Autorisierung \u00fcber einen LDAP-Dienst eingerichtet. Andernfalls m\u00fcsste man im gleichen Vault kontinuierlich Authentifizierungstokens f\u00fcr Nutzer generieren und verwalten. Die Entfernung und Hinzuf\u00fcgung von Nutzern w\u00fcrde sich in einen Quest verwandeln: \"Habe ich \u00fcberall diesen Benutzer erstellt\/entfernt?\" <\/p>\n<p>Wir f\u00fcgen unserer Systemarchitektur eine weitere Ebene hinzu: das Management von Geheimnissen und zentrale Authentifizierung\/Autorisierung:<\/p>\n<p><img decoding=\"async\" alt=\"Ein Thriller \u00fcber die Serverkonfiguration ohne Wunder mit Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/993e863417898c39940fe0bc9ee55b1e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Abbildung 2. Management von Geheimnissen.<\/i><\/p>\n<h1>Konfigurationsmanagement<\/h1>\n<p>\nWir sind zum Kern angekommen \u2014 zum CMS-System. In unserem Fall handelt es sich um die Kombination von Ansible und Red Hat Ansible AWX. <\/p>\n<p>Anstelle von Ansible k\u00f6nnen auch Chef, Puppet, SaltStack in Betracht gezogen werden. Wir haben uns aus mehreren Gr\u00fcnden f\u00fcr Ansible entschieden. <\/p>\n<ul>\n<li>Erstens, die Vielseitigkeit. Die Menge an bereits verf\u00fcgbaren Modulen zur Verwaltung <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ansible.com\/ansible\/latest\/modules\/modules_by_category.html\">beeindruckt.<\/a><\/noindex>. Und wenn etwas fehlt, kann man auf GitHub und Galaxy nachsehen. <\/li>\n<li>Zweitens m\u00fcssen keine Agenten auf der verwalteten Hardware installiert und gewartet werden, man muss nicht beweisen, dass sie die Last nicht st\u00f6ren, und best\u00e4tigen, dass es keine \"Backdoors\" gibt. <\/li>\n<li>Drittens hat Ansible eine niedrige Einstiegsh\u00fcrde. Ein f\u00e4higer Ingenieur kann am ersten Tag der Arbeit mit dem Produkt ein funktionierendes Playbook schreiben.<\/li>\n<\/ul>\n<p>\nDoch allein Ansible war uns in einer Produktionsumgebung nicht genug. Andernfalls h\u00e4tten wir viele Probleme mit der Zugangsbeschr\u00e4nkung und der \u00dcberwachung von Administratorenaktionen gehabt. Wie kann der Zugang eingeschr\u00e4nkt werden? Es war n\u00f6tig, dass jede Abteilung ihren \"eigenen\" Satz von Servern verwaltet (sprich \u2014 Ansible-Playbook ausf\u00fchrt). Wie kann man bestimmten Mitarbeitern die Ausf\u00fchrung bestimmter Ansible-Playbooks erlauben? Oder wie verfolgt man, wer ein Playbook ausgef\u00fchrt hat, ohne zahlreiche lokale Benutzerkonten auf den Servern und der mit Ansible verwalteten Hardware einzurichten?<\/p>\n<p>Die meisten solcher Fragen werden von Red Hat <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ansible.com\/products\/tower\">Ansible Tower<\/a><\/noindex>, oder seinem Open-Source-Upstream-Projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ansible\/awx\">Ansible AWX<\/a><\/noindex>. Daher haben wir es unserem Kunden bevorzugt. <\/p>\n<p>Und noch eine Nuance zum Portrait unseres CMS-Systems. Ansible-Playbooks m\u00fcssen in Code-Repository-Verwaltungssystemen gespeichert werden. In unserem Fall ist das <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/install\/\">GitLab CE.<\/a><\/noindex>.<\/p>\n<p>Somit verwaltet die Kombination aus Ansible\/Ansible AWX\/GitLab die Konfigurationen (siehe Abb. 3). Nat\u00fcrlich sind AWX\/GitLab mit einem einheitlichen Authentifizierungssystem integriert, und das Ansible-Playbook ist mit HashiCorp Vault verbunden. Konfigurationen gelangen nur \u00fcber Ansible AWX in die Produktionsumgebung, wo alle \"Spielregeln\" festgelegt sind: wer was konfigurieren kann, woher der Code f\u00fcr die Konfigurationsverwaltung des CMS kommt usw.<\/p>\n<p><img decoding=\"async\" alt=\"Ein Thriller \u00fcber die Serverkonfiguration ohne Wunder mit Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/f4f5b3904a2145d7283cd52f921bca89.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Abb. 3. Konfigurationsmanagement.<\/i><\/p>\n<h1>Testmanagement<\/h1>\n<p>\nUnsere Konfiguration wird in Form von Code dargestellt. Daher sind wir gezwungen, nach den gleichen Regeln zu spielen wie die Softwareentwickler. Wir mussten die Prozesse f\u00fcr Entwicklung, kontinuierliche Tests, Bereitstellung und Anwendung des Konfigurationscodes auf Produktionsservern organisieren.<\/p>\n<p>Wenn dies nicht sofort erledigt wird, w\u00fcrden die geschriebenen Rollen f\u00fcr die Konfiguration entweder nicht mehr unterst\u00fctzt und ge\u00e4ndert oder k\u00f6nnten nicht mehr in der Produktion gestartet werden. Das Heilmittel gegen dieses Problem ist bekannt und hat sich in diesem Projekt bew\u00e4hrt:<\/p>\n<ul>\n<li>jede Rolle ist mit Modultests abgedeckt;<\/li>\n<li>Tests werden automatisch bei jeder \u00c4nderung im Code, der die Konfigurationen steuert, ausgef\u00fchrt;<\/li>\n<li>\u00c4nderungen im Code zur Verwaltung von Konfigurationen gelangen nur nach erfolgreichem Bestehen aller Tests und des Code-Reviews in die Produktionsumgebung.<\/li>\n<\/ul>\n<p>\nDie Entwicklung des Codes und die Verwaltung der Konfigurationen wurden ruhiger und vorhersehbarer. F\u00fcr die Organisation kontinuierlicher Tests haben wir die GitLab CI\/CD-Tools genutzt und als Framework f\u00fcr die Organisation der Tests <noindex><a rel=\"nofollow\" href=\"https:\/\/molecule.readthedocs.io\/en\/latest\/\">Ansible Molecule<\/a><\/noindex>.<\/p>\n<p>Bei jeder \u00c4nderung im Code zur Verwaltung der Konfigurationen ruft GitLab CI\/CD Molecule auf: <\/p>\n<ul>\n<li>es \u00fcberpr\u00fcft die Syntax des Codes, <\/li>\n<li>startet einen Docker-Container, <\/li>\n<li>wendet den ge\u00e4nderten Code im erstellten Container an, <\/li>\n<li>pr\u00fcft die Rolle auf Idempotenz und f\u00fchrt Tests f\u00fcr diesen Code aus (die Granularit\u00e4t liegt hier auf der Ebene der Ansible-Rolle, siehe Abb. 4).<\/li>\n<\/ul>\n<p>\nWir haben die Konfigurationen in die Produktionsumgebung mit Hilfe von Ansible AWX ausgef\u00fchrt. Die f\u00fcr den Betrieb verantwortlichen Ingenieure wendeten die \u00c4nderungen an der Konfiguration \u00fcber vordefinierte Vorlagen an. AWX forderte bei jedem Antrag selbstst\u00e4ndig die neueste Version des Codes vom Master-Branch in GitLab an. So schlossen wir die Verwendung von ungetestetem oder veraltetem Code in der Produktionsumgebung aus. Nat\u00fcrlich gelangte der Code in den Master-Branch nur nach Tests, \u00dcberpr\u00fcfung und Abstimmung.<\/p>\n<p><img decoding=\"async\" alt=\"Ein Thriller \u00fcber die Serverkonfiguration ohne Wunder mit Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/aa8f6205f05792a6a1120ad7360ab102.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Abb. 4. Automatisierte Tests von Rollen in GitLab CI\/CD.<\/i><\/p>\n<p>Es gibt noch ein Problem im Zusammenhang mit dem Betrieb von Produktionssystemen. In der Praxis ist es sehr schwierig, \u00c4nderungen an der Konfiguration nur \u00fcber den CMS-Code vorzunehmen. Es ergeben sich unvorhergesehene Situationen, in denen ein Ingenieur die Konfiguration \"hier und jetzt\" \u00e4ndern muss, ohne auf die Korrektur des Codes, Tests, Abstimmungen usw. zu warten.<\/p>\n<p>Infolgedessen entstehen durch manuelle \u00c4nderungen Abweichungen in der Konfiguration auf identischer Hardware (zum Beispiel haben die Knoten eines HA-Clusters unterschiedliche Konfigurationen der sysctl-Einstellungen). Oder die tats\u00e4chliche Konfiguration auf der Hardware weicht von der ab, die im CMS-Code festgelegt ist. <\/p>\n<p>Daher pr\u00fcfen wir zus\u00e4tzlich zu kontinuierlichen Tests Produktionsumgebungen auf Abweichungen in den Konfigurationen. Wir haben die einfachste Option gew\u00e4hlt: den Code der CMS-Konfiguration im \u201edry run\u201c-Modus auszuf\u00fchren, also ohne \u00c4nderungen anzuwenden, aber mit Benachrichtigungen \u00fcber alle Unterschiede zwischen der geplanten und der tats\u00e4chlichen Konfiguration. Wir haben dies durch regelm\u00e4\u00dfige Ausf\u00fchrungen aller Ansible-Playbooks mit der Option \u201e&#8212;check\u201c auf den Produktionsservern implementiert. Wie immer ist Ansible AWX f\u00fcr die Ausf\u00fchrung und Aktualit\u00e4t der Playbooks verantwortlich (siehe Abbildung 5):<\/p>\n<p><img decoding=\"async\" alt=\"Ein Thriller \u00fcber die Serverkonfiguration ohne Wunder mit Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/108a5a473f60ab76ee15f9334ebcbab7.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Abb. 5. \u00dcberpr\u00fcfungen auf Konfigurationsabweichungen in Ansible AWX.<\/i><\/p>\n<p>Nach den Pr\u00fcfungen sendet AWX einen Bericht \u00fcber die Abweichungen an die Administratoren. Diese analysieren die problematische Konfiguration und beheben sie dann \u00fcber korrigierte Playbooks. So halten wir die Konfiguration in der Produktionsumgebung aufrecht, und das CMS befindet sich immer in einem aktuellen und synchronisierten Zustand. Das befreit von unangenehmen \u201aWundern\u2018, wenn der CMS-Code auf \u201aProduktions\u2018-Servern angewendet wird.<\/p>\n<p>Jetzt haben wir eine wichtige Testebene, die aus Ansible AWX\/GitLab\/Molecule besteht (Abb. 6).<\/p>\n<p><img decoding=\"async\" alt=\"Ein Thriller \u00fcber die Serverkonfiguration ohne Wunder mit Configuration Management\" src=\"\/wp-content\/uploads\/2020\/07\/f487f5603e90b0c753fb9decf9018b11.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Abb. 6. Testmanagement.<\/i><\/p>\n<p>Schwierig? Ich kann nicht widersprechen. Aber ein solches Komplexmanagementsystem f\u00fcr Konfigurationen ist eine umfassende Antwort auf viele Fragen, die mit der Automatisierung der Serverkonfiguration zusammenh\u00e4ngen. Jetzt hat der Einzelh\u00e4ndler immer eine klar definierte Konfiguration f\u00fcr Standardserver. Das CMS wird, im Gegensatz zu einem Ingenieur, die notwendigen Einstellungen nicht vergessen, Benutzer erstellen und Dutzende oder Hunderte von erforderlichen Anpassungen vornehmen.<\/p>\n<p>In den Einstellungen der Server und Umgebungen gibt es heute kein \u201ageheimes Wissen\u2018 mehr. Alle erforderlichen Besonderheiten sind in den Playbooks zusammengefasst. Kein Platz mehr f\u00fcr Kreativit\u00e4t und nebul\u00f6se Anweisungen: \u201e<i>setze wie bei einem normalen Oracle, aber da m\u00fcssen ein paar sysctl-Einstellungen vorgenommen werden und Benutzer mit der entsprechenden UID hinzugef\u00fcgt werden. Frag die Leute aus dem Betrieb, sie wissen Bescheid.<\/i>\u00bb. <\/p>\n<p>Die M\u00f6glichkeit, Konfigurationsabweichungen zu erkennen und sie im Voraus zu beheben, bringt Ruhe. Ohne ein Konfigurationsmanagementsystem sieht das normalerweise anders aus. Probleme sammeln sich an, bis sie eines Tages in der Produktion \u201aexplodieren\u2018. Danach wird eine Ursachenanalyse durchgef\u00fchrt, die Konfigurationen werden \u00fcberpr\u00fcft und korrigiert. Und der Zyklus beginnt von neuem. <\/p>\n<p>Und nat\u00fcrlich haben wir die Inbetriebnahme der Server von mehreren Tagen auf Stunden beschleunigt.<\/p>\n<p>In der Silvesternacht, als die Kinder voller Freude Geschenke auspackten und die Erwachsenen ihre W\u00fcnsche beim Glockenl\u00e4uten \u00e4u\u00dferten, haben unsere Ingenieure das SAP-System auf neue Server migriert. Selbst der Weihnachtsmann w\u00fcrde sagen, dass die besten Wunder gut vorbereitet sind. <\/p>\n<p>P.S. Unser Team hat oft mit der Herausforderung zu k\u00e4mpfen, dass Auftraggeber die Aufgabe der Konfigurationsverwaltung so einfach wie m\u00f6glich l\u00f6sen m\u00f6chten. Ideal w\u00e4re es, wenn es wie durch Zauberhand mit einem einzigen Tool geschehen k\u00f6nnte. Aber im Leben ist alles komplizierter (ja, wieder keine silbernen Kugeln geliefert): Es bleibt nicht aus, einen ganzen Prozess mit den f\u00fcr das Team des Auftraggebers geeigneten Werkzeugen zu schaffen.<\/p>\n<p><i>Autor: Sergey Artemov, Architekt der Abteilung <\/i><noindex><a rel=\"nofollow\" href=\"https:\/\/portal.jet.su\/about\/company\/structure\/?set_filter_structure=Y&amp;structure_UF_DEPARTMENT=56656\"><i>DevOps-L\u00f6sungen<\/i><\/a><\/noindex><i> \u201eInforsysteme Jet\u201c<\/i><br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jetinfosystems\/blog\/513132\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u0435\u043b\u043e \u0431\u043b\u0438\u0437\u0438\u043b\u043e\u0441\u044c \u043a \u041d\u043e\u0432\u043e\u043c\u0443 \u0433\u043e\u0434\u0443. \u0414\u0435\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u044b \u0443\u0436\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u0414\u0435\u0434\u0443 \u041c\u043e\u0440\u043e\u0437\u0443 \u0438\u043b\u0438 \u0437\u0430\u0433\u0430\u0434\u0430\u043b\u0438 \u0441\u0435\u0431\u0435 \u043f\u043e\u0434\u0430\u0440\u043a\u0438, \u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0440\u0438\u0442\u0435\u0439\u043b\u0435\u0440\u043e\u0432 \u2014 \u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0441\u044f \u043a \u0430\u043f\u043e\u0444\u0435\u043e\u0437\u0443 \u043f\u0440\u043e\u0434\u0430\u0436. \u0412 \u0434\u0435\u043a\u0430\u0431\u0440\u0435 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043d\u0430 \u0435\u0433\u043e \u0426\u041e\u0414 \u0432\u044b\u0440\u0430\u0441\u0442\u0430\u0435\u0442 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u0440\u0435\u0448\u0438\u043b\u0430 \u043c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440 \u0438 \u0432\u0432\u0435\u0441\u0442\u0438 \u0432 \u0441\u0442\u0440\u043e\u0439 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043d\u043e\u0432\u044b\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0432\u043c\u0435\u0441\u0442\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":90387,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-90386","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u0435\u043b\u043e \u0431\u043b\u0438\u0437\u0438\u043b\u043e\u0441\u044c \u043a \u041d\u043e\u0432\u043e\u043c\u0443 \u0433\u043e\u0434\u0443. \u0414\u0435\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u044b \u0443\u0436\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u0414\u0435\u0434\u0443 \u041c\u043e\u0440\u043e\u0437\u0443 \u0438\u043b\u0438 \u0437\u0430\u0433\u0430\u0434\u0430\u043b\u0438 \u0441\u0435\u0431\u0435 \u043f\u043e\u0434\u0430\u0440\u043a\u0438, \u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0440\u0438\u0442\u0435\u0439\u043b\u0435\u0440\u043e\u0432 \u2014 \u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0441\u044f \u043a \u0430\u043f\u043e\u0444\u0435\u043e\u0437\u0443 \u043f\u0440\u043e\u0434\u0430\u0436.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0422\u0440\u0438\u043b\u043b\u0435\u0440 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0431\u0435\u0437 \u0447\u0443\u0434\u0435\u0441 \u0441 Configuration Management | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u0435\u043b\u043e \u0431\u043b\u0438\u0437\u0438\u043b\u043e\u0441\u044c \u043a \u041d\u043e\u0432\u043e\u043c\u0443 \u0433\u043e\u0434\u0443. \u0414\u0435\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u044b \u0443\u0436\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u0414\u0435\u0434\u0443 \u041c\u043e\u0440\u043e\u0437\u0443 \u0438\u043b\u0438 \u0437\u0430\u0433\u0430\u0434\u0430\u043b\u0438 \u0441\u0435\u0431\u0435 \u043f\u043e\u0434\u0430\u0440\u043a\u0438, \u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0440\u0438\u0442\u0435\u0439\u043b\u0435\u0440\u043e\u0432 \u2014 \u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0441\u044f \u043a \u0430\u043f\u043e\u0444\u0435\u043e\u0437\u0443 \u043f\u0440\u043e\u0434\u0430\u0436.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-31T11:42:20+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-31T11:42:20+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Thriller \u00fcber die Serverkonfiguration ohne Wunder mit Configuration Management | ProHoster","description":"Das Jahr neigte sich dem Ende zu. Die Kinder im ganzen Land hatten bereits Briefe an den Weihnachtsmann geschickt oder sich Geschenke gew\u00fcnscht, w\u00e4hrend der Hauptdarsteller ihrer W\u00fcnsche \u2014 einer der gro\u00dfen Einzelh\u00e4ndler \u2014 sich auf den H\u00f6hepunkt des Verkaufs vorbereitete.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0422\u0440\u0438\u043b\u043b\u0435\u0440 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0431\u0435\u0437 \u0447\u0443\u0434\u0435\u0441 \u0441 Configuration Management | ProHoster","og:description":"\u0414\u0435\u043b\u043e \u0431\u043b\u0438\u0437\u0438\u043b\u043e\u0441\u044c \u043a \u041d\u043e\u0432\u043e\u043c\u0443 \u0433\u043e\u0434\u0443. \u0414\u0435\u0442\u0438 \u0432\u0441\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u044b \u0443\u0436\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u0414\u0435\u0434\u0443 \u041c\u043e\u0440\u043e\u0437\u0443 \u0438\u043b\u0438 \u0437\u0430\u0433\u0430\u0434\u0430\u043b\u0438 \u0441\u0435\u0431\u0435 \u043f\u043e\u0434\u0430\u0440\u043a\u0438, \u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u0440\u0438\u0442\u0435\u0439\u043b\u0435\u0440\u043e\u0432 \u2014 \u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0441\u044f \u043a \u0430\u043f\u043e\u0444\u0435\u043e\u0437\u0443 \u043f\u0440\u043e\u0434\u0430\u0436.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/triller-o-nastrojke-serverov-bez-chudes-s-configuration-management","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-31T11:42:20+00:00","article:modified_time":"2020-07-31T11:42:20+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"90386","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:52:34","updated":"2022-09-28 09:47:54","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/90386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=90386"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/90386\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/90387"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=90386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=90386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=90386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}