Infrastructure as Data
Shownotes
Infrastructure as Data kommt aktuell vor allem bei der automatisierten Bereitstellung und Provisionierung von Cloud-Systemen zum Einsatz. In dieser Episode unterhält sich Wolfgang mit Christoph Petrausch über die Vorteile und Unterschiede im Vergleich mit Infrastructure as Code.
Links aus der Folge:
- Die Rolle von Systems Engineering und privaten Clouds (im Gespräch mit Christian Rohmann)
- Was haben eigentlich Container mit der Cloud zu tun? (im Gespräch mit Hendrik Still)
Für diese Folge von Digital Future gibt es ein vollständiges Transkript. Dieses Transkript wurde automatisiert erzeugt und nicht nachbearbeitet oder korrekturgelesen. Es wird daher sicher Fehler enthalten. Das Transkript ist als Ergänzung zu verstehen, um beispielsweise die Inhalte durchsuchbar zu machen. Im Zweifel gilt immer das gesprochene Wort aus der Folge.
Dieser Podcast lebt von deinem Feedback! Melde dich gerne über die verlinkten sozialen Medien oder direkt per Mail an podcast@inovex.de.
Wenn dir der Podcast gefallen hat, abonniere ihn und erzähl deinen Freunden davon! Außerdem freuen wir uns über deine Text- und/oder Sternebewertung bei Apple Podcasts.
Twitter: https://twitter.com/inovexgmbh Instagram: https://www.instagram.com/inovexlife/ www.inovex.de www.inovex.de/blog
Transkript anzeigen
00:00:00: Intro
00:00:07: Hallo und herzlich willkommen zu Digital Future dem inovex Podcast,
00:00:11: mein Name ist Wolfgang Schoch und ich bin Agile Coach bei inovex ich habe hier aber auch schon als Softwareentwickler Experte für Suchtechnologien und im Sales-Team gearbeitet,
00:00:21: ich freue mich euch in jeder Folge eine Kollegin oder einen Kollegen vorzustellen und mich mit ihnen über ihr Fachgebiet zu unterhalten.
00:00:29: So erhaltet ihr einen Einblick in unseren technologischen und Unternehmenskultur allen Alltag,
00:00:34: in der heutigen Folge unterhalte ich mich mit meinem Kollegen Christoph über das Thema infrastructure as data
00:00:40: christoph arbeitet seit vielen Jahren bei uns und hat sich in dieser Zeit vor allem mit kubernetes Automatisierung und anderen Infrastruktur Themen beschäftigt,
00:00:49: ich lasse mir im Gespräch erstmal erklären was Infrastruktur eigentlich ist und dann sprechen wir ganz konkret darüber was ich hinter infrastructure as data verbirgt und wie sich das z.b. von infrastructure as Code unterscheidet und jetzt wünsche ich euch ganz viel Spaß mit dem Gespräch,
00:01:04: hallo Christoph ich freue mich dass du heute da bist und ich freue mich auf unser Gespräch
00:01:08: bevor wir aber in die wunderbare Welt der Infrastruktur abtauchen würde ich mich auch freuen wenn du dich vielleicht mal ganz kurz vorstellst wer bist du denn wie lange bist du schon hier bei inovex und was machst du so den lieben langen Tag lang.
00:01:22: Ich bin Christoph vertrau ich bin seit ca sie jetzt bei einer Max glaube ich und was mache ich den lieben langen Tag ich beschäftige mich hauptsächlich mit vanitas Plattform,
00:01:36: und Infrastruktur Kommissionierung und aber auch mit der Wicklung von Golan.
00:01:46: Applikation also recht breit aufgestellt was meistens im Fokus auf Infrastruktur.
00:01:54: Er verspannt ja und Infrastruktur ist ja auch das richtige Stichwort wir wollen uns ja heute über infrastructure as data unterhalten und nicht möchte ehrlich sein weil ich sehr gerne hier ehrlich ein Podcast bin
00:02:05: Infrastructure sagt mir natürlich was aber infrastructure as data habe ich es erste mal aus deinem Mund gehört als wir uns vor einigen Wochen mal drüber unterhalten haben was für ein Thema dass wir besprechen können
00:02:16: und deswegen ist es für mich heute auch eine besondere Folge weil ich lerne heute ganz viel dazu und ich finde es schön was dazuzulernen,
00:02:24: christoph bevor Winterzauber über infrastructure as data unterhalten wird mich erstmal interessieren was ist denn für dich eigentlich infrastructure weil das ist für mich so ein Begriff,
00:02:34: der ganz Unterschiede ausgelegt werden kann und aus dem Grund freue ich mich den Begriff heute mal von so einem Profi wie dir definieren zu lassen.
00:02:43: Er ist auch ein Begriff der sehr sehr breit sein kann und auch sehr davon abhängt wie jetzt ein Unternehmen,
00:02:53: aufgestellt ist und Ihre Applikationen betreibt also du hast halt was man typischerweise als Infrastruktur bezeichnet oder ein verstärkter ist halt der Teil der halt.
00:03:03: Nicht zu meiner Applikation gehört und quasi nicht.
00:03:07: Direct call mein Kot ist sondern eher das drum herum wie z.b. die Server auf dem man Code läuft der kubernetes Cluster Wennigsen Cluster verwende wenn ich Datenbanken habe,
00:03:18: gönn dir auch,
00:03:19: und die quasi ich mich in der Cloud befinde und Datenbanken es ist service konsumiere ist es Infrastruktur das ganze Netz sei es in der Cloud oder auch on-prem bin ich halt noch.
00:03:32: Router und Switch in einem Rechenzentrum habt dass es halt alles in versteckter und deswegen ist es auch sehr abhängig davon was jetzt gerade,
00:03:42: die sag mal die Umgebung ist in der ich meinen Code betreibe wenn ich mich im Rechenzentrum befinde ist in verspannter er halt sowas wie Server also physische Server Switches,
00:03:53: vielleicht sogar auch cages wenn ich halt immernoch Aigner Rex habe Strom,
00:04:02: stimmt es dass er die Infrastruktur wenn ich mich Richtung Cloud bewege ist das halt eher so vollends ihrem user accounts irgendwelche Datenbanken Instanzen in meinem databases Service.
00:04:15: Und das alles verschiebt sich halt je nachdem wo ich mich gerade befinde.
00:04:19: Wobei wenn ich das jetzt richtig verstehe würde ich sagen dass wir hier unterschiedliche levels von Infrastruktur haben oder also wenn wir jetzt für einen Kunden und Projekt machen in der Cloud und du jetzt in so einem Projektteam wärst würdest du dich als darum kümmern wahrscheinlich das in der Cloud hier
00:04:34: alles vernünftig provisioniert wird dass alle Datenbanken bereitstehen dass irgendwelche Zugriffe richtig koordiniert sind das da alles passt
00:04:43: aber wenn jetzt wenn du jetzt bembe bei diesem Anbieter arbeiten würdest von der Cloud also jetzt bei einem von den großen z.b.
00:04:51: Dann würdest du dich ja auch physikalisch um irgendwelche switches kümmern und um irgendwie Hardware die dann die SAP Cloud platform bereitstellt oder.
00:04:59: Genau das verschiebt sich natürlich ein welche je nachdem welcher Perspektive man ist.
00:05:06: Das in verstecktes data wird hauptsächlich aktuell im Cloud Bereich gefahren,
00:05:12: weil man hat im Cloud Bereich wirklich Infrastruktur dann,
00:05:17: über Apps automatisiert bereitstellen kann das kann ich je nach,
00:05:24: Automatisierungsgrad im Rechenzentrum natürlich auch da gibt's dann auch bei der ganz großen die die die,
00:05:31: gute bestell mittlerweile halt Hardware Container weiße bzw Rechenzentrums Weise und wird das alles nur noch verkabelt,
00:05:39: aber wenn man z.b. in manchen Unternehmen unterwegs sind die noch sehr viel am Pram machen die anderen auch schon sowas wie ich brauche neuen Server also gehe ich ins Ticketsystem und schick mir nen neuen Server und der wird dann eingebaut und muss mich nicht mehr drum kümmern,
00:05:51: der größte Unterschied dort ist halt die die Vorlaufzeiten.
00:05:56: Na Cloud sage ich ich brauche neue neuen Server 9 mal in Datenbank und dann ist sie vielleicht eine halbe Stunde Stunde und schnell geht sogar zehn Minuten da.
00:06:06: Auf der Ems sogar teilweise Inhalt von der Minute bei dem Server.
00:06:11: Kann halt auch mal wo aktuell mit den Zug light chain is used natürlich auch mal ein zwei Monate bis halbes Jahr dauern bis es da ist.
00:06:21: Deswegen ist aktuell der also das wo ich in verschicke erstellte hauptsächlich vor treffe ist halt im Amtsbereich.
00:06:29: Ja das ist ja aber für uns auch momentan so ein ganz großer Bereich wenn wir uns glaube ich die ganzen Kunden anschauen,
00:06:36: die meisten machen doch irgendwas in der Cloud aktuell weil es einfacher ist weil man
00:06:41: einfacher schneller reagieren kann und du hast es gerade angesprochen beim physikalischen Server dauert vielleicht 2 Monate wegen den ganzen Supply Chain Themen
00:06:49: aber die Problematik und es gibt es waren dann die Hardware hat ich kann mich aber auch gut erinnern an Projekte vor 5 oder 14 Jahren wo man dann in die physikalische Hardware brauchte und es trotzdem relativ lange dauert aber du auf der einen Seite die Lieferzeiten hat es aber vielleicht auch so im großen Konzern
00:07:05: noch irgendwelche da Prozesse bist du eine Bestellung danach wird die ausgeführt werden konnte das dauert dann noch mal und zu mal so warum hat dass man dann teilweise auch im Monat oder so das vielleicht an die Hardware da war
00:07:17: okay spannend ja ich fand es noch mal interessant hier noch mal zu unterscheiden weil infrastructure das ist das ist halt bezüglich noch mal so diese Ebene gibt wo man im Rechenzentrum in was verbaut,
00:07:28: da gabs doch vor einigen vereinigten Monaten hatte ich hier mal eine folge da haben wir auch über Infrastruktur gesprochen und da hat der Kollege erzählt dass er an dem Tag auch im Rechenzentrum war und Stars von Grafikkarten noch verbaut hat damit wir welche machine learning Sachen da drauf rechnen können also
00:07:46: Rafiki.
00:07:49: Das gibt's auch was man halt eher im Brechzentrum wenn man darin versteckt ist älter machen würde er macht ist dass man halt.
00:07:59: Den Provisionierung stand der Infrastruktur als Datenbank erfasst dass man da häufig macht es in dem Fall tinsner Netzwerk und falls ihr beliebtestes Netbox was ist ein Datenbank Tool wo ich quasi den soll.
00:08:11: Viele verwenden es zum dokumentieren.
00:08:17: Aber der eigentlich der coole gefalle so wie ich das auch schon in ein Zweibrücken kennengelernt es net Box als,
00:08:23: single source of truth zu haben also ich trage Networks an welcher Server steht wo welche Grafik welche,
00:08:32: welcher Router ist mit welcher Software verbunden welche IP sind wo welche Routen sind wo welche Konfiguration ist wo das trage ich dort ein das habe ich dir auch schöne Überblick wo welche Hardware physikalisch steht.
00:08:47: Aber ich kann dann direkt wenn ich das passend automatisieren über passende wie Constellation Lux und deployment Loops würde ich dann halt aus Netbox meine Router durch konfigurieren.
00:08:58: A-ok.
00:08:58: Habe ich quasi in meiner Netbox Istkosten und Webapplikation mit einem eiskalt Datenbank darf ich meine Daten vorlagen und meine 11 erschöpft als data beschrieben und daraus.
00:09:08: Entsteht dann die richtige Infrastruktur.
00:09:11: Andras schon gesagt.
00:09:12: Ist ja auch dass wir auch so einen Infekt scheiß data Ansatz.
00:09:16: Du hast gesagt in dem Fall wäre dann Netbox halt die single source of truth was glaube ich
00:09:22: immer eine gute Idee ist wenn man irgendeinen komplexes Gebilde hat wenn man eine eine Quelle hat wo in das beschrieben ist und man sich auch drauf verlassen kann dass das wirklich korrekt ist und das ist nicht noch irgendwo
00:09:33: warum postet irgendwo geht oder einer Textdatei bei jemand auf dem Laptop wo noch mal beschrieben ist achtung hier bei der Konfiguration ganz wichtig haben wir aus irgendeinem Grund noch was verändert.
00:09:43: Deshalb also.
00:09:47: Das schöne ran ist so an so Tools wir net Box wo dann auch gleichzeitig noch eine schöne grafische Übersicht dabei rausfällt und wo man sich halt auch durchklicken kann durch das ganze System ist.
00:09:58: Der langweilige Teil der Dokumentation was ist wohl und der auch sehr schnell outdated wird weil niemand das gerne pflegen mag entsteht automatisch.
00:10:08: Weil das ist ja meine Songs auf tschüss und das ist halt so prozessual kann ich mich dann halt auf die Dokumentation beschränken die spannend ist nämlich das warum.
00:10:18: Und wie wir Probleme gelöst haben das was existiert und wo es existiert das ist halt fällt dann automatisiert aus mein Prozess raus weil ich das halt.
00:10:28: Meine Dokumentation als als hausaufzug benutzen.
00:10:32: Okay und jetzt sind wir ja schon mittendrin im Thema wenn was sagen infrastructure ist data und du fragst du hast bald was jetzt ne Box und Rossmann Datenbank und da dokumentiert du
00:10:43: wie die Infrastruktur aussehen soll und du kannst aus diesen Daten dann beispielsweise in welche Router automatisch konfigurieren das aus der Dokumentation,
00:10:54: dann quasi so die Realität Zeugen und nicht andersrum weil so bei der Software-Entwicklung ist es ja
00:11:00: traditioneller genau andersrum man entwickelt was und dann dokumentiert man es noch entweder im Kot oder man hat vielleicht noch irgendwie eine Wiki Seite wo man bisschen so high level noch was beschreibt
00:11:10: aber das ist ja hier dann genau andersrum du beschreibst ist ne und daraus wird dann jetzt zum einen der Router konfiguriert oder die Route zum anderen
00:11:20: was passiert mit den Sachen die ich nicht automatisch konfigurieren kann also wenn ich vielleicht noch also vielleicht ist es naiv ich bin nicht so der Infras,
00:11:27: Wartezeit muss ja noch ein Kabel einstecken vielleicht muss ich ja.
00:11:30: Das ist natürlich das muss natürlich wenn man dann Remote hands und Rechenzentrum, sich einkaufen oder selber machen.
00:11:37: Aber auch für die kann man dann halt je nachdem wie groß die Organisation ist und wie viel man da denn investieren möchte dein fasse Schritt ist natürlich dann auf snap Boxen verkabelungsplan rausfallen lassen als Excel-Tabelle oder sowas.
00:11:53: Oder das andere wäre natürlich dass dein dein remote Hand dann im Tablet dabei hat und sofort sehen kann wo was hin soll.
00:12:01: Und das dann theoretisch auch abhaken kann dann irgendwie so hey okay habe ich gemacht habe ich gemacht habe ich gemacht.
00:12:06: Oder umstecken.
00:12:10: Also das ist dann natürlich auch je nachdem wenn du dann also das ist dann ganz ganz,
00:12:15: fancy das habe ich auch noch nirgendwo gesehen was kannst du theoretisch machen wenn du dann in welche Regeln hast das dann quasi natürlich auch derjenige wenn ein Kabel um steckt das in der Box um trägt und dann halt automatisierungsprozesse anstößt dir dann eine Umkonfiguration anstoßen,
00:12:30: aber das habe ich noch nirgendwo gesehen aber wäre theoretisch möglich.
00:12:35: Aber das bedeutet doch dann das infrastructure as data so wie du mir dass du es beschreibst das ist ja dann schon richtig dekorativer Ansatz um mit wirklich die Infrastruktur zu definieren.
00:12:48: Genau ich habe wirklich auf diese verstocktes data und nicht Escort es gibt auch deklarative in verstecktes Code Ansätze wo ich meine Infrastruktur deklarativ beschreibe also beschreibe was sein soll.
00:13:03: Nicht wie das erstellt werden soll es ja der große Unterschied zwischen deklarativ und.
00:13:09: Und nicht der klappt.
00:13:10: Imperativ.
00:13:12: Andere operativer Programmierung oder imperative Code sage ich ja wie,
00:13:17: der der der Rechner das Ergebnis erzeugen soll und Bei deklarativen Sachen erzeuge ich ja nur was ich haben möchte und überlasse die Lösung dem Computer,
00:13:26: klassische Beispiel ist echt cool SQL z.b. sag ich ja auch nur was ich haben möchte und dann findet die Datenbanken periplan und mir die Daten aus der Datenbank aus.
00:13:37: Wie das jetzt gemacht wird es ja mir dann egal bei ihm versteckt heißt Code gibt es selber zu meiner terraform ist ein großer Beispiel wo ich gerade sage ich möchte halt gerne diese 50 Server haben ich kann da noch ein bisschen.
00:13:50: Da hat sie älter hätte Kopf Konfiguration language kann ich noch ein bisschen mit f&l spielen und variablen und kann auch so Dinge machen wie.
00:13:59: Okay für euch zwei Spieler klaut ist es häufig so ich bräuchte dann für Egner Datenbank die muss dann irgendein Subnetz laufen.
00:14:09: Das tut mir leid die und ich brauche jetzt um die Datenbank anzulegen die ID von dem Subnetz sondern terraform kann ich dann so Dinge machen die okay.
00:14:18: An der Stelle wo jetzt der didia die Erstein soll von dem Subnetz nehmen einfach aus diesem anderen Subnetz Geschosse die halt die da gibt's dazu Inputs und Outputs in terraform.
00:14:28: Dass er möglichst mir quasi mein Infrastruktur beschreiben und dann mit dem terraform apply heißt es dann,
00:14:34: diesen CoDeSys Modell was ich beschrieben hat quasi gegen eine IP von dem Cloud-Provider oder sowas auszuräumen und dann werden halt die Änderung gemacht die ich in meinem Hotel beschrieben habe.
00:14:46: Ja bald aber auch sowas mit for Loops und ist von Eltz und es auch schon recht deklarativ aber ich habe halt immer noch.
00:14:56: Variabel tritt einfach.
00:14:59: Und dazu der Unterschied dann Richtung der nächste Schritt dann bye bye infrastructures data ist ich würde.
00:15:07: Meine Infrastruktur als Datenmodelle beschreibt also als wie in der nächsten Netbox dann quasi irgendwo.
00:15:14: Ablegen okay ich hätte jetzt hier in Subnetz und hier eine Datenbank würde aber der Datenbank sofort schon die ID eintragen.
00:15:23: Von diesem Subnetz und bräuchte halt irgend anderen Mechanismus der die ID von Subnetz in die Datenbank überträgt.
00:15:30: Außenrum der das dann quasi vorher anlegt und ablegt z.b.
00:15:36: Da das kommt vor allen Dingen geradeaus der also im Cloud Bereich was dafür gemacht wird ist Crossplay.
00:15:44: Das ist von der Firma abbauend in Open-Source-Projekt Siam Produkt er aufgebaut aber das eigentlich ist doch groß Open Source Ökosystem,
00:15:55: das ermöglicht dir deine Infrastruktur also eine Cloud-Infrastruktur vor allen Dingen als kubernetes Ressourcen zu beschreiben.
00:16:03: Habt ihr schonmal Podcast kubernetes auf ja schonmal.
00:16:07: Es gab schon es gab schon bisschen was zu kubernetes also verlinke ich auch gern.
00:16:11: Genau aber vielleicht nochmals Grund liegen und Modellen kubernetes habe ich halt Objekte die ich mit ganz einfachen Aktionen wie löschen anlegen update and delete also Quad Operation auf ist Horst machen kann.
00:16:26: Und diese Ressourcen werden einfach indem kubernetes API Server abgelegt und.
00:16:33: Dann passiert erstmal nichts etwas aufpassen nichts ist falsch aber das Grundprinzip von kubernetes ich habe irgendwo mein Soll-Zustand als Ressource beschrieben und dann gibt's in kubernetes diverse Controller,
00:16:47: die dann sogenannte wie Constellation Lux fahren,
00:16:51: da kann man sich halt so vorstellen dass Colin diesen kubernetes Cluster kriegt halt den Soll-Zustand z.b.
00:16:57: Wenn jetzt gehe noch mal von mein Fasten aus ist 1 im Pott das ist quasi das was in kubernetes so die einfachste compute unit ist das ist so wie ich halt meinen,
00:17:07: man Docker Container z.b. dann starten würde kubernetes dein Pott und da würde ich halt beschreiben okay es gibt da so ein bisschen.
00:17:14: Metadaten ist lackiert und hat den Name und ist infolge Namespaces und so die quasi die Metadaten für kubernetes um zu wissen wo es diese Geschosse hingehört.
00:17:25: Da kann ich in sogenannten spec beschreiben welchen Container gibt es in den Port welches Image soll verwendet werden welche Umgebungsvariablen sollen gesetzt werden.
00:17:34: Soll wie viel CPU Ressourcen braucht der wie viel memory braucht der,
00:17:38: das erste was dann passieren wird ist der erste controlup dir dann los läuft so ziemlich ist dann der kubernetes Scheduler weil der sieht dann ons Import indem spec ist das Feld nodename' noch leer.
00:17:50: Hat er noch niemand rein geschrieben und dann wird der scattola in scheduling Algorithmus laufen lassen auch auf Basis von den Eingaben zu mal gucken wie viel CPU memory is awesome braucht isopod wird sich alle,
00:18:01: Knoten im kubernetes anschauen das auch wieder nur Ressourcen sind in der EPA und guckt sich auf welchem Note wird die Support jetzt noch drauf passen und schreib dann einfach nur die Noten haben da rein und dann ist es geldiler fertig.
00:18:14: Und da gibt es anderen,
00:18:16: Controller zu der der das Cubelite das läuft dann auf dem Note und das sieht dann auch das hot beschrieben in RLP als soll Zustand und guckt quasi welche Container laufen bei mir oder putzt,
00:18:28: met.no der Pott ist ja gar nicht bei mir der soll bei mir sein aber ich habe mir noch nicht gestartet und würde ihn dann starten.
00:18:34: Okay dass die Agenten sich diese zwei Algorithmen dann dazu hast auf der A1.
00:18:38: Die Agenten sich und und du hast hat so eine re Constellation Rückfall Kursus zu Controller die quasi immer für sup Set oder für eine ganze Kiste dass man bisschen unterschiedlich zuständig sind aber die haben soll Zustand und den versuchen jemand zu erreichen.
00:18:52: Und was ich damit natürlich auch erreichen kann ist dann so wenn jetzt z.b. meinen mein Club lädt,
00:18:59: was erbt mein Not ist z.b. ausfällt was auf Hardware läuft oder in der Cloud dcevm stirbt,
00:19:05: und ich sie Neustart und sie komplett neu hochkommt geht kommt das Tube LED und sieht dann jemand er immer im soll Zustand von kubernetes steht halt dass diese zehn Potts beim laufen sollen aber die laufen nicht also würde die wieder starten.
00:19:17: Dadurch kriege ich halten System hin was ich immer Richtung diesen soll Zustand konvergiert.
00:19:24: Dadurch auch robustes.
00:19:26: Auszeit robust gegen Ausfälle weil's halt immer diesen Soll-Zustand versucht zu erreichen und es ist einfach erweiterbar weil ich könnte ja z.b. neuen Controller gibt ein Controller der der.
00:19:40: Edicue Proxy das ist auch wiederum eigentlich nur ein Controller der ist dafür zuständig,
00:19:46: IP table Regelung zu schreiben und das sieht dann auch der Pott läuft bei mir der Folgen IP bekommen von YouTube live bestimmt nämlich Therapie und dann sieht das Tubebox ist Jappy und wird dann Jappy table Tools anpassen aber ich kann dadurch quasi mein System immer.
00:20:00: Erweitern ohne jetzt so Verwicklung wird man sagen ein aufeinander loose coupling von den ganzen System weil.
00:20:08: Die Kontrolle guckt einfach nur auf den solchen standen ist egal wie das jetzt im kommt z.b. dem dem dem tubelight ist es egal wie jetzt der,
00:20:17: das Geld Jula zu diesem Notennamen kommt oder ob der User direkt Leutnant reingeschrieben ist auch ein Trick was und übernächste mal schreib aber die Noten am Rhein dann geht das geht los.
00:20:25: Und geh weg oder ich kann zwei verschiedene Sky die Lampe nutzen.
00:20:31: Das und dadurch habe ich ja so eine Deckplatte Beschreibung von meinem soll Zustand und ich habe in diesen ganzen Specs habe ich keinen if-then-else mehr diese ganze Logik ifthenelse sindiso Controllern.
00:20:43: Cosenot Beschreibung des soll Zustand und das kann ich jetzt übertragen auf meine Cloud-Infrastruktur mit Crossplay da kann ich z.b. eine kubernetes resource anlegen gesagt ich hätte jetzt gern,
00:20:53: auf der ABS eine Erde erst also eine relationale Datenbank.
00:20:59: Und dann gibt's im kubernetes einen Controller der dann guckt ok da ich hätte jetzt gerne Erde erst mit folgenden Parametern gibt's diese Erde Erstinstanz bearbeitet und für die dann herstellen.
00:21:11: Da ist ja nicht so Controller die Logik und.
00:21:17: Die ganze die ganze Logik in diesem Controllern die ist dann aber jetzt in dem speziellen Fall schon Bestandteil von kubernetes oder sind das Dinge die ich immer komplett selbst auch implementieren muss oder gibt's dann gewisses Grundsatz.
00:21:30: Also, es gibt gewisse Grundsätze für infectious code as data Berdan jetzt ein verstärktes data wäre dann jetzt Crossplay dieses Set an Controllern als das bietet dir das ist großes Grundprinzip von Crossplay dass ich halt diese.
00:21:45: Ganzen Controller bekomme für jetzt eine und auch die ganze Geschoss Beschreibung für eine Adressdatenbank für eine Google Cloud Netzwerk für alle Christoph quasi.
00:21:58: Ja das ist das dann quasi in Framework was ich dann einfach dazu nehme
00:22:02: und damit kann ich dann ohne selbst noch etwas entwickeln zu müssen dann einfach infrastructure seedata machen und dann ganz deklarativ beschreiben wie es so meine ja Infrastruktur aussehen soll.
00:22:13: Genau und die ganze Logik wie es mich jetzt aus der Beschreibung zu aktuellen Fachrichtung komme dass es dann halt in dem indischen Controllern drin.
00:22:24: Okay,
00:22:25: der Christoph das klingt ja eigentlich ganz einfach also natürlich nur wenn man im Kontext von kubernetes überhaupt einfach sagen kann aber
00:22:35: ich habe das gerade so in meinem Hinterkopf ein bisschen verglichen mit mit so einer SQL-Datenbank du hast zwei Spiele auch gebracht und.
00:22:41: Für mich war das auch das erste Mal meinem Leben dass ich was von deklarativen Beschreibung gehört habe damals mit Studium als wär SQL durchgenommen. Und ich fand das damals im Studium schon ganz cool so diesen Ansatz
00:22:53: hey das hat sich jetzt nicht hin und programmierst was von überlegst wie du mit welchem Datenbanktabellen was machst und du selektiert was und du gleichst es ab und du ziehst ja nach dem Algorithmus aus den Fingern
00:23:02: die du wahrscheinlich schlecht umsetzt weil andere Leute die ist mega drauf vom haben das schon 20 Jahre vor dir viel besser gemacht
00:23:09: sondern du beschreibst einfach was du haben möchtest und Automarke es geht dann sonst System ran und präsentierte das Ergebnis
00:23:16: und ich habe gerade eben auch noch mal nachgedacht ob mir nicht Siri language einfällt die jetzt nicht declare
00:23:23: TV unterwegs ist und da das ist mir spontan zu dir eine quiri lenkt dich gar nicht eingefallen dass du kannst mir nicht data science Master kannst du mit irgendein data Frames arbeiten dann programmierst du auch viel dazu keine Ahnung wenn du es was bezahlst Park arbeitest oder
00:23:39: bin ja so alt ich habe doch von MapReduce Geschichten kennengelernt da hast du ja auch noch viel programmiert das nicht wirklich deklarativ,
00:23:47: aber so reine quiri Sprachen die sind finde ich schon mehr oder weniger
00:23:51: also zumindest die die ich kennen wenn wenn ihr da draußen seid ein wenig viergelenk wird gescannt die Imperativ sondern schreibt mir gerne ich lerne immer gern was dazu aber diese diesen Ansatz den finde ich schon ganz cool.
00:24:03: Am in der Infrastruktur ist es dann aber trotzdem was relativ neues oder gibt's diese denke schon schon lange bei euch in der in
00:24:13: der deiner Branche.
00:24:15: Das ist ja eigentlich,
00:24:17: terraform ist im ähnlichen Ansatz gestartet Hey ich möchte mein Infrastruktur deklarativ beschreiben indem ich meinen terraform resource and haben und was halt and terraform klassischer Vertreter von in vscode,
00:24:30: halt ist ich habe.
00:24:34: Also tableting Möglichkeiten weil was halt viel schnell aufgekommen ist ich möchte jetzt z.b. 20 Server haben.
00:24:42: Die alle gleich aussehen außer der Name und die API ist immer um 1 Uhr inkrementiert weil es halt Server 1 bis 20.
00:24:51: Und dann fange ich halt an.
00:24:53: Und dadurch dafür terraform alt ist das Konzert von Kauns und jemand kam jetzt auch f&l zum jetzt quasi auf stage sieht anders aus als der Fall Sport und dann gibt es halt eine Resource nicht und male sie größer kleiner dafür gibt's dann variabel in Tellerform.
00:25:07: Wenn man sich bei terraform quasi ganz.
00:25:12: Meisten variabel einfach weglässt kann man damit auch schon in verstecktes data quasi machen was dann noch fehlt bei soll ich kurz komplett ist variabel und count und sowas weglassen kann ich auch meinen verschickten komplett als Datum beschreiben weil dann ist diese hashicorp compression language,
00:25:25: kann ich dann auch als Jason schreiben dass er auch quasi komplett statische Daten.
00:25:30: Was kostet der große Unterschied dass oder was mit einer Freundin aus Haus aus noch fehlt ist ich bräuchte sowas wie ein als bei Terraformer ich einmal in der Playa da mit Infrastruktur hingestellt und wenn jetzt quasi,
00:25:44: immerhin geht und in meiner Westportal geht und dann an der VM rumkriegt und die neu startet oder verändert dann würde terraform das erst mitbekommen wenn das nächste mal wer terraform apply.
00:25:56: Aus Hürth,
00:25:57: und das können wir das durch automatisieren nebenbei sein terraform apply alle Stunde ausführen lässt oder alle halbe Stunde und für diejenigen die schon länger dabei sind alle halbe Stunde rennt ein irgendwas hin,
00:26:07: da klingelt das ist so wie puppet das gemacht hat mit Konfigurationsmanagement damals schon,
00:26:12: Gärtner so ich hatte meine Soll-Zustand von der Konfiguration von meinem Servern halt beschrieben in puppet.
00:26:20: Russian language der Garbsen auch ihr von Eltz und Beziehung zwischen Ressourcen und das ist dann auch alle halbe Stunde hingegangen und hat das diesen deklarativen Soll-Zustand versucht herzustellen.
00:26:31: Aber halt da auch noch kommt halt dann auch Ruby verwenden in puppet.
00:26:37: Wieder wieder Kot und das ist der groß also das immer schafft das Date dass ich komplett neu dieses ist gibt nur die Constellation Luke die halt immer versucht ihn raus soll Zustand herzustellen hat puppet schon vor zehn Jahren,
00:26:49: mehr und bestimmt auch andere Konfiguration languages die quasi wo ich meine soll Zustand die dann als Periode hingegangen sind und versucht habe das herzustellen.
00:26:59: An Deck der großen neue Ding ist quasi ich habe,
00:27:02: ich beschreibe es wirklich als Datum das einzige was bei Crossplay z.b. noch machen kannst ist ich kann sagen okay wenn du hier das anlegst dann nehmen bitte die ID auf diesem anderen Objekt ist kannst du Cross Objekt Referenzen machen.
00:27:16: Was nimmt das von.was wieder so ein bisschen Template isierung rein bringt aber
00:27:21: was kostet denn dann automatisiert macht mit den will Constellation Lux da sind wir dann wieder Richtung dem was du hattest mit crazy language Gewittern merken ok ich brauche jetzt bei der Datenbank die ID von dem Netzwerk also wird der 1. netzwerkobjekt translator.
00:27:36: Wir kontrollieren also erstellen der soll Zustand herstellen und wenn er dann die ID hat dann kann er merkt okay ich habe hier die ID und dann wird der Controller für die Daten bei Mirko ich kann mit dir die da rausnehmen aus dem anderen Objekt als jetzt drin steht im Status oder spec.
00:27:51: Und dann kann der weitermachen und da kommen wir dann wieder Richtung dieses SQL Ding ich komm ich gib mal soll Zustand hin und das System weiß wie es dahin kommt der der gesagt dass der größte Unterschied ist eilig ich habe in meiner.
00:28:06: Beschreibung diese ganzen variable nicht mehr isst kann nicht über sagen okay das ist jetzt ich muss quasi diese Infrastruktur dieses Dart deklarative Beschreibung meiner Infrastruktur vorher ändern.
00:28:20: Und da kann ich dann wieder alles benutzen ich kann terraform benutzen ich kann irgendwer Scripting Sprache benutzen irgendwie Template imagine wihelm oder Ginger oder was auch immer mir gerade gefällt.
00:28:31: Oder ich gehe halt hin und habe irgendwo Netbox Regen andere Datenbank aus der ich dann programmatische quasi.
00:28:40: Meine ganze Infrastruktur generiert.
00:28:42: Ja aber das wäre ja dann nur die Frage wie mache ich jetzt aus dieser deklarativen Beschreibung dann noch wirklich eine funktionierende Infrastruktur bzw wie konfiguriere ich jetzt meine klaute cetera.
00:28:53: Wendet das ist der Controller Seite aber diktieren Import für diese Controller diesen soll Zustand die kann ich entweder händisch unterschreiben.
00:29:00: Da geht halt jedem Klinik oder dass das Messer in der Tasche auf weil ich halt total viel Kot dupliziere und habe in meinem.
00:29:08: In verstockter is data ist halt wenn ich halt 20 Server brauche habe ich halt 20 mal dasselbe Objekt mit drei verschiedenen drei Zeichen Unterschied.
00:29:18: Und da kann ich natürlich wieder Tools vorher verwenden um das herzustellen.
00:29:23: Oder zu generieren der Kurs das coole ist wenn man jetzt in verstecktes Delta mit so process Dingen wie geht ob es kombiniert.
00:29:32: Wo ist hatten ein Git-Repository mein Soll-Zustand habe von meiner Infrastruktur und etwas in meinem kubernetes Cluster dates,
00:29:38: cos periodisch wielandweg on the constellation Periode an das Getriebe geht und dass den das was quasi gerade in Maine liegt in mein Cluster als Soll-Zustand Ausrollen dann kann ich halt so Prozesse abbilden ok jemand,
00:29:51: generiert jetzt die neue Soll-Zustand der Infrastruktur erstellt ein merge request und in magic Rest sehe ich dann halt den dich von dem alten soll Zustand zu dem neuen soll Zustand.
00:30:03: Nachdem und der der Reviewer kann sich sicher sein okay das was ich hier vor mir liegen habe ist wirklich der soll Zustand Infrastruktur nicht noch.
00:30:12: Na Tablet also mit terraform Code kann ich das natürlich auch machen aber da habe ich halt immer noch so wie verhält sich der Code den in Produktion weil ich habe ihr variabel.
00:30:21: Mini versteckt das Date als okay das ist es.
00:30:23: Das ist das spannend weil ich glaube ich glaube infrastructure as Code trat ja damals auch damit an dass man gesagt hat okay wir können dies der Infrastruktur Daten ihr könnt jetzt versionieren ihr könnt dann fein geht reinwerfen und
00:30:38: wir haben es nicht mehr im Wiki also,
00:30:41: ich wollte ich würd es nicht von mir behaupten dass ich nie Infrastruktur Profi bin und ein Admin oder sowas aber früher hätte gestern diesen berühmten alten Zeiten
00:30:50: da habe ich oft auch alleine in den Produktivsystem betreut hat man sich eingeloggt über SSH da hat man dann manuell entweder man Tomcat am Start und dann hast du ja manuell in den war File oder so Detroit
00:31:02: das war dann produktiv System und ich habe dann immer ganz viel geschwitzt und gehofft dass sie nicht irgendwas kaputt machen mit meiner Linux Grundkenntnissen darf der Maschine,
00:31:11: unter später kam er dann infrastructure as Code sowas wie du es beschreibst zu terraform oder so, dann gesagt hat ey wir können's versionieren das ist schon mal wichtig,
00:31:21: und wir haben dann auch die single source of truth falls in unserem Repository drin liegt und bei
00:31:27: infrastructure as Code habe ich immer noch gehört dass man das auch eh wieder automatisiert testen kann
00:31:33: je nachdem was für ein System dass man dann nur zwei hay Couch also wenn ich Java Code schreibe Danny ausführen kann kann ich dann jejunitis dafür schreiben und ich weiß nicht wie es ist gibt es vielleicht für terraform oder sehr ähnliche infrastructure as Code Wahlsysteme gibt vielleicht auch Möglichkeiten wie ich so ein
00:31:50: Destiny durchführen kann gibt's Suppe.
00:31:52: Es gibt so was es gibt einmal seit statische Linter die der Code nach Fehlern durchsuchen oder wurde auch
00:32:00: was ist statische Code Analyse machen kannst das Problem ist wenn du für ihn versteckt ist Code Unit Test schreiben möchtest und mir zugucken was generiert dieses Tablet wirklich mit folgen variabel Weichert ist und 11 und das kann halt dann je nachdem wie viele Waben ich habe und sie,
00:32:13: Chinesisch ich mal kurz schreibe halt auch,
00:32:16: sehr unvorhersehbar sein was jetzt wirklich erzeugt wird wie bei normalen Kot auch aber das Problem ist wenn du ihn versteckt ist codeunit testen möchtest.
00:32:25: Bleibt also kannst du noch gibt so Ansätze mit ich das erst was bei terraform machen kann was ganz cooles ich kann terraform Plan machen das zeigt er mir den auch an was er ändern würde.
00:32:36: Dass er so ein manueller Test ist natürlich da machen kann es ich kann halt vor jedem committen terraform Plan machen und den.
00:32:45: Momentive anzeigen und der Reviewer wird dann sehen okay dieser terraform Code Änderung würde auch folgenden stage Schussfolge Diff auslösen.
00:32:54: Das geht natürlich auch ist halt schwer automatisierbar ich kann natürlich so policies machen okay die Pipeline wird nur grün wenn der terraform Plan kein Diff zeigt,
00:33:04: natürlich gut gegen Refactorings hilft mir aber nicht wenn ich neue Features brauche.
00:33:11: Wenn ich Unit Test schreiben möchte automatisiert und z.b. Michi regressions machen möchte weil Telefon kann ich mittlerweile auch Module machen da bleibt mir eigentlich nichts übrig als wir jeden Unit Test einfach mal kurz eine testinfrastruktur hochzufahren und abzureißen.
00:33:24: Und das etwa kosten und dauert weil dann für so ein Modul wenn es ein bisschen komplette ist kannst halt schnell mal ein so ein Run eine halbe Stunde dauern.
00:33:32: Okay das ist da das ne Menge.
00:33:35: Und wenn ich das halt lange also so soll Wicklungszahl soll für jeden Virtue Quest mindestens eine halbe Stunde ist halt ätzend.
00:33:44: Deswegen ist halt es also wenn du in verschickt ist Code wirklich viel Kot drin schreibt und diesen Dingen als schwer ja,
00:33:54: nach zu also so schwer zu Unit Test zu schreiben oder halt auch weil ich halt,
00:34:00: der Probleme terraform ist ich habe keine Abstraktion zwischen meinem Modell was ich beschreibe und das was wirklich in der Cloud erstellt wird es kann das so mein Plan des noch so das Modell das ist noch so,
00:34:11: man kann mit ganz vielen Tricks und heller vom das so machen dass du quasi ohne Module so Test ist das Essen bei gegebenen variablen sollte folgender Plan rausfallen.
00:34:19: Aber terraform gegen die Cloud geht und sich über Date das Haus ist da dein geholt und muss da wieder ist es möglich aber von hinten durch die Brust ins Auge bei dem Tool.
00:34:30: Und auch bei pulumi ist es so ein erster neueres Tool da ist ein bisschen einfacher.
00:34:37: Alles hat ein Flummi verwendet als vollwertige Programmiersprachen da könnte ich ja theoretisch Unit Test schreiben und gucken was für Objekte da jetzt rausfallen.
00:34:47: Und das kann ich aber in fast access data kann es halt wenn ich da halt eben so was also a sehe ich halt bei jedem Magic fest dass das wirklich raus kommen soll weil ich halt diese in verschicke das Data generiere.
00:34:58: Kann ich halt diesen Code dir das generiert den kann ich super unit testen weil wir gebe ich eine Eingabe und erwartete Ausgabe so bei folgender eingabe sollst du Vollmilch Essen generieren.
00:35:09: Das hat so was das soll Softwareentwickler super unit testen kannst.
00:35:11: Aber ganz kurz Christoph jetzt hast du gesagt wenn ich diese infrastructure ist data Beschreibung generiere heißt es dann dass in der Praxis diese infrastructure ist data Beschreibung ist nicht von dir von Hand geschrieben wird sondern,
00:35:26: du schreibst irgendwie inscript oder irgendwas und das generierte dann diese Beschreibung.
00:35:31: Wenn ihr einfach schutzschuh größer wird ja bei kleineren Sachen kannst du türlich selber schreiben aber wenn du übers größere komplexere Infrastrukturen hast die gewissen patterns folgen würde ich immer anfangen mit.
00:35:44: Generator.
00:35:45: Okay an.
00:35:46: Wie kann ich halt dann auf den kann ich halt dann aber auch wieder super unit testen diesen Generator weil ich hatte diese schöne trenne also weiterfahren und polomi.
00:35:57: Ultraschall beide also in terraform habe ich diese Wäschekorb conjuration language und,
00:36:01: schreib doch in meine soll ressourcenökonomie kann ich vollwertige Programmiersprachen benutzen aber ich habe immer noch nicht die Abstraktion zwischen okay ich habe etwas was aus einem.
00:36:11: Irgendwas was jemand beschreibt generiere ich ein Modell und dieses Modell wird dann irgendwie auf meine durch Controller applied sondern die gehen immer von ich beschreibe meinen meine Infrastruktur in.
00:36:26: Code direkt zu ich erstelle das dann auch das kostet kein Zwischenschritt mehr drin wo ich sagen okay das ist jetzt mein Modell für.
00:36:34: Für diese stage und der soll Zustand und kann das einfach trennen.
00:36:40: Okay aber das bedeutet jetzt aber damit ich es richtig verstanden habe bei infrastructure ist data setzt du dich ran mit mit irgendeinem tuen und du programmierst was und das warst du da programmierst und das programm kleine Script
00:36:55: generiert dir diese Beschreibung was ist das dann Format ist voll von Format assistant YAML file diese infrastructure okay.
00:37:02: Also der Regel verwendet man da halt kubernetes also, nächstes Ressourcen und da ist die Kanzlerin bei Jason oder YAML schreiben meistens ist Jamel.
00:37:13: Genauso bisschen besser lesbar als Jason noch weniger Klammern.
00:37:16: Depends.
00:37:18: Solange es keine XML ist es beides für mich fein okay das heißt du generierst JSON YAML file das ist sehr leicht lesbar für Menschen und es verhindert json-file das ist auch mitunter ganz gut lesbar und dieses File,
00:37:32: wird dann verwendet dass das nimmt ihr dan und das bekommt auch ins Repository rein das wird er rein eingecheckt rein Gehalt mal rein gecheckt oder eingecheckt,
00:37:41: vielleicht beides.
00:37:43: Es gibt diese Diät auf Deutsch Übersetzung jetzt mal nachgucken.
00:37:47: Ade lieber nicht das finde ich
00:37:49: ist aber gruselig okay das heißt du generierst du es weil du packst es bei dir ins Repository es gibt ein Magic Quest die Kollegin schaut sich so an überlegt ob das Sinn macht und wenn es Sinn macht und sagt sie ok Chaka
00:38:00: ich schließe den Märsche grässlich murders werden das-ist-drin.de verwendet dann
00:38:05: dieses Weilerswist SZ Jason the same file verwendet ihr dann wenn ihr den kubernetes Cluster hoch Fahrt
00:38:13: quasi als Konfiguration und diese speziellen Controller die es da gibt die nutzen dann die Konfiguration um sicherzustellen dass der dort beschriebene Zustand
00:38:23: auch er erreicht wird in dem Fall irgendwas wegbricht ensonh Potter abstürzt oder im Server irgendwie Feuer fängt oder so sollen die Controller dafür solange es technisch möglich ist ist der Zustand erreicht wird eine Frage,
00:38:38: wenn du jetzt allerdings Programme schreibst um dieses Jahr mal zu generieren machst du selbst dann infrastructure as Code oder infrastructure as data denn eigentlich ist doch diese data Geschichte los und Zwischenschritt oder.
00:38:53: Genau diesen Zwischenschritt aber der der große Unterschied da ist halt dein,
00:38:58: dann unterstützt hast Eltern was kosten soll Zustand das was die songs of juice ist so wie es aussehen soll ist halt in git als data abgelegt,
00:39:06: wie dieser soll Zustand hergestellt wird auf der partiell quasi generiert wird komplett generiert wird komplett handgeschrieben ist es sein.
00:39:15: Dem Level quasi egal.
00:39:18: Also dass du so redet also so vom und ja ich habe machen auch so ein bisschen im verstocktes Code bzw Entwicklung um halt meine in versteckte zu generieren da gebe ich dir Recht da ist dann wieder der Übergang fließend aber.
00:39:32: Der große Unterschied zwischen infa Schöpfers data & Co deshalb du gerne gehst nicht direkt aus dem Code die Infrastruktur sondern geht halt über dieses Zwischenmodell über dieses Haus auf Kos,
00:39:42: dabei was sie am Anfang ihr hattet ist Beispiel mit der nextcloud nexnet Netbox ich kann mir net Box natürlich händisch befüllen.
00:39:51: Und Ende statt die ganzen Sachen ausfüllen aber ich kann natürlich auch die Sachen.
00:39:56: Sag mal einem neuen Standort online und ich habe halt Vivi meine default Script was neuen Standort verkabelt und befüllt weil das sieht immer gleich aus.
00:40:10: Was ist denn auch dem Prozess dann wieder egal wie das passiert also dass das Haupt sing ist sie haben in source of truth wo drin steht wie das aussehen soll und dieses Haus of Jews ist nicht mehr in wie.
00:40:22: Ich sag mal.
00:40:24: Was hat früher bei Pappeln und bei terraform und diese ganz tut soll ich habe halt nicht so soft shoes meine variabel oder so plus ein Stück Kot und dann entsteht der Soll-Zustand soll ich habe nur noch meinen.
00:40:36: Desire state ausformuliert.
00:40:39: Und das bedeutet doch dann aber auch wenn ihr wegen größeres Projekt habt dann habt ihr ja nicht nur noch wahrscheinlich eine so eine Konfigurationsdatei also so eine data Datei dann habt ihr vielleicht 20 oder 30
00:40:51: Deuter
00:40:52: dann aber auch dass es unterschiedliche Wege geben kann wie die erzeugt werden oder also von wo das ist komplex ich schreib mir jetzt hier
00:41:02: programmierst du dann eher mit go schreib mir Ghostscript das jetzt irgendwie ganz fancy mir hier dass es dieses File erzeugt,
00:41:11: überaus gleiche haben wir doch schon mal hier gemacht das kopiere ich jetzt einfach um passt es vielleicht Manuel an bis hin zu maja das ist von der Kleinigkeit da also ich als Experte ich schreib das einfach kurz runter zehntacker passt also.
00:41:25: Du kannst natürlich auch dann die die Prozesse also dadurch das halt alles meistens dann entgeht passiert bei wenn du sowas im kubernetes Umfeld unterwegs bin ich bei nextcloud Samba kubernetes kannst du dir auch sowas bauen wie.
00:41:39: Das hatten wir dann.
00:41:41: Das quasi in irgend nem anderen Report was passiert dann ist die IP Plan wird getriggert die dann in einer anderen Pipeline lösche küsst erstellt.
00:41:51: Und dazwischen macht halten also bei ich weiß dass in den Dreck wo ich mal war dort haben die Netzwerke viel mit dem auch quasi.
00:42:01: In versch Aktionscode gemacht was die gemacht haben die hat im net Netbox war halt ihr soll Zustand wie alles kontrolliert sein soll und dann lies alle.
00:42:12: 15 Minuten alle halbe Stunde liefen gitlab ci Job der ist ging netzclub.net Box gegangen und hat die,
00:42:20: Konfiguration für alle Router generiert daraus und dann ein Magic Quest in einem anderen Repository erstellt wo die Routerkonfiguration drinnen liegt.
00:42:30: Und die konnten quasi dadurch sehr und den Ansatz kannst natürlich auch mit Kraut geschossen fahren wenn du irgendwo.
00:42:39: Deine Entwickler irgendwo was anlegen oder genau im selben Break hatten wir das umsetzen neues.
00:42:48: Software Projekte starten auf Produktion zu deployen.
00:42:52: Gabs den repo wo die ganzen Früchte drin lagen vor drin lag ok dieses Breakpoint ist das läuft im Folgenden aber erst Account und das braucht folgende Rechte dass dies die Software-Tool in AWS.
00:43:04: Und aus dieser Beschreibung wurde dann da konnten die die Leute einmal Jackass erstellen und das wird dann halt ins kubernetes entrissen ausgeräumt und da liegt ein Cronjob und hat diese ganzen Projekte angelegt an.
00:43:18: Deshalb klar gabs halt auch inscriptum jetzt neues Volk zu Buttstädt wo du nur noch die fünf Sachen eintragen musstest.
00:43:28: Aber ich konnte auch Hände Stützbrett Beschreibung erstellen.
00:43:34: Aber dass der DTTB ist was hat irgendeinen House of truth wo wirklich ausformuliert drin liegt was soll sein ohne.
00:43:43: Genau und und sie ist menschenlesbar das finde ich das finde ich auch cool bei besseres wenn der Konfiguration dass man sich es nicht irgendwie zum Code ein arbeiten mussten,
00:43:53: wenn du jetzt für die was komplexes hast und ist das einfach Code du hast nämlich Loops drinnen und zu
00:44:00: dann brauchst du heute schon viel Zeit um das wirklich zu begreifen und wenn du halt alternativ irgendwie ist schon der Konfigurationsdatei hast dann kannst du ja auch ganz gezielt auch nachschauen ob ich soll es vielleicht an der Stelle zu irgendwo sein
00:44:14: vielleicht noch ein letztes mal drauf zurück zu kommen weil ich interessant finde,
00:44:18: wir haben unterschiedliche Arten wie so eine Konfiguration entsteht wir sagen dass es unsere single source of truth bei dem Beispiel mit der Netbox wäre dann
00:44:27: diese Netbox Datenbank unsere single source of truth da gibt's wie du es gesagt dass ja auch so eine Weboberfläche wo ich mir dann die ganze Infos aber ich mal das anschauen kann oder editieren kann,
00:44:38: wenn ich jetzt aus der Netbox heraus irgendwie noch eine Konfigurationsdatei für,
00:44:44: für kubernetes Cluster generiere da wäre durch trotzdem T-NetBox meine Singles aus auf zu voll die sind diese böse config file für cubanito sitzen und Derivat dann da draus
00:44:55: und die Qualitätssicherung ist aber schon sehr stark Menschen gebunden oder das wär noch so meine Frage weil letztendlich.
00:45:03: Ist es doch dann liegt es an dir und an dein Team das dafür zuständig ist dass ihr euch einig seid dass das korrekt ist,
00:45:11: maschinell ist es schwierig dass das dann will ich also klar du kannst Plausibilitätscheck vielleicht machen
00:45:16: so ey wir wissen dass wir bei so einem System wir brauchen
00:45:22: xy&z und Fleck braucht noch eine ratio von 5 solchen Knoten zu drei solchen knotenrhythmus Tigray schon immer passen das ist unsere Vorgabe sowas kannst vielleicht automatisiert über überprüft irgendwie schon Plausibilitätscheck aber aus dem Detail korrekt ist.
00:45:38: Deins ist schon von euch habe oder dass man bei so einem Vier-Augen-Prinzip irgendwie fährt.
00:45:42: Data wenn du wirklich dann das letztendlich da hängt von von dir ab viele machen auf den letzten Schritt dann okay wenn's Kreuzau nach generierten resource also über Code dann wiederum dieses diese Datum generiert wird.
00:45:58: Auch automatische Trumans Events von diesem Boot aus dieser songs of truth dieses Datum generiert wird.
00:46:06: Dann autoruf weil wir vorher NUnit Test geschrieben haben für diesen Code.
00:46:14: Und also das dann so der Teil wo du dann so so Prozesse abbilden kannst mit okay die,
00:46:21: das Datum wird dann halt irgendwie automatisch generiert wird aus an aus einer anderen Frau softools was er natürlich nur wiederum terra wartest da kannst du dich ja wieder Prozessabbild okay das zwischen Prozess ist halt gut getestet deswegen vertrauen mit dem Hund.
00:46:35: Das ist also,
00:46:37: aber dass der Vorteil ist halt da habe ich das angeht liegt und als Datum beschrieben ist kann auch meistens relativ ist in Wolbeck machen einfach indem ich dir gibt Commentry Wort mache.
00:46:47: Na ja klar.
00:46:49: Und und sie auch genau was ich dann für Auswirkungen habe.
00:46:51: Ja klar Falle wenn du jetzt so wie du es beschrieben hast es von Setup passt dass diese Controller sich die Konfiguration nehmen und dann genau abchecken Hey,
00:47:01: brauche ich in Port mehr bei Import weniger muss ich hier was verteilen und sie kubernetes das haben wir ja schon alles hat wurde ihrem Podcast ja auch schon erläutert wie Gruppen ihr das funktioniert mit den ganzen Ports das ist in kubernetes auch egal ist wenn der mein Pot mehr oder weniger da ist
00:47:16: falls ja nicht Zustand behaftet ist dann ist es ja auch egal wenn ich jetzt ein Fehler habe und,
00:47:23: ich korrigierte hin dann kann ich sie einfach wieder anpassen ohne dass ich was verliere im besten Fall.
00:47:30: Bestenfalls deshalb einfach also das Problem bei Infrastruktur ich sage jetzt ja du kannst einfach ein git commit machen geht's zurück.
00:47:40: Meinte Klautke Zossen lass uns einfach nicht zu dass ich in Wolbeck mache dass ich z.b. auf den Ist-Zustand vorher gehe weil z.b. vorher stand drin ich soll auf Version 5 sein meine redest und ich habe jetzt auch Version 6 geupdatet 19 Zustand wieder ist heute um 5 Uhr sein.
00:47:55: Dann kann das sein dass du zwar Perez bietet Dakine kein Rollback Fahrt an.
00:48:02: Vorwärts immer rückwärts nimmer und dann hängt mein Controller natürlich in der endless Loop und der sagt die ganze Zeit ja ist Version 5 ist soll ich bin bei 6 geht nicht.
00:48:13: Oder ich hatte natürlichen Controller ohne dass liegt darauf wieder dran wieder Controller implementiertes wenn er dann natürlich.
00:48:22: Nicht sehr defensiv programmiertes was er da machen will ist er der einzige Möglichkeit um von 6 auf 1 5 zu kommen ist machs neu.
00:48:28: Ist beim Redis Cache der als Cache funktioniert vielleicht ganz super als das zumeist Geld Datenbank ist mit meinem Produktivdaten drin er doof.
00:48:36: Ja das ist blöd und ich muss da gerade ganz spontan an zum Projekt Denken in dem ich drin war da haben wir Dings eingesetzt ich glaube flyway kannst du das das ist schon da
00:48:46: Band migrationstool aus CDs cool du musst ja ab und an mal was vielleicht an deiner Datenbankstruktur ändern
00:48:53: und um da nicht einfach nur so im laufenden Betrieb irgendwelche SQL-Statements auszuführen kannst es holen Migration Tool nehmen wir uns fly away und die ist das Ganze
00:49:03: das was du hast als du willst eine Änderung durchführen das schreibst du auch als SQL-Statement und das kannst du auch versionieren dann
00:49:10: und sie ist das frei wehtun wenn du das startest kannst auch in dein Bild Prozess einbauen
00:49:14: führt dann eben genau dieses SQL aus also es wird gerade geprüft auf welcher Version ist die Datenbank Option 25 was habe ich hier für solche my Gratian SQL ist eine Pizza 26 natürlich jetzt S26 aus das funktioniert richtig richtig gut,
00:49:32: bis zu dem Zeitpunkt wo du merkst das dann Fehler drin war,
00:49:36: und du merkst auch ich müsste eigentlich die Version wieder die rückgängig machen aus wurde aber die Datenbankstruktur verändert und gleichzeitig habe ich noch massiv in welche Updates durchgeführt und möchte Daten anzupassen
00:49:48: sowas geht natürlich immer dass man es irgendwie wieder rückgängig macht aber zumindest vor was sie für 56 Jahren sie damit gearbeitet habe ging es nicht automatisch und das war
00:49:57: pain in the AS ey das waren zwar die Momente unter gedacht aber nee oder es ist Freitagnachmittag Mist.
00:50:06: Das sind halt dann wo dir die ja.
00:50:15: Oder einfach deiner Fraktion die du hast ich habe einfach milchiges weil du sagst ja hier ich kann ja einfach den neuen soll Zustand beschreiben aber was ist Abstraktion halt nicht beinhaltet es halt sowas wie als du.
00:50:30: Zusammenhänge mit von A nach B geht's einfach nicht ohne Datenverlust genauso per SQL Schema migration wenn ich deinen table getropft habe oder eine Cullum die kriege ich halt nur über Backup wieder wenn ich eins hätte.
00:50:43: So da da kann ich keinen also ich kann Rollback machen habe ich als alte Schema aber die Daten sind nicht wieder da.
00:50:48: Und das ist natürlich bei Infrastruktur genauso klar ich kann git Checkout 2 Personen vorher machen.
00:50:59: Das kann dann entweder sein das halt mehr Daten verloren gehen oder ich den Soll-Zustand ich hinbekommen weil es quasi da kein Fahrt gibt,
00:51:06: aber das kann mir auch bye bye in verstocktes Cottbus passieren also mein terraform Code von vor 2 Jahren aus Rolle dann wäre vielleicht soll Zustand herstellen die auch nicht geht.
00:51:16: Aus genau dem Grund ist es halt total wichtig dass du solche Profis wie dich haben Christoph die sich wirklich mit der Materie ausdenken und dann auch das richtige tun
00:51:25: denn fool bitte tool
00:51:27: ist der Gefühl und ich meine egal was du jetzt hast ob du jetzt infrastructure as Wiki-Seite hast oder infrastructure as Code oder es data oder es irgendwas anderes,
00:51:39: man kann überall richtig viel Quatsch mitmachen man kann überall Fehler machen man kann überall auch unbeabsichtigt was falsch machen und dann richtig schlimme schwierige Situation kommen
00:51:48: und dann braucht man halt die Expertise und ist Fachwissen um das halt einfach wieder irgendwie zu reparieren wie glatt zu bügeln und
00:51:55: deswegen glaube ich halt ganz fest dass es super wichtig ist dass man Leute hat mit Expertenwissen die dann halt da das Richtige tun so wie du z.b.
00:52:06: So wie ich.
00:52:07: Christoph soll zum Schluss dass uns noch mal kurz noch in die Zukunft blicken wir haben vielleicht in den letzten 10-15 Jahren zu verschiedene Iterationen durchgemacht was infrastrukturmanagement angeht
00:52:19: also
00:52:19: angefangen von wie dokumentieren sie irgendwo eine Textdatei über vielleicht diese infrastructure as Code Geschichte das habe ich noch so ein bisschen aktiv miterlebt bisschen jetzt zu infrastructure as data würdest du sagen dass wir jetzt für das Ende erreicht haben und das infrastructures data vielleicht jetzt
00:52:37: ja das große Ding ist wo es vielleicht noch ein bisschen aus definiert wird oder siehst du noch Potenzial für ganz neue Ansätze.
00:52:47: Ich glaube für ganz neue was noch nie da war glaube ich nicht es wird halt Remixer geben von dem bestehenden also in verschickt das Data ist ja auch eigentlich nur wieder,
00:52:57: remix from infraxis codelyzer GW2 puppet hat sie auch schon gehabt damals mit ich mache alle 30 Minuten versuche ich den soll Zustand herzustellen,
00:53:07: und ich komm puppet Code auch schon so schreiben dass er quasi keine variabel enthielt dann hatte ich ja quasi ein verschüttetes data schon gehabt.
00:53:14: Ich glaube und auch etwas schüchtern ist data ist kein Allheilmittel weil wenn ich jetzt sag mal einem ganz kleinen Break unterwegs bin und jetzt in dem Kleid und mit Cross Pen das machen will was ich für Crosshelm brauche ist kubernetes Cluster.
00:53:26: Gehe ich dann in den Spital kubernetes Cluster hin,
00:53:29: so da habe ich halt das Münchhausen Problem ziehe ich mich an die kann ich mich selber am Schopfe rausziehen den beuken wo ich das bisher gemacht hat sich dann immer noch ein bisschen terraform Code der dann halt diesen Initialen Cluster Detroit hat.
00:53:40: This bootstrapping einfach.
00:53:41: Bis bootstrapping oder auch es kann nur einfach also für ganz kleine Projekte wo ich Plaza 3 sag mal.
00:53:50: Die Hände voll Cloud geschossen maximal vielleicht auch noch weniger hab so zwei drei Hände voll da kann ich damit leben dass aus natiei Pipeline über terraform Code mit zwei Variablen ausgeführt wird.
00:54:03: Wenn ich dann quasi noch haben möchte dass das wieder so hergestellt werden wird wie es sein soll dann lass ich es halt alle halbe Stunde dieses gitlab ci Pipeline laufen dann habe ich prozessual dasselbe erreicht halt mit anderen Tools und ich glaube das ist einfach.
00:54:17: Data tool in der toolbelt und man muss einfach gucken passt es jetzt gerade für mein Use-Case z.b. bei euch ein Internet Developer platform mit tausenden von Entwicklern,
00:54:28: die dann da einfach ihr Infrastruktur damit wir planen können weil das schöne ist natürlich wenn ich ziehen verschicke das Data mit kubernetes am postfenn mache ich habe dieselbe Beschreibungssprache für meine Infrastruktur als auch für meinen,
00:54:39: schöne Putz und meine Service ist als ob ich meinen codedeploy das ist alles kubernetes YAML.
00:54:45: Das quasi ich habe denselben Workflow für die Infrastruktur drumherum wie für mein Applikation und da kann ich halt ein super schönen Workshop bauen für Entwickler Position.
00:54:56: Zu generieren vielleicht dann auch default templates und da ist einfach Ansatz und ne.
00:55:05: Da steht immer im Hinterkopf behalten muss man ein Problem lösen muss.
00:55:13: Natürlich immer also wo ich mal ganz großer Fan bin auch beim verschüttetes Code und bei Jochen mal single source of truth dann machen wir schon sehr wenig.
00:55:24: Guten Appetit in verschicke das Delta mal als Code oder wie auch immer macht so langsam single source of truth gibt es Unterricht auf dem richtigen Weg.
00:55:33: Ja das finde ich auch also wenn du wirklich weißt wo stehen die Informationen die ich jetzt brauche
00:55:39: und wo stehen die halt nur einmal und auch für dich verlässlich das ist ein riesengroßer Vorteil im
00:55:45: überall eigentlich also wenn du es nicht und sich die Unsicherheit hast du sagst ob euch hier steht was in ihr steht dass ich weiß nicht was aktuelles
00:55:53: standsicher rausfinden in die das Blatt super frustrierend also single source of truth ich glaube das ist genau sagen vielleicht sogar die Message von der heutigen Erfolge hier das ist eine gute Sache.
00:56:05: Der Christoph vielen Dank für deine Zeit und für den Einblick ins Thema infrastructure is data von ihr ich sogar spannend denn ich hatte das,
00:56:13: ehrlich gesagt ist ja nicht auf dem Schirm ich dachte immer die ganze Infrastruktur in dem Projekt wie funktioniert das automatisch weil ihr bin wie mittlerweile so viele Skripte auf dem Laptop habt dass ihr auf drei Knöpfe drückt und dann funktioniert es mit alles hochgefahren funktioniert super
00:56:27: aber da war es auf jeden Fall schön weil hinter die Kulissen zu blicken um mal zu schauen wie darin Alltag aussieht
00:56:33: Christoph vielen Dank dass du da warst dass du so viel erzählt hast und ich wünsche dir noch eine gute Arbeitswoche.
00:56:42: Danke dir auch.
00:56:43: So das war's für heute ich hoffe das Gespräch mit Christopher der Spaß gemacht
00:56:47: wenn Ihr Feedback habt dann erreichte mich per E-Mail unter Podcast at inovex.de und ansonsten würde mich freuen wenn wir uns noch auf den sozialen Medien folgt beispielsweise auch Instagram die Links dazu die findet ihr in der Shownotes. bis zum nächsten Mal.
00:57:03: Intro
Neuer Kommentar