{"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 Ende zu. Die Kinder im ganzen Land hatten bereits Briefe an den Weihnachtsmann geschickt oder sich Geschenke gew\u00fcnscht, und der Hauptakteur \u2013 einer der gro\u00dfen Einzelh\u00e4ndler \u2013 bereitete sich auf den H\u00f6hepunkt des Verkaufs vor. Im Dezember steigt die Last auf sein Rechenzentrum um ein Vielfaches. Daher beschloss das Unternehmen, das Rechenzentrum zu modernisieren und mehrere Dutzend neue Server in Betrieb zu nehmen, um die veraltete Hardware zu ersetzen. An dieser Stelle endet das M\u00e4rchen vor dem Hintergrund von fallenden Schneeflocken, und ein Thriller beginnt. <\/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 Ausr\u00fcstung kam mehrere Monate vor dem Verkaufspeak auf die Fl\u00e4che. Der Betrieb wusste nat\u00fcrlich, wie man die Server konfiguriert, um sie in die Produktionsumgebung zu integrieren. Doch wir mussten dies automatisieren und den menschlichen Faktor ausschlie\u00dfen. Zudem ersetzten die Server vor der Migration eine Reihe von SAP-Systemen, die f\u00fcr das Unternehmen von entscheidender Bedeutung waren. <\/p>\n<p>Die Einf\u00fchrung der neuen Server war strikt an eine Frist gebunden. Eine Verschiebung h\u00e4tte sowohl die Auslieferung von einer Milliarde Geschenken als auch die Migration der Systeme gef\u00e4hrdet. Einen Termin zu \u00e4ndern, w\u00e4re selbst f\u00fcr ein Team wie das des Weihnachtsmanns oder Santa Claus nicht m\u00f6glich gewesen \u2013 das Verschieben des SAP-Systems zur Lagerverwaltung kann nur einmal im Jahr erfolgen. Vom 31. Dezember bis zum 1. Januar stellen die riesigen Lager des Einzelh\u00e4ndlers, die insgesamt der Gr\u00f6\u00dfe von 20 Fu\u00dfballfeldern entsprechen, f\u00fcr 15 Stunden ihren Betrieb ein. Und das ist das einzige Zeitfenster f\u00fcr den Systemumzug. Wir hatten keinen Spielraum f\u00fcr Fehler beim Einsatz der Server. <\/p>\n<p>Ich erl\u00e4utere gleich: 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 Konfigurationsmanagement-System besteht aus mehreren Ebenen. Die zentrale Komponente ist das CMS-System. Bei einem industriellen Einsatz 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 die grundlegenden Konfigurationen des Betriebssystems und verhindert den Einfluss menschlicher Fehler. <\/p>\n<p>Mit diesem System erhielten wir standardisierte und f\u00fcr die weitere Automatisierung geeignete Serverinstanzen mit einem Betriebssystem. Bei der \"Verteilung\" wurden minimale lokale Benutzer und \u00f6ffentliche SSH-Schl\u00fcssel eingerichtet sowie eine einheitliche Betriebssystemkonfiguration angewendet. Wir konnten die Server \u00fcber die CMS sicher verwalten und waren uns sicher, dass es auf Betriebssystemebene keine \u00dcberraschungen gab. <\/p>\n<p>Die \"Maximalaufgabe\" f\u00fcr das Installationsmanagementsystem besteht darin, Server automatisch von der BIOS-\/Firmware-Ebene bis zum Betriebssystem einzurichten. Vieles h\u00e4ngt hier von der Hardware und den Konfigurationsaufgaben ab. F\u00fcr heterogene Hardware k\u00f6nnte 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 Verwaltungsmittel zu verwenden (zum Beispiel HP ILO Amplifier, DELL OpenManage usw.).<\/p>\n<p>F\u00fcr die Installation von Betriebssystemen auf physischen Servern haben wir den allen gut bekannten Cobbler verwendet, der eine Reihe von mit dem Betriebsteam abgestimmten Installationsprofilen enth\u00e4lt. Bei der Hinzuf\u00fcgung eines neuen Servers zur Infrastruktur koppelte 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 frisches Betriebssystem. Danach wurde er in das Ziel-VLAN\/IP-Adressierung \u00fcbertragen und die Arbeit dort fortgesetzt. Ja, die VLAN-\u00c4nderung kostet Zeit und erfordert Abstimmungen, aber sie bietet zus\u00e4tzlichen Schutz vor einer versehentlichen Installation des Servers in der Produktionsumgebung.<\/p>\n<p>Virtuelle Server haben wir auf Basis von mit HashiCorp Packer vorbereiteten Vorlagen erstellt. Der Grund war der gleiche: m\u00f6gliche menschliche Fehler bei der Installation des Betriebssystems zu vermeiden. Im Gegensatz zu physischen Servern erm\u00f6glicht es Packer jedoch, keine PXE, Netzwerkstart und VLAN-\u00c4nderungen zu verwenden. Das 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>Verwaltung von Geheimnissen<\/h1>\n<p>\nJedes Konfigurationsmanagementsystem enth\u00e4lt Daten, die vor regul\u00e4ren Benutzern verborgen bleiben sollten, aber zur Systemvorbereitung erforderlich sind. Dazu geh\u00f6ren Passw\u00f6rter lokaler Benutzer und Servicedatenkonten, Zertifikatsschl\u00fcssel, verschiedene API-Tokens usw. Diese werden normalerweise als \u201eSecrets\u201c bezeichnet.<\/p>\n<p>Wenn von Anfang an nicht festgelegt wird, wo und wie diese Secrets gespeichert werden sollen, k\u00f6nnen je nach Strenge der Anforderungen an die Informationssicherheit folgende Speicherarten auftreten:<\/p>\n<ul>\n<li>direkt im Code des Konfigurationsmanagements oder in Dateien im Repository;<\/li>\n<li>in spezialisierten Konfigurationsmanagement-Tools (zum Beispiel Ansible Vault);<\/li>\n<li>in CI\/CD-Systemen (Jenkins\/TeamCity\/GitLab usw.) oder in Konfigurationsmanagementsystemen (Ansible Tower\/Ansible AWX);<\/li>\n<li>auch k\u00f6nnen Secrets manuell \u00fcbergeben werden. Beispielsweise werden sie an einem vereinbarten Ort bereitgestellt und dann von den Konfigurationsmanagementsystemen verwendet;<\/li>\n<li>verschiedene Kombinationen der oben beschriebenen Methoden.<\/li>\n<\/ul>\n<p>\nJede Methode hat ihre eigenen Nachteile. Der Hauptnachteil ist das Fehlen von Zugriffspolitiken f\u00fcr Secrets: Es ist nicht m\u00f6glich oder schwierig festzustellen, wer bestimmte Secrets verwenden kann. Ein weiterer Nachteil ist das Fehlen von Zugriffs-Audits und einem vollst\u00e4ndigen Lebenszyklus. Wie schnell kann man beispielsweise einen \u00f6ffentlichen Schl\u00fcssel ersetzen, der im Code und in mehreren angrenzenden Systemen vermerkt ist?<\/p>\n<p>Wir haben ein zentrales Secret-Storage mit HashiCorp Vault verwendet. Dadurch konnten wir: <\/p>\n<ul>\n<li>Secrets sicher speichern. Diese sind verschl\u00fcsselt, und selbst wenn jemand Zugriff auf die Datenbank des Vault-Storage erh\u00e4lt (zum Beispiel durch Wiederherstellung aus einem Backup), kann er die dort gespeicherten Secrets nicht lesen; <\/li>\n<li>Zugriffspolitiken f\u00fcr Secrets organisieren. Nutzern und Anwendungen stehen nur die ihnen \"zugewiesenen\" Secrets zur Verf\u00fcgung;<\/li>\n<li>Zugriffs-Audits f\u00fcr Secrets durchf\u00fchren. Alle Aktionen mit Secrets werden im Audit-Protokoll von Vault aufgezeichnet;<\/li>\n<li>einen vollst\u00e4ndigen \"Lebenszyklus\" f\u00fcr den Umgang mit Secrets organisieren. Diese k\u00f6nnen erstellt, widerrufen, mit Ablaufdaten versehen usw. werden.<\/li>\n<li>sich leicht mit anderen Systemen integrieren, die Zugriff auf Secrets ben\u00f6tigen;<\/li>\n<li>und auch durchgehende Verschl\u00fcsselung, Einmalpassw\u00f6rter f\u00fcr OS und DB, Zertifikate von autorisierten Stellen usw. anzuwenden. <\/li>\n<\/ul>\n<p>\nJetzt wechseln wir zum zentralen Authentifizierungs- und Autorisierungssystem. Man h\u00e4tte es auch ohne auskommen k\u00f6nnen, aber die Verwaltung von Benutzern in vielen unterst\u00fctzenden Systemen ist zu komplex. Wir haben die Authentifizierung und Autorisierung \u00fcber den LDAP-Dienst eingerichtet. Andernfalls m\u00fcsste man im gleichen Vault st\u00e4ndig Authentifizierungstoken f\u00fcr die Benutzer ausstellen und verwalten. Das Hinzuf\u00fcgen und Entfernen von Benutzern h\u00e4tte sich dann in eine Quest verwandelt: 'Habe ich \u00fcberall dieses Benutzerkonto erstellt\/getilgt?' <\/p>\n<p>Wir f\u00fcgen unserer Systemarchitektur eine weitere Ebene hinzu: das Management von Secrets sowie die 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>Abb. 2. Management von Secrets.<\/i><\/p>\n<h1>Konfigurationsmanagement<\/h1>\n<p>\nWir sind nun beim Kern angekommen \u2013 beim CMS-System. In unserem Fall ist es die Kombination aus Ansible und Red Hat Ansible AWX. <\/p>\n<p>Statt Ansible k\u00f6nnten auch Chef, Puppet oder SaltStack zum Einsatz kommen. Wir haben uns aus mehreren Gr\u00fcnden f\u00fcr Ansible entschieden. <\/p>\n<ul>\n<li>Erstens zeichnet es sich durch Vielseitigkeit aus. Die Sammlung fertiger Module zur Verwaltung <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.ansible.com\/ansible\/latest\/modules\/modules_by_category.html\">macht einen beeindruckenden Eindruck<\/a><\/noindex>. Sollte etwas fehlen, kann man auf GitHub und Galaxy suchen. <\/li>\n<li>Zweitens m\u00fcssen keine Agenten auf der verwalteten Hardware installiert und gewartet werden, um nachzuweisen, dass sie die Leistung nicht beeintr\u00e4chtigen und das Fehlen von \"Backdoors\" zu best\u00e4tigen. <\/li>\n<li>Drittens hat Ansible eine niedrige Einstiegsh\u00fcrde. Ein versierter Ingenieur kann am ersten Arbeitstag mit dem Produkt ein funktionierendes Playbook schreiben.<\/li>\n<\/ul>\n<p>\nDoch Ansible allein gen\u00fcgte uns nicht in einer produktiven Umgebung. Andernfalls w\u00fcrden viele Probleme mit Zugriffsbeschr\u00e4nkungen und der \u00dcberpr\u00fcfung der Administratorenaktionen entstehen. Wie kann der Zugriff geregelt werden? Es war notwendig, dass jede Abteilung ihre \"eigenen\" Server (d.h. die Ansible Playbooks) verwaltet. Wie kann der Start bestimmter Ansible Playbooks nur f\u00fcr ausgew\u00e4hlte Mitarbeiter genehmigt werden? Oder wie kann verfolgt werden, wer ein Playbook gestartet hat, ohne zahlreiche lokale Benutzerkonten auf den Servern und Ger\u00e4ten, die von Ansible verwaltet werden, anzulegen?<\/p>\n<p>Die meisten dieser Fragen werden von Red Hat beantwortet, <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>. Deshalb haben wir uns f\u00fcr diesen Weg f\u00fcr den Kunden entschieden. <\/p>\n<p>Und noch ein weiterer Punkt zu unserem CMS-System. Das Ansible Playbook muss in einem Code-Repository-Management-System gespeichert werden. Bei uns ist das <noindex><a rel=\"nofollow\" href=\"https:\/\/about.gitlab.com\/install\/\">GitLab CE<\/a><\/noindex>.<\/p>\n<p>Die Konfigurationen werden von einer Kombination aus Ansible\/Ansible AWX\/GitLab verwaltet (siehe Abb. 3). Selbstverst\u00e4ndlich sind AWX\/GitLab in ein einheitliches Authentifizierungssystem integriert, und das Ansible-Playbook ist mit HashiCorp Vault verbunden. Die Konfigurationen gelangen nur \u00fcber Ansible AWX in die Produktionsumgebung, wo alle \"Spielregeln\" festgelegt sind: Wer was konfigurieren kann, wo der Konfigurationscode f\u00fcr CMS herkommt 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 m\u00fcssen wir nach denselben Regeln spielen wie Softwareentwickler. Wir mussten die Prozesse der Entwicklung, kontinuierlichen Tests, Lieferung und Anwendung des Konfigurationscodes auf Produktionsservern organisieren.<\/p>\n<p>Wenn dies nicht sofort geschieht, w\u00fcrden die geschriebenen Rollen f\u00fcr die Konfiguration entweder nicht mehr unterst\u00fctzt und ge\u00e4ndert oder w\u00fcrden den Produktionsbetrieb einstellen. Das Heilmittel gegen diesen Schmerz ist bekannt und hat sich in diesem Projekt bew\u00e4hrt:<\/p>\n<ul>\n<li>jede Rolle ist durch modulare Tests abgedeckt;<\/li>\n<li>Tests werden automatisch bei jeder \u00c4nderung im Konfigurationscode ausgef\u00fchrt;<\/li>\n<li>\u00c4nderungen im Konfigurationsmanagement-Code gelangen nur in die Produktionsumgebung, nachdem alle Tests und das Code-Review erfolgreich abgeschlossen sind.<\/li>\n<\/ul>\n<p>\nDie Entwicklung von Code und das Konfigurationsmanagement sind inzwischen ruhiger und vorhersehbarer. F\u00fcr die Organisation des kontinuierlichen Testens haben wir das Werkzeug GitLab CI\/CD verwendet, und als Test-Framework haben wir <noindex><a rel=\"nofollow\" href=\"https:\/\/molecule.readthedocs.io\/en\/latest\/\">Ansible Molecule<\/a><\/noindex>.<\/p>\n<p>Bei jeder \u00c4nderung im Konfigurationsmanagement-Code l\u00f6st GitLab CI\/CD Molecule aus: <\/p>\n<ul>\n<li>dies pr\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 durch (die Granularit\u00e4t liegt hier auf der Ebene der Ansible-Rolle, siehe Abb. 4).<\/li>\n<\/ul>\n<p>\nDie Konfigurationen in die Produktionsumgebung haben wir mit Ansible AWX bereitgestellt. Die f\u00fcr den Betrieb verantwortlichen Ingenieure haben \u00c4nderungen in der Konfiguration \u00fcber zuvor definierte Vorlagen angewendet. AWX hat bei jeder Anwendung eigenst\u00e4ndig die neueste Version des Codes von dem Master-Branch in GitLab \u201eangefordert\u201c. So haben wir ausgeschlossen, dass unverifizierter oder veralteter Code in der Produktionsumgebung verwendet wird. Selbstverst\u00e4ndlich gelangte der Code in den Master-Branch nur nach Pr\u00fcfung, Durchsicht und Genehmigung.<\/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. Automatisiertes Testen von Rollen in GitLab CI\/CD.<\/i><\/p>\n<p>Es gibt ein weiteres Problem im Zusammenhang mit dem Betrieb von Produktionssystemen. In der Praxis ist es sehr schwierig, \u00c4nderungen in der Konfiguration nur \u00fcber den CMS-Code vorzunehmen. Es treten unvorhergesehene Situationen auf, in denen der Ingenieur die Konfiguration \u201ehier und jetzt\u201c \u00e4ndern muss, ohne auf die Korrektur des Codes, Tests, Genehmigungen usw. zu warten.<\/p>\n<p>Infolgedessen entstehen durch manuelle \u00c4nderungen Abweichungen in der Konfiguration auf identischer Hardware (zum Beispiel unterschiedliche sysctl-Einstellungen an den Knoten eines HA-Clusters). Oder die tats\u00e4chliche Konfiguration auf der Hardware weicht von der im CMS-Code festgelegten Konfiguration ab. <\/p>\n<p>Daher \u00fcberpr\u00fcfen wir neben kontinuierlichen Tests auch die Produktionsumgebungen auf Abweichungen in den Konfigurationen. Wir haben die einfachste Variante gew\u00e4hlt: den Code der CMS-Konfiguration im \u201edry run\u201c-Modus auszuf\u00fchren, das hei\u00dft, ohne \u00c4nderungen anzuwenden, jedoch mit Benachrichtigung \u00fcber alle Abweichungen zwischen der geplanten und der tats\u00e4chlichen Konfiguration. Dies haben wir durch regelm\u00e4\u00dfige Ausf\u00fchrungen aller Ansible-Playbooks mit der Option \u201e--check\u201c auf den Produktionsservern umgesetzt. Wie immer ist Ansible AWX f\u00fcr die Ausf\u00fchrung und Aktualit\u00e4t der Playbooks verantwortlich (siehe Abb. 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 \u00dcberpr\u00fcfungen sendet AWX einen Bericht \u00fcber die Abweichungen an die Administratoren. Diese untersuchen die problematische Konfiguration und beheben sie dann \u00fcber die angepassten Playbooks. So halten wir die Konfiguration in der Produktionsumgebung aufrecht und das CMS bleibt stets aktuell und synchronisiert. Dies befreit uns von unangenehmen \u201eWundern\u201c, wenn der CMS-Code auf \u201eLive\u201c-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? Das kann ich nicht leugnen. Aber ein solches Konfigurationsmanagementsystem ist eine umfassende Antwort auf viele Fragen zur Automatisierung der Serverkonfiguration. Jetzt hat der Einzelh\u00e4ndler eine klar definierte Konfiguration f\u00fcr Standardserver. Das CMS wird, im Gegensatz zu einem Ingenieur, die erforderlichen Einstellungen nicht vergessen, Benutzer erstellen und die Dutzenden oder sogar Hunderte erforderlichen Anpassungen durchf\u00fchren.<\/p>\n<p>In der Server- und Umgebungsconfiguration gibt es heute keine \"geheimen Kenntnisse\" mehr. Alle notwendigen Besonderheiten sind im Playbook dokumentiert. Kein Platz mehr f\u00fcr Kreativit\u00e4t und vage Anweisungen: \u201e<i>setze es wie ein normales Oracle auf, aber dort m\u00fcssen ein paar sysctl-Einstellungen vorgenommen und Benutzer mit den erforderlichen UIDs hinzugef\u00fcgt werden. Frag die Kollegen aus dem Betrieb, die wissen Bescheid.<\/i>\u00bb. <\/p>\n<p>Die M\u00f6glichkeit, Abweichungen in den Konfigurationen zu erkennen und diese im Voraus zu beheben, sorgt f\u00fcr Ruhe. Ohne ein Konfigurationsmanagementsystem sieht das normalerweise anders aus. Probleme h\u00e4ufen sich, bis sie eines Tages in der Produktion \"explodieren\". Dann wird eine Nachbesprechung durchgef\u00fchrt, die Konfigurationen werden \u00fcberpr\u00fcft und angepasst. Und der Zyklus beginnt von neuem. <\/p>\n<p>Und nat\u00fcrlich haben wir den Start der Serverinbetriebnahme von mehreren Tagen auf Stunden beschleunigt.<\/p>\n<p>An Silvester Nacht, als die Kinder fr\u00f6hlich ihre Geschenke auspackten und die Erwachsenen W\u00fcnsche unter dem Glockenl\u00e4uten formulierten, migrierten unsere Ingenieure das SAP-System auf neue Server. Selbst der Weihnachtsmann w\u00fcrde sagen, dass die besten Wunder gut vorbereitet sind. <\/p>\n<p>P.S. Unser Team st\u00f6\u00dft h\u00e4ufig auf die Herausforderung, dass Kunden die Aufgaben des Konfigurationsmanagements so einfach wie m\u00f6glich l\u00f6sen m\u00f6chten. Ideal w\u00e4re es, das Ganze wie durch Zauberei mit einem einzigen Werkzeug zu erledigen. Aber im echten Leben ist es komplexer (ja, wieder keine Silberkugeln geliefert): Es m\u00fcssen ganze Prozesse mit den f\u00fcr das Team des Kunden geeigneten Werkzeugen erstellt werden.<\/p>\n<p><i>Autor: Sergey Artemov, Abteilungsarchitekt <\/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> \u00abInformatiksysteme Jet\u00bb<\/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 4.9.10 - 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. \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\" \/>\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) 4.9.10\" \/>\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. \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\" \/>\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":"Es n\u00e4herte sich das neue Jahr. Kinder im ganzen Land hatten bereits Briefe an den Weihnachtsmann geschickt oder sich Geschenke gew\u00fcnscht, w\u00e4hrend der Hauptakteur, einer der gro\u00dfen Einzelh\u00e4ndler, sich auf den H\u00f6hepunkt des Verkaufs vorbereitete. Im Dezember steigt die Last auf sein Rechenzentrum um ein Vielfaches. Daher beschloss das Unternehmen, das Rechenzentrum zu modernisieren und mehrere Dutzend neue Server in Betrieb zu nehmen.","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. \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","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"},"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}]}}