{"id":33725,"date":"2019-10-31T21:54:21","date_gmt":"2019-10-31T18:54:21","guid":{"rendered":"https:\/\/prohoster.info\/blog\/chto-takoe-devops\/"},"modified":"2019-10-31T21:54:21","modified_gmt":"2019-10-31T18:54:21","slug":"chto-takoe-devops","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-takoe-devops","title":{"rendered":"Was ist DevOps","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Die Definition von DevOps ist sehr komplex, weshalb es immer wieder notwendig ist, die Diskussion dar\u00fcber neu zu beginnen. Allein auf Habr gibt es tausende von Ver\u00f6ffentlichungen zu diesem Thema. Aber wenn Sie dies lesen, wissen Sie wahrscheinlich, was DevOps ist. Denn ich wei\u00df es nicht. Hallo, ich hei\u00dfe <b>Alexander Titov (@<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/osminog\/\">osminog<\/a><\/noindex><\/b>), und wir werden einfach \u00fcber DevOps sprechen und ich werde meine Erfahrungen teilen.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/b3de97caab6db6b0e117f2637a5cbab8.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIch habe lange \u00fcberlegt, wie ich meine Erz\u00e4hlung n\u00fctzlich gestalten kann, daher wird es hier viele Fragen geben \u2013 die, die ich mir selbst stelle, und die, die ich unseren Kunden stelle. Indem ich auf diese Fragen antworte, wird das Verst\u00e4ndnis besser. Ich werde erz\u00e4hlen, warum DevOps aus meiner Sicht notwendig ist, was es ist, wiederum aus meiner Perspektive, und wie man erkennt, dass man sich auf dem Weg zu DevOps befindet, wiederum aus meiner Sicht. Der letzte Punkt wird durch Fragen erfolgen. Indem Sie sich diese selbst stellen, k\u00f6nnen Sie verstehen, ob Ihr Unternehmen auf dem Weg zu DevOps ist oder ob es dabei Probleme gibt.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"php6DfXXG0Y\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/php6DfXXG0Y\/hqdefault.jpg\" alt=\"Video abspielen\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\nEine Zeit lang war ich auf den Wellen von Fusionen und \u00dcbernahmen unterwegs. Zun\u00e4chst arbeitete ich in einem kleinen Startup namens Qik, das dann von einer etwas gr\u00f6\u00dferen Firma namens Skype \u00fcbernommen wurde, die sp\u00e4ter von einer noch gr\u00f6\u00dferen Firma, Microsoft, gekauft wurde. In diesem Moment bekam ich Einblicke, wie sich die Vorstellung von DevOps in Unternehmen unterschiedlicher Gr\u00f6\u00dfenordnungen transformiert. Danach wurde es f\u00fcr mich interessant, DevOps aus Marktsicht zu betrachten, und wir gr\u00fcndeten mit Kollegen die Firma Express 42. Bereits seit 6 Jahren navigieren wir auf diesem Markt.<\/p>\n<p>Nebenbei bin ich einer der Organisatoren der Community DevOps Moscow und Organisator von DevOps-Days 2017, die 2018 jedoch nicht organisiert wurden. Express 42 arbeitet mit vielen Firmen zusammen. Wir etablieren dort DevOps, beobachten, wie das geschieht, ziehen Schlussfolgerungen, analysieren und teilen unsere Ergebnisse mit allen, schulen Menschen in DevOps-Praktiken. Kurz gesagt, wir f\u00f6rdern in dieser Hinsicht unsere Erfahrungen und unsere Expertise.<\/p>\n<h2>Warum DevOps<\/h2>\n<p>\nDie erste Frage, die alle und immer verfolgt \u2013 warum? Viele glauben, dass DevOps einfach Automatisierung oder eine \u00e4hnliche Sache ist, die bereits in jedem Unternehmen vorhanden war.<\/p>\n<p><i>\u2014 Wir hatten Continuous Integration \u2013 das hei\u00dft, wir hatten bereits DevOps, und warum brauchen wir diesen ganzen Kram? Da dr\u00fcben am\u00fcsiert man sich, w\u00e4hrend uns die Arbeit im Weg steht!<\/i><\/p>\n<p>Nach 9 Jahren der Entwicklung der Gemeinschaft und Methodik ist bereits klar geworden, dass es sich dabei nicht um Marketingflitter handelt, aber es ist trotzdem nicht ganz klar, wozu es notwendig ist. Wie bei jedem Werkzeug und Prozess hat DevOps bestimmte Ziele, die es letztendlich erreicht.<\/p>\n<p>Das alles h\u00e4ngt damit zusammen, dass sich die Welt ver\u00e4ndert. Sie entfernt sich von dem unternehmerischen Ansatz, bei dem Unternehmen gem\u00e4\u00df einer bestimmten Strategie, wie unser Petersburger Klassiker sang, von Punkt A nach Punkt B aufbrechen, unterst\u00fctzt von einer daf\u00fcr aufgebauten Struktur. <\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/bb78da721e949d89e58756d0d68bb56d.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Im Grunde sollte alles im IT-Bereich auf diesem Ansatz basieren. Hier wird IT ausschlie\u00dflich zur Automatisierung von Prozessen eingesetzt.<\/p><\/blockquote>\n<p>\nAutomatisierung \u00e4ndert sich nicht oft, denn wenn ein Unternehmen auf den gewohnten Pfaden voranschreitet \u2013 was soll man da \u00e4ndern? Es funktioniert \u2013 also nicht anfassen. Derzeit \u00e4ndern sich die Ans\u00e4tze in der Welt, und der, der als Agile bezeichnet wird, besagt, dass das endg\u00fcltige Ziel B nicht sofort sichtbar ist.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/06553eff16fec2ece77aad454b8d8686.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWenn ein Unternehmen den Markt durchl\u00e4uft und mit dem Kunden arbeitet, erforscht es st\u00e4ndig den Markt und \u00e4ndert das endg\u00fcltige Ziel B. Je h\u00e4ufiger ein Unternehmen seine Richtung \u00e4ndert, desto erfolgreicher ist es letztendlich, da es mehr Marktsegmente ausw\u00e4hlt.<\/p>\n<p>Eine interessante Firma zeigt diese Strategie, von der ich k\u00fcrzlich erfahren habe. One Box Shave \u2013 ein Lieferdienst f\u00fcr Rasierer und Rasurartikel im Abonnement in einer Box. Sie k\u00f6nnen ihre \u201eBox\u201c f\u00fcr verschiedene Kunden individuell anpassen. Das erledigt eine spezielle Software, die dann die Bestellung an eine koreanische Fabrik sendet, die das Produkt herstellt.<\/p>\n<p>Dieses Produkt wurde von der Firma Unilever f\u00fcr 1 Milliarde Dollar gekauft. Jetzt konkurriert es mit Gillette und hat einen signifikanten Marktanteil in den USA gewonnen. One Box Shave sagt:<\/p>\n<p><i>\u2014 4 Klingen? Sind Sie im Ernst? Warum brauchen Sie das \u2013 das verbessert die Rasurqualit\u00e4t nicht. Ein speziell ausgew\u00e4hlter Rasiercreme, Duft und ein qualitativ hochwertiger Rasierer mit zwei Klingen l\u00f6sen viel mehr Fragen als diese l\u00e4cherlichen 4 Klingen von Gillette! Gehen wir bald auf 10 \u00fcber?<\/i><\/p>\n<p>So ver\u00e4ndert sich die Welt. Unilever behauptet, dass sie ein gro\u00dfartiges IT-System haben, das dies erm\u00f6glicht. Am Ende sieht das aus wie das Konzept <b>Time-to-market<\/b>, \u00fcber das bereits viele gesprochen haben.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/fc10a54a6848a50f5d4c1fb36de8d921.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDie Bedeutung von Time-to-market liegt nicht darin, wie oft wir deployments durchf\u00fchren. Man kann h\u00e4ufig deployen, doch die Release-Zyklen k\u00f6nnen dabei lang sein. Wenn man drei\u00dfig monatliche Release-Zyklen \u00fcbereinanderlegt und um eine Woche verschiebt, scheint es, als ob das Unternehmen einmal pro Woche deployt. Aber von der Idee bis zur endg\u00fcltigen Umsetzung vergehen 3 Monate.<\/p>\n<blockquote><p>Time-to-market bedeutet, die Zeit von der Idee bis zur endg\u00fcltigen Umsetzung zu minimieren.<\/p><\/blockquote>\n<p>\nIn diesem Fall interagiert die Software mit dem Markt. So interagiert die Website von One Box Shave mit dem Kunden. Sie haben keine Verk\u00e4ufer \u2013 nur die Website, auf der die Besucher klicken und W\u00fcnsche hinterlassen. Daher muss die Website st\u00e4ndig neue Inhalte bereitstellen und aktualisiert werden, um den W\u00fcnschen gerecht zu werden. Zum Beispiel rasieren sich die Menschen in S\u00fcdkorea anders als in Russland und sie bevorzugen im Duft nicht den Geruch von Kiefer, sondern zum Beispiel den von Vanille-M\u00f6hren.<\/p>\n<p>Da der Inhalt der Website schnell ge\u00e4ndert werden muss, ver\u00e4ndert sich auch die Softwareentwicklung erheblich. Durch die Software m\u00fcssen wir herausfinden, was der Kunde will. Fr\u00fcher haben wir das auf indirektem Weg erfahren, zum Beispiel \u00fcber das Business-Management. Dann entwarfen wir und legten die Anforderungen in das IT-System, und alles lief glatt. Heute ist es anders \u2013 die Software wird von allen, die an dem Prozess beteiligt sind, einschlie\u00dflich der Ingenieure, entworfen, da sie durch technische Spezifikationen erfahren, wie der Markt funktioniert, und auch ihre Einsichten mit dem Gesch\u00e4ft teilen.<\/p>\n<p>Zum Beispiel haben wir bei der Firma Qik pl\u00f6tzlich erfahren, dass die Leute es sehr m\u00f6gen, Kontaktlisten auf den Server hochzuladen, und sie haben uns eine App gegeben. Zuvor hatten wir dar\u00fcber nicht nachgedacht. In einem klassischen Unternehmen h\u00e4tte man wahrscheinlich gesagt, das sei ein Bug, weil in der Spezifikation nicht steht, dass es gut funktionieren sollte, und es wurde schlie\u00dflich improvisiert. Man h\u00e4tte die Funktion abgeschaltet und gesagt: \"Das braucht keiner, das Wichtigste ist, dass die Grundfunktionen funktionieren.\" Aber ein technologieorientiertes Unternehmen sieht darin eine Chance und beginnt, die Software entsprechend zu \u00e4ndern.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/557a53e5a864a39843fe20d521e16400.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIm Jahr 1968 formulierte der weitsichtige Melvin Conway die folgende Idee.<\/p>\n<blockquote><p>Eine Organisation, die ein System erstellt, ist durch das Design eingeschr\u00e4nkt, das die Kommunikationsstruktur dieser Organisation widerspiegelt.<\/p><\/blockquote>\n<p>\nWenn wir ins Detail gehen, um Systeme eines anderen Typs zu produzieren, ben\u00f6tigen wir zus\u00e4tzlich eine Kommunikationsstruktur innerhalb des Unternehmens, die ebenfalls anders ist. Wenn Sie eine hierarchische Kommunikationsstruktur haben, wird dies es Ihnen nicht erm\u00f6glichen, Systeme zu schaffen, die eine sehr hohe Time-to-Market-Rate bieten k\u00f6nnen.<\/p>\n<p>Lesen <noindex><a rel=\"nofollow\" href=\"http:\/\/evtuhovich.ru\/blog\/2016\/10\/05\/conways-law\/\">\u00fcber das Conway-Gesetz<\/a><\/noindex> kann man <noindex><a rel=\"nofollow\" href=\"http:\/\/www.melconway.com\/Home\/Committees_Paper.html\">\u00fcber die Links<\/a><\/noindex>. Es ist wichtig f\u00fcr das Verst\u00e4ndnis der Kultur oder Philosophie von DevOps, da <b>das Einzige, was sich grundlegend in DevOps \u00e4ndert, die Kommunikationsstruktur zwischen den Teams ist.<\/b>.<\/p>\n<p>Aus der Sicht des Prozesses liefen vor DevOps alle Phasen: Analyse, Entwicklung, Test, Betrieb, linear.<img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/e667012430fcc952bac87d7f1fb6da03.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIm Fall von DevOps laufen all diese Prozesse gleichzeitig.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/e4e031864d5d32d6446a95b6c609debd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTime-to-Market kann nur so erf\u00fcllt werden. F\u00fcr Menschen, die im alten Prozess gearbeitet haben, wirkt das etwas futuristisch und im Grunde auch unpraktisch.<\/p>\n<h3>Warum ist DevOps notwendig?<\/h3>\n<p>\n<b>F\u00fcr die Entwicklung digitaler Produkte<\/b>. Wenn Ihr Unternehmen kein digitales Produkt hat, ist DevOps nicht n\u00f6tig \u2013 das ist sehr wichtig.<\/p>\n<p><b>DevOps \u00fcberwindet die Geschwindigkeitsgrenzen des sequentiellen Softwareproduktionsplans<\/b>. In ihm laufen alle Prozesse gleichzeitig.<\/p>\n<p><b>Die Komplexit\u00e4t nimmt zu.<\/b> Wenn DevOps-Evangelisten erz\u00e4hlen, dass es mit ihm einfacher wird, Software zu ver\u00f6ffentlichen \u2013 das ist Unsinn.<\/p>\n<blockquote><p>Mit DevOps wird alles nur komplizierter.<\/p><\/blockquote>\n<p>\nAuf der Konferenz am Stand von Avito konnte man sehen, was es bedeutet, einen Docker-Container zu deployen \u2013 eine unm\u00f6gliche Aufgabe. Die Komplexit\u00e4t wird \u00fcbermenschlich, man muss viele B\u00e4lle gleichzeitig jonglieren.<\/p>\n<p><b>DevOps ver\u00e4ndert vollst\u00e4ndig den Prozess und die Organisation im Unternehmen<\/b>\u00a0\u2013 genauer gesagt, \u00e4ndert nicht DevOps, sondern das digitale Produkt. Um zu DevOps zu gelangen, muss dieser Prozess jedoch vollst\u00e4ndig ge\u00e4ndert werden.<\/p>\n<h3>Fragen f\u00fcr den Spezialisten<\/h3>\n<p>\nUnd was ist mit Ihnen? Fragen, die Sie sich stellen k\u00f6nnen, w\u00e4hrend Sie im Unternehmen arbeiten und sich als Spezialist weiterentwickeln.<\/p>\n<p><b>Haben Sie eine Strategie zur Erstellung eines digitalen Produkts?<\/b> Wenn ja \u2013 schon gut. Das bedeutet, dass Ihr Unternehmen in Richtung DevOps geht.<\/p>\n<p><b>Erstellt Ihr Unternehmen bereits ein digitales Produkt?<\/b> Das bedeutet, dass Sie noch eine Stufe h\u00f6her steigen k\u00f6nnen, interessantere Dinge tun \u2013 aus der Sicht von DevOps, um genau zu sein. Nur aus dieser Perspektive spreche ich.<\/p>\n<p><b>Ist Ihr Unternehmen einer der Marktf\u00fchrer in der Nische mit einem digitalen Produkt?<\/b> Spotify, Yandex, Uber \u2013 Unternehmen, die sich derzeit an der Spitze des technologischen Fortschritts befinden.<\/p>\n<p>Stellen Sie sich diese Fragen, und wenn alle Antworten negativ sind, sollten Sie vielleicht nicht in diesem Unternehmen DevOps praktizieren. Wenn Ihnen jedoch das Thema DevOps wirklich interessiert, sollten Sie vielleicht\u2026 in ein anderes Unternehmen wechseln? Wenn Ihr Unternehmen DevOps umsetzen m\u00f6chte, Sie aber auf alle Fragen mit \u201eNein\u201c geantwortet haben, \u00e4hnelt es diesem wunderbaren Nashorn, das sich nie ver\u00e4ndern wird.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/6a0145c368d5c96b315ead270b107712.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Organisation<\/h2>\n<p>\nWie ich bereits gesagt habe, ver\u00e4ndert sich die Organisation in einem Unternehmen gem\u00e4\u00df dem Conway-Gesetz. Ich beginne mit dem, was DevOps daran hindert, intern im Unternehmen einzudringen, und zwar aus organisatorischer Sicht.<\/p>\n<h3>Das Problem der \u201eSilos\u201c<\/h3>\n<p>\nDas englische Wort \u201eSilo\u201c wird hier auf Russisch als \u201e\u043a\u043e\u043b\u043e\u0434\u0435\u0446\u201c \u00fcbersetzt. Der Sinn dieses Problems ist, dass <b>es keinen Informationsaustausch zwischen den Teams gibt.<\/b>Jedes Team gr\u00e4bt seine Expertise tief, ohne eine gemeinsame Karte zu erstellen, auf der man sich orientieren kann.<\/p>\n<p>Das erinnert an jemanden, der gerade in Moskau angekommen ist und noch nicht wei\u00df, wie man sich mit der U-Bahn-karte orientiert. Muskoviten wissen normalerweise sehr gut Bescheid \u00fcber ihren Stadtteil, und in ganz Moskau orientieren sie sich mit der U-Bahn-Karte. Wenn Sie zum ersten Mal nach Moskau kommen, haben Sie diese F\u00e4higkeit nicht und sind einfach orientierungslos.<\/p>\n<blockquote><p>DevOps schl\u00e4gt vor, diesen Moment der Desorientierung zu \u00fcberwinden und allen Abteilungen gemeinsam eine gemeinsame Interaktionskarte zu erstellen.<\/p><\/blockquote>\n<p>\nZwei Faktoren stehen dem entgegen.<\/p>\n<p><b>Folge der Corporate Governance.<\/b> Sie ist aus separaten hierarchischen \u201eSilos\u201c aufgebaut. Zum Beispiel gibt es bestimmte KPIs in Unternehmen, die dieses System unterst\u00fctzen. Andererseits stehen die Gedanken des Menschen dem im Wege, der Schwierigkeiten hat, \u00fcber seine Expertise hinauszublicken und sich im gesamten System zurechtzufinden. Das ist einfach unbequem. Stellen Sie sich vor, Sie befinden sich am Flughafen von Bangkok \u2013 dort ist es schnell schwierig, sich zurechtzufinden. Auch in DevOps ist es kompliziert, den \u00dcberblick zu behalten, und deshalb sagen die Leute, dass man einen F\u00fchrer finden muss, um dorthin zu gelangen.<\/p>\n<p>Aber das Wichtigste ist, dass das Problem der \u201eSilos\u201c f\u00fcr einen Ingenieur, der den Geist von DevOps verinnerlicht hat, Fowlers B\u00fccher gelesen hat und viele andere B\u00fccher, darin besteht, dass <b>\u201eSilos\u201c nicht erlauben, \u201eoffensichtliche\u201c Dinge zu tun.<\/b>Wir treffen uns oft nach DevOps Moscow, reden miteinander und die Leute beklagen sich:<\/p>\n<p><i>\u2014 Wir wollten einfach nur CI starten, aber es stellte sich heraus, dass das Management das nicht braucht.<\/i><\/p>\n<p>Das geschieht genau aus dem Grund, dass\u00a0<b>CI <\/b>und\u00a0<b>Continuous Delivery Prozess<\/b> an der Grenze vieler Fachgebiete liegen. Wenn das Problem der 'Brunnen' auf organisatorischer Ebene nicht \u00fcberwunden wird, wird es nicht m\u00f6glich sein, weiterzukommen, egal was Sie tun und wie traurig das auch sein mag.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/96bcf835453a2419dbc9995822d86dd0.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJeder Teilnehmer des Prozesses im Unternehmen: Backend- und Frontend-Entwickler, Test, DBA, Betrieb, Netzwerk, arbeitet in seiner eigenen Richtung, w\u00e4hrend niemand au\u00dfer dem Manager eine gemeinsame \u00dcbersicht hat, der sie auf eine Art \u00fcberwacht und nach der Methode \"teile und herrsche\" verwaltet.<\/p>\n<blockquote><p>Die Leute k\u00e4mpfen um irgendwelche Sternchen oder F\u00e4hnchen, jeder bearbeitet sein eigenes Fachgebiet.<\/p><\/blockquote>\n<p>\nLetztendlich, wenn die Aufgabe auftaucht, all dies zusammenzuf\u00fcgen und eine gemeinsame Pipeline zu erstellen, und um Sternchen und F\u00e4hnchen braucht man nicht mehr zu k\u00e4mpfen, stellt sich die Frage \u2013 was soll man \u00fcberhaupt tun? Man muss irgendwie einen Konsens finden, aber niemand hat uns in der Schule dazu gelehrt. Wir sind schon seit der Schule daran gew\u00f6hnt: Acht Klasse \u2013 wow! \u2013 im Vergleich zur Siebten! Hier ist es ganz \u00e4hnlich.<\/p>\n<h3>Ist das auch in Ihrem Unternehmen so?<\/h3>\n<p>\nUm das zu \u00fcberpr\u00fcfen, kann man sich folgende Fragen stellen.<\/p>\n<p><b>Nutzen die Teams gemeinsame Werkzeuge, tragen sie zur \u00c4nderung dieser gemeinsamen Werkzeuge bei?<\/p>\n<p>Wie oft werden Teams umgebildet \u2013 wechseln Fachleute von einem Team in ein anderes?<\/b> Insbesondere im DevOps-Umfeld wird dies zur Norm, da es manchmal schwierig ist, die T\u00e4tigkeiten eines anderen Fachbereichs zu verstehen. Man wechselt in eine andere Abteilung, arbeitet dort ein paar Wochen, um sich eine Orientierungskarte und Interaktionsm\u00f6glichkeiten mit dieser Abteilung zu schaffen.<\/p>\n<p><b>Kann ein Komitee zur \u00c4nderung gegr\u00fcndet und etwas ge\u00e4ndert werden? <\/b>Oder ist daf\u00fcr eine starke Hand der obersten F\u00fchrungsebene und eine Anweisung erforderlich? K\u00fcrzlich habe ich auf Facebook geschrieben, wie eine wenig bekannte Bank durch Anweisungen Werkzeuge einf\u00fchrt: Sie haben eine Anweisung geschrieben, setzen es ein Jahr um und schauen, was passiert. Das ist nat\u00fcrlich langwierig und traurig.<\/p>\n<p><b>Wie wichtig ist es f\u00fcr Manager, pers\u00f6nliche Erfolge unabh\u00e4ngig von den Erfolgen des Unternehmens zu erzielen? <\/b><\/p>\n<p>Wenn Sie diese Fragen f\u00fcr sich selbst beantworten, wird klarer, ob Sie ein solches Problem im Unternehmen haben.<\/p>\n<h2>Infrastruktur als Code<\/h2>\n<p>\nNachdem dieses Problem \u00fcberwunden ist, ist die erste wichtige Praxis, ohne die es schwierig ist, im DevOps weiterzukommen \u2013 das ist <b>Infrastruktur als Code<\/b>. <\/p>\n<p>Meistens wird Infrastructure as Code so verstanden:<\/p>\n<p><i>\u2014 Lass uns alles mit bash automatisieren, uns mit Skripten eindecken, damit die Administratoren weniger manuelle Arbeit haben!<\/i><\/p>\n<p>Aber das ist nicht so.<\/p>\n<blockquote><p>Infrastructure as Code bedeutet, dass Sie die IT-Systeme, mit denen Sie arbeiten, in Form von Code beschreiben, um st\u00e4ndig ihren Zustand zu verstehen.<\/p><\/blockquote>\n<p>\nGemeinsam mit anderen Teams erstellen Sie eine Karte in Form von Code, die allen verst\u00e4ndlich ist und nach der man navigieren kann. Es spielt keine Rolle, womit das gemacht wird \u2013 ob mit Chef, Ansible, Salt oder YAML-Dateien in Kubernetes \u2013 es macht keinen Unterschied.<\/p>\n<p>Auf der Konferenz erz\u00e4hlte ein Kollege von 2GIS, wie sie ihr internes Tool f\u00fcr Kubernetes entwickelt haben, das die Struktur einzelner Systeme beschreibt. Um 500 Systeme zu beschreiben, ben\u00f6tigten sie ein separates Werkzeug, das diese Beschreibung generiert. Wenn man diese Beschreibung hat, kann jeder sich gegenseitig abgleichen, \u00c4nderungen \u00fcberwachen, wie man sie ver\u00e4ndern und verbessern kann und was fehlt. <\/p>\n<p>Sie m\u00fcssen zustimmen, dass separate bash-Skripte normalerweise nicht zu diesem Verst\u00e4ndnis f\u00fchren. In einer der Firmen, in denen ich gearbeitet habe, gab es sogar den Begriff \u201ewrite only\u201c-Skript \u2013 wenn das Skript geschrieben ist, kann man es nicht mehr lesen. Ich glaube, das ist Ihnen auch bekannt.<\/p>\n<p>Infrastructure as Code ist <b>Code, der den aktuellen Zustand der Infrastruktur beschreibt<\/b>. An diesem Code arbeiten gemeinsam viele Produkt-, Infrastruktur- und Serviceteams, und das Wichtigste ist, dass alle verstehen m\u00fcssen, wie dieser Code \u00fcberhaupt funktioniert.<\/p>\n<p><b>Der Code wird entsprechend den besten Praktiken f\u00fcr die Arbeit mit Code gepflegt<\/b>: gemeinsame Entwicklung, Code-Reviews, XP-Programmierung, Tests, Pull-Requests, CI f\u00fcr Infrastructure as Code \u2013 das alles ist wertvoll und kann verwendet werden.<\/p>\n<blockquote><p>Der Code wird zur gemeinsamen Sprache f\u00fcr alle Ingenieure.<\/p><\/blockquote>\n<p>\n<b>\u00c4nderungen an der Infrastruktur im Code nehmen nicht viel Zeit in Anspruch<\/b>. Ja, auch im Infrastrukturcode kann es technische Schulden geben. Normalerweise sto\u00dfen Teams nach anderthalb Jahren auf diese, nachdem sie angefangen haben, \u201eInfrastructure as Code\u201c in Form von vielen Skripten oder sogar Ansible einzuf\u00fchren, das sie wie Spaghetticode schreiben und dazu noch bash-Skripte hineinschieben! <\/p>\n<p><b>Wichtig<\/b>: Wenn Sie diesen Mist noch nicht ausprobiert haben, merken Sie sich, dass <b>Ansible \u2013 nicht bash<\/b>Bitte lesen Sie die Dokumentation sorgf\u00e4ltig und erfahren Sie, was dar\u00fcber gesagt wird.<\/p>\n<blockquote><p>Infrastructure as Code bedeutet, den Infrastrukturcode in separate Schichten zu unterteilen.<\/p><\/blockquote>\n<p>\nIn unserem Unternehmen unterscheiden wir 3 grundlegende Schichten, die sehr klar und einfach verst\u00e4ndlich sind, aber es k\u00f6nnen auch mehr sein. Sie k\u00f6nnen Ihren Infrastrukturcode \u00fcberpr\u00fcfen und feststellen, ob Sie diese Bedingung erf\u00fcllen oder nicht. Wenn keine Schichten erkennbar sind, sollten Sie sich Zeit nehmen, um ein wenig zu refaktorisieren.<br \/>\n<img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/71b6db022083137773df5c97d16da377.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Basis-Schicht<\/b>\u00a0\u2014 das sind die Einstellungen f\u00fcr das Betriebssystem, Backups und andere Low-Level-Dinge, wie zum Beispiel, wie Kubernetes auf Basisniveau bereitgestellt wird.<\/p>\n<p><b>Service-Ebene<\/b>\u00a0\u2014 das sind die Dienste, die Sie den Entwicklern anbieten: Logging als Dienst, Monitoring als Dienst, Datenbank als Dienst, Lastenausgleich als Dienst, Warteschlange als Dienst, Continuous Delivery als Dienst \u2013 viele Dienste, die verschiedene Teams der Entwicklung zur Verf\u00fcgung stellen k\u00f6nnen. All dies muss in Ihrer Konfigurationsverwaltung als separate Module beschrieben werden.<\/p>\n<p><b>Schicht, in der Anwendungen erstellt werden<\/b> und beschrieben wird, wie sie auf den beiden vorhergehenden Schichten bereitgestellt werden.<\/p>\n<h3>Kontrollfragen<\/h3>\n<p>\nHaben Sie in Ihrem Unternehmen ein gemeinsames Infrastruktur-Repository? \u00dcberwachen Sie die technische Schuld in der Infrastruktur? Setzen Sie Entwicklungspraktiken im Infrastruktur-Repository ein? Ist Ihre Infrastruktur in Schichten unterteilt? Sie k\u00f6nnen sich an dem Schema Base-service-APP orientieren. Wie schwierig ist es, eine \u00c4nderung vorzunehmen? <\/p>\n<p>Wenn Sie festgestellt haben, dass \u00c4nderungen eineinhalb Tage in Anspruch genommen haben, bedeutet das, dass Sie technische Schulden haben, mit denen Sie sich befassen sollten. Sie sind auf die Stolpersteine der technischen Schulden im Infrastrukturcode gesto\u00dfen. Ich erinnere mich an viele Geschichten, in denen man, um einen bestimmten CCTL zu \u00e4ndern, die H\u00e4lfte des Infrastrukturcodes neu schreiben musste, weil Kreativit\u00e4t und der Wunsch, alles zu automatisieren, dazu gef\u00fchrt haben, dass \u00fcberall alles zugeschraubt wurde, alle Handgriffe entfernt wurden und Refaktorisierung notwendig ist.<\/p>\n<h2>Kontinuierliche Lieferung<\/h2>\n<p>\nLassen Sie uns das Debit mit dem Kredit abgleichen. Zun\u00e4chst erscheint eine Beschreibung der Infrastruktur, die ziemlich einfach sein kann. Es ist nicht erforderlich, alles im Detail zu beschreiben, aber eine grundlegende Beschreibung ist erforderlich, damit Sie damit arbeiten k\u00f6nnen. Andernfalls ist es unklar, auf welcher Grundlage Sie die kontinuierliche Lieferung durchf\u00fchren k\u00f6nnen. All diese Praktiken entfallen gleichzeitig, wenn Sie zu DevOps kommen, aber Sie m\u00fcssen mit dem Verst\u00e4ndnis beginnen, was Sie haben und wie Sie es verwalten. Dies ist die Praxis der Infrastruktur als Code.<\/p>\n<p>Nachdem verst\u00e4ndlich wurde, was Sie haben und wie Sie damit umgehen, beginnen Sie zu \u00fcberlegen, wie der Entwicklercode so schnell wie m\u00f6glich in die Produktion gebracht werden kann. Ich meine zusammen mit dem Entwickler - denken wir an das Problem der \u201eBrunnen\u201c, das hei\u00dft, es sind nicht einzelne Personen, die das erdenken, sondern das Team.<\/p>\n<p>Als wir\u00a0<b>Ivan Evtuchovich<\/b> das erste Buch sahen <b>Jez Humble<\/b> und die Gruppe von Autoren <b>\u201eContinuous Delivery\u201c<\/b>, das 2009 ver\u00f6ffentlicht wurde, dachten wir lange dar\u00fcber nach, wie wir seinen Titel ins Russische \u00fcbersetzen k\u00f6nnen. Wir wollten es als \u201eSt\u00e4ndig liefern\u201c \u00fcbersetzen, aber leider \u00fcbersetzten wir es als \u201eKontinuierliche Lieferung\u201c. Ich glaube, dass in unserem Titel etwas Russisches steckt, mit Schwung.<\/p>\n<h3>St\u00e4ndig liefern bedeutet<\/h3>\n<p>\n<b>Der Code, der im Produktrepository liegt, kann jederzeit in die Produktion gebracht werden<\/b>. Er kann ungenutzt bleiben, ist aber immer bereit daf\u00fcr. Daher schreiben Sie immer Code mit einem schwer zu erkl\u00e4renden Gef\u00fchl der gewissenhaften Besorgnis im Hinterkopf. Dieses Gef\u00fchl tritt h\u00e4ufig auf, wenn Sie Infrastrukturcode ausrollen. Dieses Gef\u00fchl der Besorgnis sollte vorhanden sein - es f\u00f6rdert Denkprozesse, die es erm\u00f6glichen, Code ein wenig anders zu schreiben. Das sollte in den Regeln innerhalb der Entwicklung verankert werden.<\/p>\n<p><b>Um st\u00e4ndig zu liefern, ben\u00f6tigen Sie ein Artefaktformat, das durch die Infrastrukturplattform geht. <\/b>Wenn Sie unterschiedliche Formate von \u201eAbf\u00e4llen der Lebensf\u00fchrung\u201c durch die Infrastrukturplattform werfen, wird sie nicht mehr einheitlich, es wird schwierig, sie zu unterst\u00fctzen, und es entsteht ein technisches Schuldenproblem. Das Artefaktformat muss angeglichen werden - das ist auch eine kollektive Aufgabe: Alle m\u00fcssen sich zusammenfinden, ihre K\u00f6pfe zusammenstecken und dieses Format erarbeiten.<\/p>\n<p><b>Das Artefakt verbessert sich kontinuierlich und \u00e4ndert sich gem\u00e4\u00df der Produktionsumgebung w\u00e4hrend des Durchlaufs durch die Lieferpipeline. <\/b>Wenn das Artefakt durch die Pipeline bewegt wird, begegnet es st\u00e4ndig einigen unangenehmen Dingen, die dem \u00e4hneln, mit denen es im Produktionsumfeld konfrontiert wird. W\u00e4hrend in der klassischen Softwareentwicklung dies ein Systemadministrator \u00fcbernimmt, der das Deployment durchf\u00fchrt, geschieht dies im DevOps-Prozess kontinuierlich: Hier wurde es durch einige Tests gedreht, dort wurde es in einen Kubernetes-Cluster eingef\u00fcgt, der mehr oder weniger der Produktionsumgebung \u00e4hnelt, und hier wurde pl\u00f6tzlich ein Lasttest gestartet.<\/p>\n<p>Das erinnert an das Spiel Pac-Man \u2013 das Artefakt durchl\u00e4uft eine Art Geschichte. Dabei ist es wichtig zu \u00fcberwachen, ob der Code tats\u00e4chlich die Geschichte durchl\u00e4uft und ob sie mit Ihrer Produktionsumgebung verbunden ist. Geschichten aus der Produktion k\u00f6nnen in den Continuous Delivery-Prozess integriert werden: Es gab zum Beispiel einen Vorfall, als etwas ausgefallen ist, also lassen Sie uns dieses Szenario einfach in das System programmieren. Jedes Mal wird der Code auch dieses Szenario durchlaufen, und Sie werden das n\u00e4chste Mal nicht mit diesem Problem konfrontiert. Sie werden viel fr\u00fcher davon erfahren, bevor es zu Ihrem Kunden kommt.<\/p>\n<p><b>Verschiedene Deployment-Strategien. <\/b>Zum Beispiel verwenden Sie A\/B-Tests oder Canary-Deployments, um den Code auf verschiedene Arten bei unterschiedlichen Kunden zu testen, Informationen dar\u00fcber zu erhalten, wie der Code funktioniert, und das viel fr\u00fcher, als wenn er an 100 Millionen Benutzer freigegeben wird.<\/p>\n<p>\u201eStetige Lieferung\u201c sieht so aus.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/4b33e69a649a3ff862cc4b9301c49d81.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Der Prozess der Lieferung Dev, CI, Test, PreProd, Prod ist keine separate Umgebung, sondern Stufen oder Stationen mit nicht brennbaren Summen, durch die Ihr Artefakt l\u00e4uft.<\/p><\/blockquote>\n<p>\nWenn Sie Code f\u00fcr Infrastruktur haben, der als Basisdienst-App beschrieben ist, hilft er <b>nicht alle Szenarien zu vergessen,<\/b>, und sie ebenfalls in Form von Code f\u00fcr dieses Artefakt zu dokumentieren, <b>das Artefakt voranzubringen<\/b> und es unterwegs zu \u00e4ndern.<\/p>\n<h3>Fragen zur Selbst\u00fcberpr\u00fcfung<\/h3>\n<p>\nDauert es von der Beschreibung des Features bis zur Ver\u00f6ffentlichung in der Produktion in 95 % der F\u00e4lle weniger als eine Woche? Steigt die Qualit\u00e4t des Artefakts in jeder Phase der Pipeline? Gibt es eine Geschichte, durch die es l\u00e4uft? Verwenden Sie verschiedene Deployment-Strategien?<\/p>\n<p>Wenn alle Antworten ja sind, dann sind Sie unglaublich toll! Schreiben Sie Ihre Antworten in die Kommentare \u2013 ich w\u00fcrde mich freuen).<\/p>\n<h3>Feedback<\/h3>\n<p>\nDies ist die schwierigste Praxis von allen. Auf der Konferenz DevOpsConf war ein Kollege von Infobip, der dar\u00fcber sprach, etwas verwirrt in seinen Worten, denn es ist wirklich eine sehr komplexe Praxis, bei der man alles \u00fcberwachen muss!<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/d13c9964ad7686e68d51f1608bd0c1a2.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVor langer Zeit, als ich bei Qik arbeitete und wir festgestellt haben, dass wir alles \u00fcberwachen m\u00fcssen. Wir haben das getan und in Zabbix hatten wir 150.000 Items, die st\u00e4ndig \u00fcberwacht werden. Das war be\u00e4ngstigend, der technische Direktor hat sich nur am Kopf gekratzt:<\/p>\n<p><i>\u2014 Leute, warum qu\u00e4lt ihr den Server mit undefinierbaren Dingen?<\/i><\/p>\n<p>Aber dann geschah ein Vorfall, der zeigte, dass dies tats\u00e4chlich eine sehr coole Strategie ist.<\/p>\n<p>Einer der Dienste begann st\u00e4ndig abzust\u00fcrzen. Interessanterweise ist er anfangs nicht abgest\u00fcrzt, da dort kein Code hinzugef\u00fcgt wurde, denn es war ein Basisbroker, in dem praktisch keine Business-Funktionalit\u00e4ten waren \u2013 er \u00fcbertrug einfach Nachrichten zwischen einzelnen Diensten. Der Dienst hatte sich vier Monate lang nicht ge\u00e4ndert und begann pl\u00f6tzlich mit einem \u201eSegmentation fault\u201c abzust\u00fcrzen.<\/p>\n<p>Wir waren schockiert, \u00f6ffneten unsere Grafiken in Zabbix, und es stellte sich heraus, dass vor anderthalb Wochen das Verhalten der Anfragen im API-Dienst, der diesen Broker verwendet, sich stark ge\u00e4ndert hatte. Danach sahen wir, dass sich die H\u00e4ufigkeit des Sendens eines bestimmten Nachrichtentyps ge\u00e4ndert hatte. Sp\u00e4ter haben wir festgestellt, dass es sich um die Android-Clients handelte. Wir fragten:<\/p>\n<p><i>\u2014 Leute, was ist vor anderthalb Wochen passiert?<\/i><\/p>\n<p>Als Antwort erhielten wir eine interessante Geschichte, dass sie das UI umgestaltet hatten. Kaum jemand w\u00fcrde sofort sagen, dass er die HTTP-Bibliothek gewechselt hat. F\u00fcr Android-Clients ist es wie wenn man die Seife im Bad wechselt \u2013 sie erinnern sich einfach nicht daran. Letztendlich haben wir nach 40 Minuten Gespr\u00e4ch herausgefunden, dass sie tats\u00e4chlich die HTTP-Bibliothek gewechselt hatten und sich die Standard-Timings ge\u00e4ndert hatten. Das f\u00fchrte dazu, dass sich das Verhalten des Traffics auf dem API-Server \u00e4nderte, was zu der Situation f\u00fchrte, die eine Kollision innerhalb des Brokers verursachte, und er begann abzust\u00fcrzen.<\/p>\n<p><b>Ohne tiefgehende \u00dcberwachung ist das \u00fcberhaupt nicht zu erkennen.<\/b>. Wenn es in der Organisation jedoch noch das Problem der \"Brunnen\" gibt, bei dem jeder die Verantwortung auf den anderen schiebt, kann das jahrelang bestehen bleiben. Sie starten einfach den Server neu, weil das Problem nicht gel\u00f6st werden kann. Wenn Sie alle Ereignisse, die Sie haben, \u00fcberwachen, verfolgen und analysieren und das Monitoring als ein Test-Tool verwenden \u2013 indem Sie Code schreiben und sofort angeben, wie er \u00fcberwacht werden soll, auch in Form von Code (wir haben bereits Infrastruktur als Code), wird alles so klar wie der Handballen. Sogar solch komplexe Probleme sind leicht nachzuvollziehen.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/86d286f36363d773852b4aa9808cc7a4.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Sammeln Sie alle Informationen dar\u00fcber, was mit dem Artefakt in jeder Phase des Lieferprozesses geschieht \u2013 nicht in der Produktion.<\/p><\/blockquote>\n<p>\nLaden Sie das Monitoring in CI, und dort werden bereits einige grundlegende Dinge sichtbar sein. Au\u00dferdem werden Sie diese auch im Test, im PredProd und im Lasttest sehen. Sammeln Sie Informationen in allen Phasen, nicht nur Metriken, Statistiken, sondern auch Logs: wie die Anwendung ausgerollt wurde, Anomalien \u2013 sammeln Sie alles. <\/p>\n<p>Andernfalls wird es schwierig sein, sich zurechtzufinden. Ich habe bereits gesagt, dass DevOps eine gr\u00f6\u00dfere Komplexit\u00e4t mit sich bringt. <b>Um mit dieser Komplexit\u00e4t umzugehen, ben\u00f6tigt man eine angemessene Analytik.<\/b>.<\/p>\n<h3>Fragen zur Selbstkontrolle<\/h3>\n<p>\n<b>Ist Ihr Monitoring und Logging ein Entwicklungswerkzeug f\u00fcr Sie?<\/b> Denken Ihre Entwickler, einschlie\u00dflich Ihnen, beim Schreiben von Code dar\u00fcber nach, wie er \u00fcberwacht werden kann?<\/p>\n<p><b>Erfahren Sie von Problemen durch Kunden? Verstehen Sie den Kunden besser durch das Monitoring und Logging?<\/b> <b>Verstehen Sie das System besser durch das Monitoring und Logging?<\/b> \u00c4ndern Sie das System einfach, weil Sie gesehen haben, dass der Trend im System steigt und Sie verstehen, dass in 3 Wochen alles zusammenbricht? <\/p>\n<p>Wenn Sie diese drei Komponenten haben, k\u00f6nnen Sie \u00fcber die infrastrukturelle Plattform in Ihrem Unternehmen nachdenken.<\/p>\n<h2>Infrastrukturelle Plattform <\/h2>\n<p>\nEs geht nicht darum, dass dies eine Sammlung von voneinander unabh\u00e4ngigen Werkzeugen ist, die in jedem Unternehmen vorhanden sind.<\/p>\n<blockquote><p>Der Sinn einer infrastrukturellen Plattform besteht darin, dass alle Teams diese Werkzeuge nutzen und gemeinsam weiterentwickeln.<\/p><\/blockquote>\n<p>\nEs ist klar, dass es separate Teams gibt, die f\u00fcr die Entwicklung einzelner Teile der infrastrukturellen Plattform verantwortlich sind. Aber die Verantwortung f\u00fcr die Entwicklung, Funktionsf\u00e4higkeit und F\u00f6rderung der infrastrukturellen Plattform tr\u00e4gt jeder Ingenieur.<b> Auf interner Ebene wird dies zu einem gemeinsamen Werkzeug.<\/b>. <\/p>\n<p><b>Alle Teams entwickeln eine Infrastrukturplattform und behandeln sie sorgf\u00e4ltig wie ihre eigene IDE.<\/b>. In Ihrer IDE installieren Sie verschiedene Plugins, um alles sch\u00f6n und schnell zu gestalten, und konfigurieren Tastenkombinationen. Wenn Sie Sublime, Atom oder Visual Studio Code \u00f6ffnen, fallen sofort Fehler im Code auf und Sie merken, dass es \u00fcberhaupt unm\u00f6glich ist zu arbeiten. Sofort wird Ihnen schlecht und Sie laufen los, um Ihre IDE zu reparieren.<\/p>\n<p>Behandeln Sie Ihre Infrastrukturplattform genauso. Wenn Sie merken, dass etwas nicht stimmt, stellen Sie eine Anfrage, wenn Sie es nicht selbst reparieren k\u00f6nnen. Wenn es jedoch etwas Einfaches ist \u2013 beheben Sie es selbst, senden Sie eine Pull-Request \u2013 die Kollegen pr\u00fcfen, f\u00fcgen hinzu. Dies ist ein etwas anderer Ansatz im Ingenieurwesen f\u00fcr den Kopf des Entwicklers.<\/p>\n<p><b>Die Infrastrukturplattform sorgt daf\u00fcr, dass Artefakte von der Entwicklung zum Kunden mit st\u00e4ndig steigender Qualit\u00e4t \u00fcbertragen werden.<\/b>. In der IP ist eine Reihe von Geschichten programmiert, die mit dem Code in Produktion passieren. \u00dcber die Jahre der Entwicklung werden diese Geschichten sehr zahlreich, einige davon sind einzigartig und beziehen sich nur auf Sie \u2013 sie sind nicht googlbar. <\/p>\n<p><b>In diesem Moment wird die Infrastrukturplattform zu Ihrem Wettbewerbsvorteil.<\/b>, weil darin Dinge eingebaut sind, die kein Werkzeug des Wettbewerbers hat. Je tiefer Ihre IP ist, desto gr\u00f6\u00dfer ist Ihr Wettbewerbsvorteil in Bezug auf die Time-to-market. Hier tritt das <b>Problem des Vendor Lock-in<\/b>auf: Sie k\u00f6nnen sich eine fremde Plattform nehmen, aber wenn Sie auf die Erfahrung anderer zur\u00fcckgreifen, werden Sie nicht verstehen, inwieweit diese relevant f\u00fcr Sie ist. Ja, nicht jedes Unternehmen kann eine Plattform wie Amazon aufbauen. Das ist eine schwierige Grenze, wo die Erfahrung des Unternehmens f\u00fcr seine Position auf dem Markt relevant ist, und den Vendor Lock-in sollte man dort nicht herunterlassen. Dar\u00fcber muss man auch nachdenken.<\/p>\n<h3>Diagramm<\/h3>\n<p>\nDas ist das grundlegende Schema einer Infrastrukturplattform, das Ihnen helfen wird, alle Praktiken und Prozesse in einem DevOps-Unternehmen zu etablieren.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/af93f105c15bd0a24f25cc867dab9e8e.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLassen Sie uns betrachten, woraus sie besteht.<\/p>\n<p><b>Ein System zur Orchestrierung von Ressourcen<\/b>, das CPU, Speicher, Festplatten f\u00fcr Anwendungen und andere Dienste bereitstellt. Dar\u00fcber hinaus gibt es <b>niedrigere Dienste<\/b>: \u00dcberwachung, Protokollierung, CI\/CD-Engine, Artefakt-Speicher, Infrastruktur als Code-Systeme.<\/p>\n<p><b>H\u00f6here Dienste.<\/b>: Datenbank als Dienst, Warteschlangen als Dienst, Load Balancer als Dienst, Bildgr\u00f6\u00dfen\u00e4nderung als Dienst, Big Data Fabrik als Dienst. Dar\u00fcber hinaus\u00a0\u2014 <b>pipeline, die st\u00e4ndig modifizierten Code an Ihren Kunden liefert<\/b>.<\/p>\n<p>Sie erhalten Informationen dar\u00fcber, wie Ihre Software beim Kunden funktioniert, \u00e4ndern, liefern diesen Code erneut, erhalten Informationen \u2014 und entwickeln damit st\u00e4ndig sowohl die Infrastrukturplattform als auch Ihre Software weiter.<\/p>\n<p>In dem Diagramm besteht die Delivery-Pipeline aus mehreren Phasen. Aber das ist ein grundlegendes Schema, das als Beispiel dient \u2014 es muss nicht eins zu eins wiederholt werden. Die Phasen interagieren mit Diensten, als w\u00e4ren es Dienste \u2014 jeder Baustein der Plattform erz\u00e4hlt seine eigene Geschichte: wie Ressourcen zugewiesen werden, wie die Anwendung gestartet wird, mit Ressourcen arbeitet, \u00fcberwacht wird und sich \u00e4ndert.<\/p>\n<p>Es ist wichtig zu verstehen, dass jeder Teil der Plattform eine Geschichte erz\u00e4hlt, und sich zu fragen \u2014 welche Geschichte erz\u00e4hlt dieser Baustein, vielleicht sollte man ihn wegwerfen und durch einen externen Dienst ersetzen. Zum Beispiel, k\u00f6nnte man anstelle des Bausteins Okmeter verwenden? M\u00f6glicherweise haben die Leute diese Expertise bereits viel mehr entwickelt als wir. Aber vielleicht auch nicht \u2014 vielleicht haben wir eine einzigartige Expertise, und wir m\u00fcssen Prometheus einsetzen und das weiterentwickeln.<\/p>\n<h3>Plattformerstellung<\/h3>\n<p>\nDas ist ein komplexer Kommunikationsprozess. Wenn Sie grundlegende Praktiken haben, initiieren Sie die Kommunikation zwischen verschiedenen Ingenieuren und Spezialisten, die Anforderungen und Standards entwickeln und diese st\u00e4ndig f\u00fcr verschiedene Werkzeuge und Ans\u00e4tze anpassen. Hier ist die Kultur wichtig, die in DevOps vorhanden ist.<\/p>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/0c123a3ebdeea96e32609e847568d917.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMit der Kultur ist alles sehr einfach \u2014 <b>es sind Zusammenarbeit und Kommunikation<\/b>, das hei\u00dft, der Wunsch, gemeinsam im selben Bereich zu arbeiten, der Wunsch, ein Werkzeug gemeinsam zu beherrschen. Es gibt hier keine Raketenwissenschaft \u2014 alles ist sehr einfach, banal. Zum Beispiel leben wir alle im Treppenhaus und halten es sauber \u2014 so sieht diese Kultur aus.<\/p>\n<h3>Und wie sieht es bei Ihnen aus?<\/h3>\n<p>\nWieder Fragen, die Sie sich stellen k\u00f6nnen.<\/p>\n<p>Wurde die Infrastrukturplattform \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0430? Wer ist f\u00fcr ihre Entwicklung verantwortlich? Verstehen Sie die Wettbewerbsvorteile Ihrer Infrastrukturplattform?<\/p>\n<p>Diese Fragen sollte man sich st\u00e4ndig stellen. Wenn etwas an externe Dienste ausgelagert werden kann, sollte man es auslagern. Wenn ein externer Dienst beginnt, Ihre Bewegungen zu blockieren, muss man ein System in sich selbst aufbauen.<\/p>\n<h2>Also, DevOps\u2026<\/h2>\n<p>\n... es ist ein komplexes System, das Folgendes enthalten sollte:<\/p>\n<ul>\n<li>Ein digitales Produkt.\n<\/li>\n<li>Gesch\u00e4ftsmodelle, die dieses digitale Produkt weiterentwickeln.\n<\/li>\n<li>Entwicklungsteams, die Code schreiben.\n<\/li>\n<li>Continuous Delivery-Praktiken.\n<\/li>\n<li>Plattformen als Dienst.\n<\/li>\n<li>Infrastruktur als Dienst.\n<\/li>\n<li>Infrastruktur als Code.\n<\/li>\n<li>Einzelne Praktiken zur Sicherstellung der Zuverl\u00e4ssigkeit, die in DevOps verankert sind.\n<\/li>\n<li>Eine Feedback-Praxis, die all dies beschreibt.\n<\/li>\n<\/ul>\n<p><img decoding=\"async\" alt=\"Was ist DevOps\" src=\"\/wp-content\/uploads\/2019\/05\/2a202db66a63b6d5b231da0573e59307.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMan kann dieses Schema nutzen und darin das markieren, was es in Ihrem Unternehmen bereits in irgendeiner Form gibt: hat sich entwickelt oder muss noch entwickelt werden.<\/p>\n<blockquote><p>In ein paar Wochen findet statt <noindex><a rel=\"nofollow\" href=\"http:\/\/devopsconf.io\/moscow-rit\/2019\">DevOpsConf 2019<\/a><\/noindex>. im Rahmen von RIT++. Kommen Sie zur Konferenz, wo Sie viele spannende Vortr\u00e4ge \u00fcber Continuous Delivery, Infrastruktur als Code und DevOps-Transformation erwarten. <noindex><a rel=\"nofollow\" href=\"https:\/\/conf.ontico.ru\/conference\/join\/rit2019.html?popup=3\">Buchen Sie Ihre Tickets<\/a><\/noindex>, der letzte Stichtag f\u00fcr die Preise ist der 20. Mai<\/p><\/blockquote>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/448492\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 DevOps \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u044e \u043e\u0431\u00a0\u044d\u0442\u043e\u043c \u0437\u0430\u043d\u043e\u0432\u043e. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u00a0\u0425\u0430\u0431\u0440\u0435 \u0442\u044b\u0441\u044f\u0447\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043d\u0430\u00a0\u044d\u0442\u0443 \u0442\u0435\u043c\u0443. \u041d\u043e\u00a0\u0435\u0441\u043b\u0438 \u0432\u044b\u00a0\u044d\u0442\u043e \u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0442\u043e\u00a0\u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044f\u00a0\u2014 \u043d\u0435\u0442. \u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440 \u0422\u0438\u0442\u043e\u0432 (@osminog), \u0438\u00a0\u043c\u044b\u00a0\u043c\u044b\u00a0\u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e\u00a0DevOps \u0438\u00a0\u044f\u00a0\u043f\u043e\u0434\u0435\u043b\u044e\u0441\u044c \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c. \u0414\u043e\u043b\u0433\u043e \u0434\u0443\u043c\u0430\u043b, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043c\u043e\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432\u00a0\u2014 \u0442\u0435\u0445, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25405,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-33725","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=\"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 DevOps \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u044e \u043e\u0431 \u044d\u0442\u043e\u043c \u0437\u0430\u043d\u043e\u0432\u043e. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u0442\u044b\u0441\u044f\u0447\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u044d\u0442\u043e \u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0442\u043e \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps.\" \/>\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\/chto-takoe-devops\" \/>\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\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 DevOps \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u044e \u043e\u0431 \u044d\u0442\u043e\u043c \u0437\u0430\u043d\u043e\u0432\u043e. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u0442\u044b\u0441\u044f\u0447\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u044d\u0442\u043e \u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0442\u043e \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-takoe-devops\" \/>\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=\"2019-10-31T18:54:21+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:54:21+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\udd47Was ist DevOps | ProHoster","description":"Die Definition von DevOps ist sehr komplex, weshalb man jedes Mal die Diskussion dar\u00fcber neu starten muss. Allein auf Habr gibt es tausende von Ver\u00f6ffentlichungen zu diesem Thema. Aber wenn Sie dies lesen, wissen Sie sicherlich, was DevOps ist.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-takoe-devops","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\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps | ProHoster","og:description":"\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 DevOps \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u044e \u043e\u0431 \u044d\u0442\u043e\u043c \u0437\u0430\u043d\u043e\u0432\u043e. \u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u0442\u044b\u0441\u044f\u0447\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0439 \u043d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443. \u041d\u043e \u0435\u0441\u043b\u0438 \u0432\u044b \u044d\u0442\u043e \u0447\u0438\u0442\u0430\u0435\u0442\u0435, \u0442\u043e \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0437\u043d\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 DevOps.","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/chto-takoe-devops","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":"2019-10-31T18:54:21+00:00","article:modified_time":"2019-10-31T18:54:21+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33725","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":"2026-01-21 16:27:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:34:13","updated":"2026-01-21 16:27:19","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\/33725","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=33725"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/33725\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/25405"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=33725"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=33725"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=33725"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}