Latest / Coding Buddies | Tech & Dev-Mindset / #124 DevOps Finale – Alles. In einer Folge. Der komplette DevOps-Plan
Transcript
- 0:00Aber nicht, weil ich faul bin. Ich sag's mal provokativ,
- 0:04sondern um quasi meinen Entwicklungsprozess vor mir
- 0:07selbst zu schützen. Coding Buddies, Dein Podcast
- 0:11rund um Softwareentwicklung und aktueller Tech News herzlich
- 0:14Willkommen. Halli Hallo und herzlich
- 0:28Willkommen zur neuen Folge vom Coding Buddies Podcast.
- 0:33Ich würde sagen, es ist Zeit für eine neue Folge, und zwar mit
- 0:37mir und mit Tino, den ich hier herzlich begrüßen kann.
- 0:40Tino, Was geht ab, wie geht's dir alles gut bei dir?
- 0:44Moin Moin Fabi, mir geht's gut, mir geht's sehr gut, was geht
- 0:48ab? Ich finde es eigentlich nicht
- 0:49gut, dass du meine Frage am Anfang klaust, um das Mal kurz
- 0:51vorweg zu nehmen, was geht, das kannst du nicht patentieren,
- 0:54Alter magst du nicht. Also ich finde so unter uns
- 0:59beiden so ein Podcast kann ich das schon.
- 1:02OK, es ist meine Frage. OK gut, wir machen aus, aber um
- 1:08deine Frage zu beantworten was geht ab eigentlich gar nicht so
- 1:12viel ich find momentan plätschern die Wochen so n
- 1:14bisschen vor sich hin aber nicht im negativen Sinn, sondern es
- 1:17ist immer was los so weißt du am Wochenende ach das ist geplant
- 1:20und dir und so. Aber irgendwie rennt die Zeit
- 1:23schon wieder dadurch. Das ist so, weißt du, das ist so
- 1:25n typischer Spruch, den wo ich früher immer dachte, Oh, das
- 1:28sagen wir so, die alten Leute, ne ich weiß nicht ob ihr jetzt
- 1:30mittlerweile selbst als alt zählt, aber es ist so dieses Ach
- 1:34das Jahr rennt aber auch schon wieder Fabi, das rennt schon
- 1:38wieder. Solange man nicht sagt, die
- 1:40Jahrzehnte rennen. Ich weiß nicht, wie es dir da so
- 1:45geht, aber ich hab immer das Gefühl so WOW ist schon wieder n
- 1:47Monat rum. Ja ich weiß aber auch ehrlich
- 1:49gesagt nicht wann das angefangen hat weil es gab ne Zeit da war
- 1:53es für mich so. Boah ey irgendwie geht es gar
- 1:56nicht voran und ich will endlich jetzt zum Beispiel so weißt du
- 2:00so in der Schule so ich will endlich wieder Sommerferien
- 2:02haben oder wenn man noch n bisschen weiter zurückgeht so oh
- 2:05mein Gott, bis mein nächster Geburtstag ist und ich wieder
- 2:07Geschenke kriege, dann dauert das alles so so 1000 Jahre weißt
- 2:11du so ungefähr. Und das hat man gefühlt jeden
- 2:15zweiten Tag Geburtstag so, ja, das ist schon krass, das ist
- 2:21schon krass, sollten wir vielleicht auch mal eine Folge
- 2:24drüber machen. Ja, nee, aber ich kenne das.
- 2:26Ich kenne das, es geht über ratzfatz, ich meine, das sieht
- 2:29man ja auch an den Podcast folgen, ich meine, wir haben
- 2:32einfach schon, weiß ich nicht, die wir sind schon jenseits der
- 2:36120 folgen, also das ist schon ein.
- 2:38Ist schon krass ne und ich habe das Gefühl Tino Wir haben erst
- 2:41gestern mit dem Podcast angefangen oder sagen wir mal
- 2:43zumindest vorvorgestern, das ist schon krass, geht echt.
- 2:48Schnell. Aber ich würd sagen, lass uns
- 2:51mal so n bisschen reinkommen. Wir haben nämlich heute n ganz
- 2:54interessantes Thema mal wieder und bevor wir das Thema jetzt
- 3:00anteasern, wollt ich noch mal ganz kurz anmerken, liebe
- 3:03zuhören liebe Zuhörerinnen, vergiss nicht.
- 3:06Die Glocke anzumachen und den Podcast abonnieren, weil dann
- 3:08verpasst du keine Folge mehr, weil wir sind ja auch schon wie
- 3:11gesagt schon n bisschen fortgeschritten.
- 3:13Ne, also schon in über 120 in den 100 Zwanzigern.
- 3:17Den 100 Zwanzigern ja genau, ja, wichtiger Punkt.
- 3:21Wir haben ja das Glöckchen erst selbst für uns entdeckt.
- 3:23Übrigens mach ich das bei Podcast die ich höre auch jetzt
- 3:26sehr gut, also ich mach das auch, ich hab das auch schon
- 3:29vorher gemacht, aber ich hab irgendwie einfach nicht
- 3:31realisiert, dass man das ja auch sagen kann für den eigenen
- 3:33Podcast. Aber ist ja.
- 3:36Na, bei mir war es wirklich so, dass ich halt immer geguckt hab,
- 3:38oh, gibt es ne neue Folge, gerade wenn welche nicht so
- 3:41regelmäßig, also so so Gescadued hochladen ne so jede wie wir
- 3:45jetzt zum Beispiel jeden Donnerstag 18:00 Uhr, dann
- 3:47musste ich halt immer gucken, Oh gibt es schon was neues und dann
- 3:50denk ich mir so oh mein Gott diese Glocke ist n gamechanger
- 3:53so ne ja krass ach ja das schöne Glöckchen wie gesagt nicht
- 3:59vergessen genau. Aber Tino Pass auf.
- 4:04Es geht ja heute los, ne und zwar es geht los, große Finale
- 4:08heute und zwar von der Def Ops Reihe.
- 4:11Also ich sag jetzt mal wir werden uns jetzt nicht so weit
- 4:14aus dem Fenster lehnen, dass wir sagen wir machen nie wieder mal
- 4:16n def Ops Thema, aber. Jetzt so ne, dafür leben wir das
- 4:19Thema zu viel. Aber, so die Reihe wollen wir
- 4:21jetzt erstmal abschließen, die wir jetzt so ins Leben gerufen
- 4:24haben. Wir haben ja schon einige Topics
- 4:26behandelt und wir haben eigentlich.
- 4:30Verschiedene Themen wirklich intensiv behandelt und falls du
- 4:35Liebe zu Liebe zu dir denkst, so ey, Mensch hier, da habe ich
- 4:37jetzt irgendwie Bock, noch mal reinzuhören, was.
- 4:39Da gibt es verschiedene, wusste ich noch gar nicht, hör da auf
- 4:42jeden Fall rein oder wenn dich ein spezifisches Thema
- 4:44interessiert, falls das jetzt die 1.
- 4:46Folge ist von dieser Reihe die du hörst, dann kannst du auf
- 4:49jeden Fall immer wieder noch mal zurückskippen und noch mal
- 4:51gucken und dir ein einzelnes Thema rauspicken, ne, aber vom
- 4:56Fahrplan her Tino. Was sagst du dazu, wenn wir
- 4:59heute sagen, OK, wir schließen die Reihe mal so ab, dass wir
- 5:02mal die ganze, ich nenne es jetzt mal def Ops Kette
- 5:04durchspielen und sagen, wie kommt beispielsweise der Code
- 5:08eigentlich vom Commit bis zu, ich nenne es mal in die
- 5:11Produktivumgebung, also ne, dass die live läuft.
- 5:14Zum Kunden sozusagen, ja. Genau, genau, genau.
- 5:18Und warum das eigentlich wichtig ist, dass man diese ganzen Def
- 5:22ops Praktiken eben halt auch im Verbund.
- 5:26Verwendet ne nicht nur einzeln, sondern im Verbund.
- 5:29Und wir hatten ja zum Beispiel schon über CICD, Staging
- 5:33Monitoring, Observability, Infrastructures Code,
- 5:35Containerization und Occustration gesprochen und
- 5:40jetzt möchte ich dir mal das Gedankenexperiment zuspielen
- 5:43Tino und sagen OK, pass auf, stell dir mal vor, du hast jetzt
- 5:46n neues Feature fertig, ne du hast jetzt programmiert, du hast
- 5:50jetzt n Feature bekommen, hast es programmiert soweit so gut OK
- 5:53geil so. Richtig geiles Feature.
- 5:55Was anderes kenn ich von dir nicht und jetzt hast du deine
- 6:00Change. Was lachst du danach?
- 6:04Also ich weiß nicht immer wenn ich wenn ich so das hat nichts
- 6:08Böses zu tun, das war. Wirklich nicht böse gemeint.
- 6:11Ich hab mich einfach nur darüber gefreut, dass ich dir ein
- 6:13Kompliment gemacht hab. Schön, danke und jetzt hast du
- 6:17deinen Changes, du checkst die ein ne also beziehungsweise du
- 6:20committest das ganze und pushst es in dein Remo rein.
- 6:24Und jetzt geht es los. Was ist jetzt die Frage, was
- 6:26passiert jetzt? Wie geht die ganze Nummer los?
- 6:29Wir, wir sind jetzt in dieser in unserer, Ich nenne sie wie
- 6:31gesagt Def Ops Kette ja und der Push ist gemacht ins Repo, der
- 6:36neue Code ist irgendwie da genau also wir haben ja in unserer
- 6:41Reihe quasi so Grund die Grundlagen besprochen wie eine
- 6:43grundlegende CICD Kette also Pipeline aussieht ja und davon
- 6:47gehen wir jetzt mal wieder aus, also keine kein Schnickschnack
- 6:50ja so die Basics. Und dann geht es halt
- 6:54logischerweise, so haben wir es ja auch in der Reihe gemacht,
- 6:56als erstes mit der Continuous Integration los, also mit dem CI
- 6:59teil und man muss sagen, ab jetzt, liebe zuhören, liebe
- 7:03Zuhörer, reden wir davon, dass Sachen automatisiert passieren,
- 7:07denn das ist ja der große Benefit.
- 7:10Unserer Pipeline, die uns sehr, sehr, sehr viel Arbeit der sonst
- 7:14manuell echt nervig wäre, abnimmt.
- 7:16Ja und dadurch ja auch ne gewisse Qualität gewährleistet
- 7:19wird, weil es automatisiert ist das noch mal als kleiner
- 7:21Reminder ab jetzt. Kleiner Einwurf, weil wenn man
- 7:24sich das mal vorstellt, bevor man CICD Pipelines alles den
- 7:28ganzen Kram. Ich sag mal erfunden hat ne hat
- 7:31man das eigentlich wirklich manuell gemacht?
- 7:33Ne so ja wahrscheinlich in einer geringeren Frequenz Frequenz
- 7:36aber es ne. Genau also wie du ja schon
- 7:41gesagt hast. Ich hab jetzt n Feature
- 7:42entwickelt. Ich hab das committed und
- 7:44gepusht so in unserer agilen Welt, wie wir sie leben.
- 7:49Also wir jetzt wir beide vor allem ja sind ja so ne Features,
- 7:53nicht sehr groß sondern kleingeschnitten, das heißt
- 7:56diese Frequenz die du gerade angesprochen hast ist ja erhöht.
- 7:59Ja. Ja, und nicht wir machen einmal
- 8:02im Jahr nen Update, weil es halt so aufwendig ist ein Update an
- 8:05den Kunden auszuspielen. Das ist ja schon der erste
- 8:07wichtige Punkt, warum diese Automatisierung so so
- 8:11unglaublich effizienzsteigernd auch ist.
- 8:13Am Ende ja und genau und deswegen ich hab das jetzt
- 8:16committed gepusht und ich möchte, dass der Kunde das jetzt
- 8:18erfahren kann. Ne, das ist n geiles Feature wie
- 8:20du meintest und das soll jetzt ausgerollt werden.
- 8:23Und damit geht es dann halt wie gesagt mit dem CI teil los.
- 8:26Das heißt unsere Pipeline kommt jetzt so richtig ins Rollen,
- 8:28dafür muss sie aber natürlich erstmal erkennen, dass es eine
- 8:32Änderung gibt auf dem Branch zum Beispiel, auf dem ich das
- 8:35gepusht hab. Ja, also das ist ja jetzt die
- 8:36Grundvoraussetzung, dass die Pipeline das auch erkennen kann.
- 8:39Oh, es gibt n neuen Commit der gepusht wurde, es gibt sozusagen
- 8:42Changes und das überprüf ich jetzt mal, bevor das hier
- 8:46richtig integriert wird oder als integriert gilt in unserer
- 8:50Codebasis. Müssen jetzt erstmal Checks
- 8:52laufen und Tests, damit man sagen kann, es ist erfolgreich
- 8:55integriert und das ist ja im Prinzip die Kernaufgabe des CI.
- 8:59Teils genau das heißt, man lässt die Tests laufen, die ja
- 9:03hoffentlich da sein sollten, Leute die müssen da sein, die
- 9:05sind da erstmal so, Tests müssen da sein, das heißt die Tests
- 9:10laufen. Man kann auch ne statische
- 9:12Codeanalyse laufen lassen. Also da sind jetzt sag ich mal,
- 9:16da gibt es keine Grenzen was man testen möchte, ne je mehr desto
- 9:20besser mal so als kleiner Grundsatz solange es einen Sinn
- 9:23dahinter gibt. Ja, also sinnlose Tests bringen
- 9:25natürlich nichts und man kann natürlich auch sagen, oder das
- 9:29ist wichtig dabei zu achten, es gibt 2.
- 9:34Wie soll ich sagen, Prämissen oder Eigenschaften, die dieser
- 9:38CI teilhaben sollte? Noch mal so als Reminder und
- 9:41Zusammenfassung erstens bei all den Tests, die ich laufen lasse,
- 9:45ist es wichtig, dass die Pipeline in diesem CI teil
- 9:49schnell abbricht und Meldung macht, was schief gelaufen ist.
- 9:53Es bringt mir nichts, ich habe jetzt tausende Tests und der 10.
- 9:57Failed. Da muss ich die anderen nicht
- 9:59laufen lassen, weil dann ist ja dann stimmt schon irgendwas
- 10:01nicht, weil wir gehen ja davon aus, dass der Test seine
- 10:03Daseinsberechtigung hat und selbst wenn er es nicht hat oder
- 10:09es sogar richtig ist, dass der falsch ist, weil der das Feature
- 10:12sich geändert hat, ne, dass da Sachen überprüft werden, die gar
- 10:14nicht mehr drin sind. Es ist ja trotzdem wichtig die
- 10:17Meldung zu bekommen und zu sehen, dass da was nicht stimmt
- 10:20und den Hinweis zu bekommen, weil dann heißt es ich hab
- 10:22irgendwas übersehen oder nicht angepasst.
- 10:24Das heißt ich will ja schnell drauf reagieren können, wieder
- 10:26als Entwickler. Und mit schnell, das ist der
- 10:30zweite Punkt, der wichtig ist. Es darf halt auch insgesamt
- 10:34nicht lange dauern, weil auch ein positives Feedback möchte
- 10:38ich schnell haben. Ja, also nicht nur, ach, es
- 10:41läuft nichts schief, na dann mach dein Ding CI teil, wir
- 10:45sehen uns morgen. Das ist natürlich auch nicht der
- 10:47Sinn, sondern so mal als Richtwert 10 bis 30 Minuten.
- 10:51Das ist so für ne Pipeline schon wünschenswert, ne.
- 10:54Also dass ich sage OK ich hau jetzt mein Feature rein in die
- 10:57codebasis und ich möchte ja auch schnell sehen, war das
- 11:01erfolgreich. Ja, also wir haben ja, wir sind
- 11:03ja jetzt an dem, also man muss auch dazu sagen, wenn man jetzt
- 11:05so für sich selber ne Pipeline entwickelt, ist sie
- 11:07wahrscheinlich eh. Also du hast so ne kleine
- 11:09Anwendung, willst hier die Ployn, da ist sie wahrscheinlich
- 11:11eh relativ schnell, weil du gar nicht so viel hast, ne?
- 11:14Aber selbst wenn sie ein bisschen länger wäre, würde es
- 11:16dich alleine wahrscheinlich gar nicht stören und deswegen würde
- 11:19man sich wahrscheinlich denken, ja gut, passt schon, wenn die
- 11:21jetzt mal eine Stunde läuft, ist mir egal wann.
- 11:24Wann ändere ich mal was. Angenommen, du hast jetzt
- 11:26vielleicht du arbeitest alleine, hast so privat, hast jetzt
- 11:28vielleicht jeden Tag mal einen Push aufs Repo, weißt du wenn du
- 11:33jetzt aber davon ausgehst und wenn wir das jetzt mal
- 11:35gedanklich ein bisschen durchspielen, sagst du hast ein
- 11:37Team von 6 Leuten, die regelmäßig codeänderungen
- 11:41pushen. Und jedes Mal läuft die Pipeline
- 11:44los. Dann hast du eventuell das
- 11:46Problem, dass die sich irgendwann richtig cune, bis das
- 11:50irgendwann durchläuft und dann hast du vielleicht so 6 commits
- 11:53sag ich jetzt mal oder 6 ne neue Änderung auf deinem Repo und der
- 11:58Erste läuft durch, der zweite läuft durch, der Dritte läuft
- 12:00durch und dann der Vierte den du eigentlich haben willst, der
- 12:04failed so aber bis. Dass du das gemerkt hast,
- 12:07brauchst du ja im Worst case vielleicht einige Pipeline
- 12:10Durchgänge und wenn du dann aber eine Pipeline hast, die 2
- 12:12Stunden läuft, ich übertreibe jetzt ne, aber es gibt es
- 12:15wirklich. Also ich habe auch schon mal ein
- 12:16Projekt gearbeitet, wo eine Pipeline, ich würde sagen
- 12:19eineinhalb Stunden gedauert hat und das ist ein Killer wirklich,
- 12:22das ist ein Killer das das funktioniert dann irgendwann
- 12:25nicht mehr, gerade wenn du häufig committest, was an sich
- 12:27eigentlich eine ganz gute Practice ist.
- 12:29So ne ja, aber du hast natürlich im Kopf, das dauert echt lange,
- 12:33vielleicht mache ich das und das vorher noch.
- 12:35Also das macht natürlich was mit dem Mindset des Entwicklers oder
- 12:39der Entwicklerin. Wenn du weißt, das dauert lange
- 12:42oder du blockst lange, dann die Pipeline.
- 12:44Ja, deswegen ist so n so n Richtwert schon gut.
- 12:48Klar kann man ihn nicht halten, je nachdem wie das Projekt
- 12:50skaliert wie du gerade meintest, aber so n Richtwert ist immer
- 12:53gut zu sagen Ah lass mal schon gucken, dass wir da drin bleiben
- 12:56so ne. Ja, genau, ja.
- 12:58Und abschließend kann man dazu sagen, das ist im Prinzip der
- 13:01CI, teil ist so der erste sogenannte Gatekeeper, ne der
- 13:06Halt wirklich sagt Pass mal auf ja du codeänderung ja OK du
- 13:10kannst rein, du bist sauber, du nee, das muss noch mal geprüft
- 13:13werden ne also du hast halt da schon so deine erste, deine
- 13:16erste Überwachung sozusagen, dass alles in Ordnung ist.
- 13:20Ja, richtig, genau. Und ansonsten wird es halt
- 13:23geblockt und wenn dann halt alles wirklich grün ist.
- 13:25Ne Test Checks und so weiter dann gilt ja der Code als
- 13:28integriert. Offiziell ne was ich noch ganz
- 13:31interessant fand, weil du vorhin meintest es muss auch einen Sinn
- 13:34ergeben bei diesen Checks, weil wir jetzt, weil ich gerade noch
- 13:37mal Checks gesagt habe, ich hatte auch zum Beispiel schon
- 13:40mal gesehen, dass irgendwo ein Test drin war, es hieß OK, es
- 13:42sollte irgendwie, es sollten Tests für Files da sein und dann
- 13:46gab es tatsächlich ein Test. Zu einem Pfeil wo drin stand
- 13:50accept true to be trucy, so als Beispiel ne und das ist halt
- 13:55also das war halt schon wirklich sehr dreist so nach dem Motto
- 13:58Wir haben Tests, es laufen Tests aber die Tests waren halt sowas
- 14:01von unaussagekräftig weil sie halt einfach gar nichts getestet
- 14:04haben und das war schon n bisschen bisschen heftig so viel
- 14:08zum Thema, wenn es denn auch sinnvoll ist.
- 14:10Ne genau. Aber Tino, wenn wir, ich möchte
- 14:14mal ganz kurz ne Sache spoilern, ne und zwar.
- 14:16Wir OK. Wollen ja gerne das, was wir
- 14:20jetzt hier besprechen. Diese ganze def Ops Kette ne
- 14:22wollen wir auch gerne mal vom From scratch selber machen ne
- 14:27also wirklich mal aufbauen und das so als ich sag mal
- 14:31Videoreihe ne dass man wirklich sagt OK wir machen so ne Art ja.
- 14:36Ich will es jetzt nicht wirklich Tutorial nennen, aber so n so ne
- 14:40Art OK, wir machen ne Videoreihe und man kann sich das halt
- 14:42angucken um halt was draus zu lernen und dann vielleicht.
- 14:45Praktisch zu sehen. Mal genau.
- 14:46Genau, genau. Und das sind ja auch einige
- 14:48Sachen, die da mit Reinspielen und dafür würde ich gerne dir
- 14:52mal ganz kurz ne kleine Werbung machen.
- 14:54Weil wir wollen dafür ja einen v Server von Strato nehmen und da
- 14:59gibt es ja auch immer mal wieder günstige Angebote, ne und wir
- 15:02wollen ja zum Beispiel den VC 624 nehmen, das heißt der hat 6
- 15:06Kurs 360 Gigabyte Speicher, 24 Gigabyte RAM und das halt eben
- 15:11für einen Euro pro Monat ne. Der ist ein Nobranner, ne, also
- 15:143 Monate lang kann man das testen, das ist natürlich mega
- 15:18genial. Der hat halt auch schon
- 15:19ordentlich Leistung, ne, also da ist halt dann auch einiges
- 15:21möglich mit ich bin richtig gespannt, ich freue mich drauf
- 15:24auf. Auf die Videoreihe und ich find
- 15:26es halt auch mega cool, dass wir das auf diesem V Server machen
- 15:29können. Ja, auf jeden Fall.
- 15:30Aber wenn man jetzt zum Beispiel sagt, Ey, ich find jetzt zum
- 15:32Beispiel den entsprechenden V Server, der ist mir eigentlich
- 15:34schon zu viel oder zu wenig, also es gibt auch noch viele
- 15:38andere und die Angebote ändern sich auch, also das ist auf
- 15:40jeden Fall alles möglich, wenn du, liebe zürer lieber Zürer
- 15:42sagst, ey, das ist cool, ich brauch auch gerade so NV Server
- 15:45oder also nicht ich brauch irgendwie n Server worauf ich
- 15:47irgendwas laufen lassen kann. Dann guck auf jeden Fall mal in
- 15:49die Shownotes, weil da haben wir n Link, das ist n Link wo du uns
- 15:52auch zusätzlich noch unterstützen kannst und guck da
- 15:54auf jeden Fall mal rein, check das aus und wenn du sagst ich
- 15:57brauch so n Ding, dann let s go. Ja, genau.
- 16:00Werbung, Werbung Ende, wie man es so schön sagt, dann lass uns
- 16:03mal über den CD teil reden. Du meintest ja gerade so, wir
- 16:06haben Gatekeeper, ne unsere Tests Checks sind alle
- 16:08durchgelaufen, jetzt ist es grün, wie geht es weiter?
- 16:10Weil prinzipiell ist der Code ja noch nicht deployed, wir können
- 16:13das ja noch nicht verwenden. Dein neues geiles Feature was du
- 16:15entwickelt hast. Kino das heißt?
- 16:17Wir müssen ja jetzt noch gucken, dass wir das Ganze, dass das
- 16:20Ganze weitergeht, und zwar, dass man halt auch wirklich die
- 16:24Änderung, die man jetzt gemacht hat, dass man die auch wirklich
- 16:26live schaltet, und da hatten wir ja auch schon mal so ein
- 16:30bisschen einen Unterschied gehabt zwischen Deployment und
- 16:34Delivery, das hatten wir schon mal ein bisschen besprochen,
- 16:36möchte das noch mal ganz kurz vielleicht zusammenfassen, was
- 16:38das ist, damit man das noch mal auf einen Blick zusammen hat.
- 16:42Und. Ja, also unter CD verstänken
- 16:45sich halt genau diese beiden Begriffe, oder man kann halt so
- 16:48beide damit verwenden sag ich mal ne, aber so ganz grob die
- 16:52Unterscheidung delivery ist halt, dass man sagt, OK, ich
- 16:56bereite alles soweit vor, dass es an zum Beispiel dieses neue
- 17:00Feature, was wir jetzt committed haben an den Kunden ausgerollt
- 17:03werden kann, aber ist am Ende immer noch eine.
- 17:06Sag ich mal. Manuelle Freigabe benötigt ja,
- 17:09also man kann sich das wirklich so vorstellen, alles ist Grün,
- 17:13das Ding ist bereit integriert zu werden, also beziehungsweise
- 17:18nicht integriert, sondern dem Kunden zur Verfügung gestellt zu
- 17:20werden und ich drück jetzt nur noch n Knopf und sag so Leute
- 17:24ihr könnt es verwenden, jetzt ist es für euch da.
- 17:26Update so nach dem Motto Ja. Und Deployment ist dann
- 17:31eigentlich so vom Grundprinzip her, dass es komplett
- 17:35automatisiert ist. Ja, also in dem Moment, wo ich
- 17:38mich als Entwickler entschieden habe zu sagen.
- 17:41Ich Committee mein neues Feature, Das ist fertig.
- 17:43Von meiner Seite aus. Ich übergebe es quasi meiner
- 17:46Pipeline, alles läuft durch, wir hatten ja gerade den CI TEIL CI
- 17:50sagt ja alles super und der CD teil sagt alles super OK dann
- 17:55werde ich jetzt nen nen Deployment eine Auslieferung
- 17:59vorbereiten und Vollautomatisiert an den Kunden
- 18:01gehen. Genau das heißt.
- 18:02Das heißt, mit meinem Commit mit dem Push nach einer gewissen
- 18:08Zeit hat der Kunde es dann auch im Prinzip zur Verfügung.
- 18:11Genau, und das ist das Ziel. Ja, im Endeffekt baut man, so
- 18:15sag ich jetzt mal im CD Teil, baut man die Software, hat ja
- 18:20irgendwie n Artefakt ne also ich sag mal was man sich gut
- 18:23vorstellen kann so also das ist es jetzt nicht mal, also n
- 18:27Artefakt ist ja zum Beispiel auch sowas wie ne exe ne, also
- 18:29irgendwas was man laufen lassen kann, so nach dem Motto ne.
- 18:32So n Ergebnis dann halt. Und das wird dann halt irgendwo
- 18:36halt eben auch laufen gelassen. So ne in einer bestimmten
- 18:38Umgebung und. Delivery zum Beispiel finde ich,
- 18:42wenn man das noch mal sagt, so oder noch mal aufgreift, finde
- 18:45ich ganz gut, wenn man sagt, OK, man hat es vielleicht so n
- 18:47feature Set wo man sagt OK ich möchte nur einen Deployment
- 18:49machen, wenn das gesamte Feature Set was gerade entwickelt wird
- 18:52auch fertig ist. Ne weil das kannst du jetzt ohne
- 18:56weiteres ne und ich sag extra ohne weiteres bei Deployment
- 18:59halt nicht unbedingt gewährleisten weil da wird ja
- 19:01erstmal stand jetzt so wie wir es gerade besprochen haben immer
- 19:04gesagt OK. Neue Änderungen du wirst die
- 19:07ploy, du wirst die ploy, du wirst die Ployd also angenommen.
- 19:09CI ist Grün, der Code wurde integriert, dann wird es auch
- 19:12Deployd das heißt wenn du 3 Teil Features sozusagen oder ne was
- 19:16vielleicht zu einem Featureset zusammengehört wird es halt
- 19:17einfach deployd und dann ist halt n Teil davon da und Teil
- 19:20nicht ne da kann man natürlich auch sich wieder hinstellen und
- 19:23sagen ja gut OK dann mach halt zum Beispiel so sogenannte
- 19:26Feature flags. Und setzt die erst auf.
- 19:29Dieses Feature ist da, wenn das gesamte Set, zum Beispiel das
- 19:32ist eine Möglichkeit, auch das so zu machen, weil wie gesagt,
- 19:36Def OPS ist ja auch, man versucht ja möglichst viel zu
- 19:39automatisieren und demzufolge ist auch, sagen wir mal Strebsam
- 19:45im Def Ops Bereich zu sagen, Wir wollen Deployment und nicht nur
- 19:47ein Delivery, aber es ist bringt natürlich auch noch ein bisschen
- 19:52mehr mit sich, also gerade bei Deployment.
- 19:55Ja, also. Im Prinzip alles, was sich mit
- 20:00Deployment beschäftigt. Da kommt man schnell an den
- 20:03Punkt, dass man sagt, OK, wir brauchen ja auch eine gewisse
- 20:04Strategie, um zu Deployen in einer ganz einfachen Pipeline,
- 20:08wie wir es jetzt bis jetzt stand jetzt haben, ist es halt im
- 20:12Prinzip direkt deployed, wie du auch meintest, so ne, dann ist
- 20:15es halt schwierig ganze Features Sets mit einmal auszuliefern
- 20:19oder quasi noch sozusagen zurückzuhalten.
- 20:22Aber du hast natürlich auch das Thema, wie kommt das überhaupt
- 20:26an das Feature? Ne, also du hast jetzt zum
- 20:29Beispiel gesagt Mensch Tino Klasse feature was du gemacht
- 20:31hast, aber vielleicht sieht der Kunde das nicht so oder nur n
- 20:34Teil der Kunden finden das gut und da haben sich halt so
- 20:37verschiedene Deployment Strategien herauskristallisiert,
- 20:41Liebe, zuhören, Liebe zuhören falls sich das Thema genau
- 20:43interessiert, hör gern noch mal in die spezielle Folge der Reihe
- 20:46rein. Ich werd es jetzt nur noch mal
- 20:48nennen. Wir haben ja so über Blue Green
- 20:50Deployment gesprochen, Canary Deployment und das sind im
- 20:54Prinzip Strategien um nicht zu 100% an alle direkt auszurollen
- 21:01das neue Feature, sondern das sind Strategien um.
- 21:05Sag ich mal noch mal zu testen, wie es denn ankommt, ob es
- 21:08wirklich fehlerfrei läuft. Ja, also Blue Green ist halt,
- 21:12dass ich im Prinzip wirklich sage, ich schalte um, kann aber
- 21:15auch wieder zurückschalten. Ja, also ich habe jetzt wirklich
- 21:17so ne Art Spiegelung mit dem neuen Feature und ja so n toggle
- 21:23wirklich und man sagt Ah nee warte mal, warte mal da da ist
- 21:27stimmt irgendwas nicht zack zurück ja.
- 21:30Und Canary, um das noch mal kurz zusammenzufassen, ist ja im
- 21:33Prinzip, dass ich prozentual ausrolle.
- 21:35Das ist auch ne echt coole Strategie zu sagen, ich geb es
- 21:38erstmal nur n gewissen Anteil meiner Kunden, es kann auch
- 21:41zufällig sein und wenn da keine Rückmeldung kommen, dann kriegen
- 21:44es halt noch mehr so und dann oh jetzt kommen die positiven
- 21:47Feedbacks rein und mehr mehr mehr bis ich es irgendwann zu
- 21:50100% verbreitet hab und das sind halt Strategien die man da im
- 21:54Hinterkopf haben sollte und die halt auch wirklich absolut Sinn
- 21:57machen, ja. Ja, richtig, und das ist halt
- 22:00auch wieder ein Ding. Also dass gerade weil du ja
- 22:02sagst, so okay, wenn was schief läuft, wenn das vielleicht beim
- 22:05Kunden nicht so gut ankommt, ist natürlich die Frage okay aber.
- 22:08Wie? Woher weißt du das?
- 22:10Das, das kann man ja nicht jetzt ohne weiteres einfach so wissen,
- 22:13sondern und da ist natürlich wieder ein Punkt, den besprechen
- 22:16wir auch noch bisschen später im Monitoring, weil Monitoring ist
- 22:20unglaublich wichtig, um halt eben auch zu.
- 22:23Sozusagen die geeignete Automatisierung dann zu finden,
- 22:26zu sagen, OK, ist das jetzt n einmaliger Fehler ist das jetzt
- 22:29n Fehler der vom letzten Deployment kam und so weiter und
- 22:33sofort, aber das ist essentiell dafür um überhaupt sowas machen
- 22:37zu können. Ne was bedeutet aber auch
- 22:38gleichzeitig, dass Continuous Deployment ja auch wirklich,
- 22:43also wirklich NN höheren Aufwand einfach mit sich bringt am Ende.
- 22:49Einen initialen Aufwand, wo man dann noch immer gucken muss okay
- 22:51lohnt sich das fürs Projekt oder nicht?
- 22:53Es ist natürlich immer sehr spezifisch, aber das muss man
- 22:56halt einfach dann selbst abwägen.
- 22:57Prinzipiell ist es natürlich eine gute Practice, das so dann
- 23:00zu machen, genau und gerade auch weil du oder weil wir jetzt
- 23:06davon geredet haben, ja, wenn sich ein Fehler einschleicht, da
- 23:07kann man sich jetzt auch denken, ja, ci, wir haben noch gesagt,
- 23:10alle Tests sind grün, Checks sind grün, es muss doch alles
- 23:12passen, ja, das ist natürlich die.
- 23:16Absicherung auf dem im ersten Level du kannst aber nie
- 23:20hundertprozentig sicher sein, dass vielleicht doch irgendwas
- 23:22schief läuft, was du eigentlich sogar nicht haben wolltest.
- 23:25Also man ist dem halt irgendwie nie gewahrt.
- 23:29Also ein Fehler kann trotzdem irgendwie mal, sagen wir mal
- 23:32auftreten, irgendwas kann vielleicht nicht schmecken, dem
- 23:35User beispielsweise oder es treten irgendwelche Side Effects
- 23:38auf mit dem man halt wirklich nicht gerechnet hat, kann halt
- 23:42einfach passieren. Es kann natürlich auch genauso
- 23:45sein, wenn ich jetzt quasi die Artefakte baue, ne, also meine
- 23:48Auslieferung zusammenbaue kann natürlich auch was schiefgehen.
- 23:51Ja, also gerade wenn ich zum Beispiel externe Abhängigkeiten
- 23:54hab, irgendwas hat sich geändert in meiner Software, dann ist
- 23:57vielleicht meine Software an sich grün im CI teil aber im CD
- 24:01teil lässt sich halt die Auslieferung nicht mehr
- 24:03zusammenbauen, das kann auch sein, also hier gilt natürlich
- 24:05auch wieder dieses schnelle Feedback am Ende ja definitiv.
- 24:10Genau. Aber ein Punkt, der sehr wichtig
- 24:12ist. Und das ist auch ne coole
- 24:13Überleitung, weil du meintest, so was ist Delivery Deployment
- 24:17der Unterschied und wenn ich featuresets in im gesamten
- 24:19Ausrollen möchte, ne, deswegen haben wir ja auch in unserem
- 24:23Grundlagen in unserer Grundlagenreihe das Staging
- 24:25besprochen, weil es halt auch n enorm wichtiger Punkt ist.
- 24:28Und genau damit kann ich ja jetzt sowas dann ermöglichen,
- 24:32weil in unserer einfachen Kette, wie wir sie jetzt haben von
- 24:35meinem Commit, den ich vorhin gemacht hab bis jetzt.
- 24:37Ist alles sehr geradlinig. Ja, also so ne Einbahnstraße sag
- 24:42ich mal. Klar, ich krieg mein Feedback,
- 24:43aber es gibt nur eine Richtung und Staging ist ja jetzt genau
- 24:47das, dass ich sagen kann, ich kann mehrere, wir hatten ja
- 24:52damals in der Folge so diese Analogie von Spielen früher
- 24:56genommen, ne, dass ich so verschiedene Stages hab wie ich
- 24:59immer weiter komme sozusagen und ich find das ist halt auch
- 25:01sinnbildlich sehr sehr treffend. Ich kann jetzt mehrere Etappen
- 25:05sozusagen einbauen und. Wie weit möchte ich jetzt etwas
- 25:11deployen? Zum Beispiel Wohin?
- 25:12Auf welche Stage soll das landen?
- 25:14Und da gibt es halt so am Ende immer diese sogenannte Prot
- 25:18Stage, also die wirklich produktiv ist.
- 25:21Da wo quasi sag ich mal der Kunde drauf sitzt was er
- 25:24verwendet, am Ende zum Beispiel die Website, die wirklich live
- 25:28ist. Ne die du dann über deine Domain
- 25:30aufrufen kannst. Genau, aber jetzt kann ich ja.
- 25:34Variabel davor mehrere Stages einbauen.
- 25:36Ich kann zum Beispiel sagen, es gibt ne Develop stage, ja da
- 25:39sammel ich jetzt meine Features, die Entwickler können drauf
- 25:43zugreifen, alle kriegen quasi diesen Stand.
- 25:47Wenn ich jetzt mein Feature entwickelt hab kann ich sagen ey
- 25:50ich hab es deployed auf unsere. Develop Stage beispielsweise und
- 25:55die anderen Entwickler können das Ausprobieren.
- 25:56Also die können dann einfach darauf arbeiten, sie entwickeln
- 25:59ja auch mit dem Stand weiter und wir sammeln so unsere Features
- 26:01da, bis wir irgendwann sagen, so, dieser Stand geht jetzt auf
- 26:05unsere produktiv Stage und jetzt viel Spaßkunde das wird richtig
- 26:09geil, was wir gebaut haben, so ne genau eine Möglichkeit, was
- 26:13siehst du denn noch so für Stages um das noch mal kurz
- 26:15zusammenzufassen ja es gibt zum Beispiel, also was halt beliebt
- 26:18ist ist auch sowas wie ne QR Stage also so.
- 26:21Ich nenne es mal auf Deutsch Qualitätsmanagement Stage.
- 26:23Also es gibt ja auch Anwendungen, wo es auch externe
- 26:27Tester gibt, die dann noch mal wo die Software noch mal extra
- 26:30von externen Testern getestet wird oder getestet werden muss,
- 26:33auch manchmal. Das heißt, es gibt dann zum
- 26:35Beispiel eine Stage, wo sich dann die Leute zum Beispiel
- 26:38austoben können und halt eben nicht in der Produktivumgebung
- 26:41testen sollen, weil du willst ja vielleicht zum Beispiel nicht
- 26:45bei Instagram oder so 1000 user QR 123, User QR 555 oder weil.
- 26:51Weißt du sowas, wenn du dir so denkst, was ist das hier alles
- 26:53gerade nur mal so als Beispiel? Also du haust ja auch Daten in
- 26:57die Datenbank rein, die du aber am Ende in der Produktivumgebung
- 27:00nicht haben möchtest. Demzufolge kannst du halt den QA
- 27:05also oder den Tester ne, die kannst du halt dann expliziten
- 27:08Zugang zu einer Stage geben, die aber genauso funktioniert wie
- 27:11Pod oder oder sehr sehr ähnlich ist.
- 27:14Sag ich jetzt mal. Und da kannst du aber auch
- 27:17andere Sachen testen, wie zum Beispiel, ob deine
- 27:19Datenbankmigration funktioniert, weil es gibt, ich sag jetzt mal
- 27:22n bisschen salopp gesagt, nichts schlimmeres, als wenn du ne
- 27:25Datenbank migrierst und es failed und am Ende hast du
- 27:30riesen Datensalat in deiner Datenbank.
- 27:33Das ist halt nicht so geil und man kann sich das halt ungefähr
- 27:35so vorstellen, dass ne, wenn du jetzt zum Beispiel sagst, meine
- 27:39Website de beispielsweise ne, weil du Website gesagt hast.
- 27:43Gibt es, kannst ja auch auf Apps, Münzen oder so, aber du
- 27:45hast am Ende ne eigene Domain, ne, das ist dann zum Beispiel
- 27:48sowas wie dev Punkt, meine website de oder QR Punkt, meine
- 27:51website de und vielleicht hast du andere login Mechanismen,
- 27:55dass du halt eben nicht in der Lage bist als produktiv User die
- 27:58QR Stage zu verwenden und so weiter dass es halt gekapselt
- 28:01ist. Ne, dass du vielleicht ein
- 28:02bisschen, deswegen meine ich auch nicht ganz hundertprozentig
- 28:05gleich. Dass du vielleicht noch eine
- 28:07andere Anmeldemöglichkeit hast oder so, dass du eventuell
- 28:10sagst, OK, wir schließen aber auch wirklich aktiv bestimmte
- 28:12Usergruppen aus, ne, damit es halt eben wirklich isoliert ist.
- 28:16Irgendwo ne für den entsprechenden Zweck, das ist
- 28:19halt wichtig, ja, aber ich würde tatsächlich so weit gehen, dass
- 28:24ich sagen würde, wenn wir etwas. Von der ganzen Sache, die wir
- 28:27besprechen, so noch annähernd als optional hinstellen können,
- 28:31dann ist es das Staging im Sinne von ne Protz Stage gibt es
- 28:35immer, die ist auf jeden Fall wichtig, wenn du alles.
- 28:38Richtig muss es hingehen. Aber wenn du alles richtig
- 28:40machst, ist das irgendwie in Ordnung.
- 28:42Weißt du, dann passt das so, aber deswegen, du kannst ja zum
- 28:46Beispiel sagen, OK, ich bau noch ne Test stage ein, du musst aber
- 28:49keine QR Stage haben, du kannst. Du hast Stage einbauen, musst
- 28:52aber kein Test Stage haben. Du kannst aber auch 5 Stages vor
- 28:54Port noch machen, deswegen das meine ich so ein bisschen mit in
- 28:57Anführungsstrichen optional ne. Genau.
- 29:00Also das ist ein sehr wichtiger Punkt, der halt relevant wird,
- 29:03wenn es um skalieren geht, ne und wenn du mehrere Entwickler
- 29:05rein kriegst, wenn es halt ein Riesenprojekt wird, dann wird
- 29:09Staging irgendwann nicht mehr vermeidbar sein und dann ist es
- 29:12auch richtig, es nicht mehr zu vermeiden.
- 29:14Aber ich sag mal, du hattest ja auch gesagt, wenn man jetzt so
- 29:16ein kleines Einzelprojekt hat, dann ist es vielleicht noch
- 29:20nicht notwendig, wie du gerade meintest.
- 29:21Also so in so einer ganz Lean Basic Pipeline muss es dann
- 29:25nicht Teil davon sein, dann brauchst du zum Beispiel keine
- 29:29Test Stage oder auch keine, weil ich meinte Death Stage wo Halt
- 29:33so Features gesammelt werden, die aber auch sauber ist.
- 29:36Also noch mal kurz zur Differenzierung, eine Test Stage
- 29:39ist für mich halt etwas, da kann ich machen was ich will ja also
- 29:42da. Länger yolo mäßig.
- 29:46Ich kann da alles löschen. Ich kann Edge Cases
- 29:49ausprobieren, ich kann richtig wilde Sau spielen da ja und ne
- 29:52Death Stage ist für mich, aber wenn ich jetzt ganz viele
- 29:54Entwickler hab ne dass die da alle auch ne ne saubere
- 29:57Grundlage haben wo denn die Features wirklich integriert
- 30:00sind. Und als korrekt geltend
- 30:02sozusagen. Und das brauche ich nicht, wenn
- 30:05ich alleine bin, wozu soll ich das machen, hast du natürlich
- 30:08absolut. Recht, du meintest ja vorhin
- 30:10auch schon bei den Checks, was man wirklich braucht und genau
- 30:13hier gilt eben auch was, also bauen eine Stage auf für das was
- 30:17du halt auch wirklich brauchst. Und weil ich ja auch meinte Okay
- 30:20eine Stage muss vielleicht leicht anders konfiguriert sein,
- 30:24also sie sollte sich gleich verhalten, kann aber anders
- 30:26konfiguriert sein im Endeffekt und.
- 30:29Und da ist eigentlich n ganz interessanter Punkt, weil wie
- 30:32kann man zum Beispiel das ganze gut konfigurieren und damit du
- 30:37halt zum Beispiel sagst, OK, du hast vielleicht ne Umgebung, die
- 30:40immer gleich ist, ne auf der einen Seite, aber du.
- 30:44Du hast auf der anderen Seite zum Beispiel kannst du diese
- 30:46Umgebung halt eben auch irgendwie von außen noch
- 30:48konfigurieren, ne, was ja schon mal dazu führt, dass du jetzt
- 30:51sagst, OK, ich hab zwar meine Stages, die ich irgendwie
- 30:53aufbaue, wo ich irgendwie meine entsprechende Anwendung in der
- 30:57entsprechenden Stage hin deploye ne, aber du willst es ja nicht
- 31:03plain einfach auf den Server ballern und sagen, OK, du hast
- 31:05jetzt vielleicht hier Abhängigkeiten, also installiere
- 31:07ich die alle auf dem Server und Let's go.
- 31:09Ne, sondern da machen wir auch eine bestimmte Practice
- 31:13sozusagen, die ich am Anfang angesprochen hab.
- 31:17Ja, also man merkt schon, wenn es mehrere Stages gibt und das
- 31:20ganze skalieren soll, dann kommt halt ein Punkt ins Spiel, der
- 31:24unfassbar wichtig ist. Und ich finde es ist Best
- 31:26Practice ihn von Anfang an einzusetzen.
- 31:29Ja, und zwar reden wir jetzt von Infrastructure is Code und es
- 31:34geht halt im Prinzip darum. Seine Konfiguration codiert
- 31:41abzubilden, ja, also ich habe keine manuellen Schritte zu
- 31:45sagen, ja, ich mache das hier, was welche Stage, ja du willst
- 31:50eine Test Stage ja warte, da muss ich das so und so
- 31:52Umkonfigurieren, sondern ich habe es in Code gegossen.
- 31:55Ja es ist auch Versioniert zum Beispiel wichtiger Punkt ja also
- 31:59ich habe Stände von meiner Konfiguration die ich auch
- 32:02wiederherstellen kann und im Prinzip habe ich dann
- 32:05unterschiedliche. Konfiguration um diese einzelnen
- 32:09Stages dementsprechend aufzubauen und ich kann sie
- 32:12immer wieder so aufbauen und dadurch nehme ich quasi die
- 32:17Komplexität und den Zeitaufwand raus, den eine manuelle
- 32:22Abarbeitung einfach hätte. Das heißt nicht, dass es nicht
- 32:24komplex ist, diese diese das zu coden ja auf keinen Fall, das
- 32:28kann auch sehr komplex und und nervenraubend werden, ja da will
- 32:32ich, das will ich nicht schönreden.
- 32:34Aber Fakt ist, wenn es läuft und nachweislich läuft, ja, also man
- 32:39kann sowas natürlich auch überprüfen und testen, dann hab
- 32:42ich das, dann hab ich diesen Stand und der wird funktionieren
- 32:45und der wird immer gleich funktionieren am Ende und das
- 32:48ist es ja worum es geht am Ende. Ja, also du hast ja gerade jetzt
- 32:52so bei den ganzen Anwendungen, die man eben hat.
- 32:54Du hast ja nicht nur ein Frontend und ein Backend, also
- 32:57nicht nur irgendwie, sagen wir mal, ein Artefakt von deinem
- 32:59Frontend Code und ein Artefakt von deinem Backend Code, sondern
- 33:01du hast ja dazu noch irgendwie du brauchst ein Server wo das
- 33:03drauf läuft, du brauchst eine Datenbank, du brauchst
- 33:05vielleicht noch ein Load Balancer, weil deine Anwendung
- 33:07so groß ist, dass irgendwie der die ganze Last ne von den ganzen
- 33:10Usern die kommt irgendwie aufgeteilt wird auf.
- 33:13Zum Beispiel mehrere Instanzen deiner deiner Anwendung,
- 33:17beispielsweise ne. Du hast vielleicht irgendwie
- 33:20noch ein Storage, weil du irgendwie Bilder und Videos
- 33:22irgendwie anzapfen willst. Du brauchst einen credentials
- 33:25Manager, weil irgendwie die Datenbank verschlüsselt ist und
- 33:28so weiter und sofort und um das alles aufzubauen, ne, es ist
- 33:32halt anstrengend so ne und das kannst du manuell machen, das
- 33:36kannst du manuell machen und dann hast du es einmal gemacht,
- 33:38dann hast du weil. Wenn ich jetzt aus eigener
- 33:40Erfahrung spreche, so wenn du so infrastructures Code baust, das
- 33:43ist immer so OK. Ich mach erstmal ich mach
- 33:44erstmal das ich leg erstmal das an und jetzt sozusagen versuch
- 33:48ich die Infrastruktur hochzufahren ah OK gibt n Fehler
- 33:51warte mal da fehlt Parameter ah der ist required OK da muss ich
- 33:55noch mal gucken in die Doku alles klar ach ja genau die
- 33:58Datenbank muss verschlüsselt sein so als Beispiel ne so ne
- 34:01und dann. Du hast richtig viele, also
- 34:03meiner Erfahrung nach einige Iterationen um halt eben deine
- 34:07Infrastruktur auch wirklich so aufzubauen.
- 34:09Über infrastructures Code wie du es haben möchtest.
- 34:11Das heißt es wie du meintest, es dauert.
- 34:13Es dauert natürlich aber und das ist das Schöne, wenn du es
- 34:15einmal hast ne dann funktioniert es halt und dann funktioniert es
- 34:21deterministisch, das ist halt das schöne und nicht irgendwie.
- 34:25Klar, wenn du noch mal n bisschen was ändern willst, dann
- 34:27du änderst Kleinigkeiten auch alles in Ordnung, ne, wenn
- 34:30vielleicht noch was schief geht und du sagst oh Gott ich hab
- 34:32jetzt mich komplett in der Einbahnstraße manövriert ne bei
- 34:36dieser infrastructures Code. Und du sagst, ey ich, ich krieg
- 34:39meine Umgebung, die die ist kaputt irgendwie.
- 34:41Ich hab richtig Mist gebaut OK nimm wie du meintest, du kannst
- 34:45gucken in deiner Versionierung, das war der letzte Change, der
- 34:48hat alles kaputt gemacht, das heißt ich geh von meinem, von
- 34:51meinem, von meiner Git Versionierung beispielsweise
- 34:54einen Schritt zurück, lösche meine komplette Umgebung, phasi
- 34:57komplett wieder hoch und ich hab wieder n stand der wieder läuft
- 34:59mach das mal manuell, das ist halt.
- 35:01Ne krass. Gerade wenn du noch mehrere
- 35:03Stages aufbaust und sagst, OK ich bau jetzt die def Stage auf,
- 35:06ich bau jetzt zum Beispiel meine QR Stage auf, ich baue meine
- 35:08Prod Stage auf, du musst das dreimal machen so und dann
- 35:11denkst du dir vielleicht so ja OK, ich hab jetzt zum Beispiel
- 35:14meine prod Stage und meine def Stage, aber ich brauch jetzt
- 35:16noch ne QR Stage und dann warte mal was hab ich jetzt noch mal?
- 35:19Was brauch ich jetzt wie hab in welcher Reihenfolge hab ich das
- 35:21gemacht ich weiß es gar nicht mehr so hab ich jetzt zum
- 35:23Beispiel das so konfiguriert oder so ich guck noch mal nach
- 35:25und das ist funktioniert nicht, skaliert nicht und das ist halt
- 35:30das wichtige um halt eben Infrastruktur infrastructures
- 35:33Code zu haben, das heißt du hast würde ich jetzt einmal kurz
- 35:36durchspielen Commit cicd und deine Stages, aber das Ganze das
- 35:41kannst du. Du kannst es alles manuell
- 35:43irgendwie aufbauen, aber infrastructures Code wir sind
- 35:46hier wieder bei Automatisierung wird ja groß geschrieben bei def
- 35:48Ops die braucht man um das gesamte zugrunde liegende System
- 35:53auf also auf der die Pipeline läuft halt eben einfach.
- 35:57Ich sag mal modern aufzubauen, Wartbar und Automatisierbar zu
- 36:01machen. Ne, also auch das aufbauen der
- 36:03Struktur selber sozusagen ne und auch einfach nachweisbar.
- 36:06Ne, du kannst ja denn genau sehen, wie sieht meine CI aus,
- 36:10wie sieht meine CD aus, welche Stages hab ich, das ist ja
- 36:15nachlesbar so wenn das jemand manuell gemacht hast, dann musst
- 36:19du die denjenigen Fragen sagen, was passiert da eigentlich, ja
- 36:22ist ja ganz einfach hier, ich hab es vergessen.
- 36:27Und so hast du es natürlich nachweislich in einer Version da
- 36:31und kannst es quasi nachlesen, wenn du ja den Code verstehst.
- 36:35Dahinter ne, ja richtig, und das ist einfach der Riesenvorteil
- 36:39und was du meinst die Versionierung.
- 36:41Ich kann Stände wiederherstellen, ne und auch
- 36:43hier muss natürlich der Fokus sein, es schnell zu erkennen
- 36:46falls was schief läuft um schnell reagieren zu können.
- 36:49Ne also wie bei allen. Bestandteilen gilt das natürlich
- 36:52hier auch genau, aber und damit man das auch machen kann, wie
- 36:55ich meinte, irgendwas ist vielleicht kaputt an der
- 36:57Umgebung, dafür brauchst du halt infrastructures Code ne oder
- 37:00halb wen mit der Versionierung und und und.
- 37:02Wichtig ist noch kleine Anmerkung, Es ist natürlich und
- 37:05das muss man wissen, einfach von vom Feelinger, von der Anwendung
- 37:08es es muss natürlich lesbar sein für die Umgebung, für die Cloud,
- 37:12in der man das Halt zum Beispiel eben eben macht, ne, also
- 37:15beispielsweise Azure ist nicht gleich ABS ne und die Reden auch
- 37:19anders. Das ist wie ne
- 37:20Programmiersprache. Du hast halt einfach
- 37:22unterschiedliche Parameter, die du irgendwo einsetzen musst.
- 37:28Die Sachen heißen anders und so weiter ne, aber ich denke das.
- 37:30Ist klar. Also da muss man sich dann halt
- 37:32in das Scripting quasi so n bisschen reindenken und
- 37:35Reinlesen. Aber ich sag mal Konzepte sind
- 37:38oft ähnlich, das hilft dann dabei ne und man sammelt so
- 37:42seine Erfahrungen damit. Lass uns mal zu dem nächsten
- 37:45Punkt kommen, der jetzt quasi entscheidend ist wenn wir sagen.
- 37:49Wir sind jetzt, wir haben unsere Pipeline mit Infrastructure Code
- 37:53aufgebaut. CI läuft durch, die Stages
- 37:55laufen durch und wir entscheiden uns jetzt zu deployen,
- 37:59beispielsweise ne, dann haben wir ja über einen Punkt
- 38:02gesprochen, der auch super essentiell ist und zwar
- 38:06containerisierung. Ja also wir haben über Container
- 38:09und Orchestration gesprochen. Denn die Frage ist jetzt, wie
- 38:14liefer ich denn das Ganze aus, was liefer ich aus?
- 38:17Du hast ja jetzt beispielhaft gesagt, er stell dir einfach ne
- 38:19exe vor oder so in modernen Lösungen, dabei sieht das ja
- 38:24ganze n bisschen anders aus, ne, dann redet man ja oft von
- 38:27Container, Docker fällt sofort als Wort, da haben wir auch ne
- 38:32Folge drüber gemacht, die ich persönlich auch sehr sehr geil
- 38:34fand, weil es einfach so ein cooles Thema ist.
- 38:37Aber das würde ich gern mit dir auch noch mal so n bisschen
- 38:39zusammenfassen. Ja.
- 38:41Stellen wir uns vor, es reden sehr viel, immer von
- 38:43Microservices. Ne, du hast halt ja kybernetes
- 38:48Feld dann ne und das ganz ganz viele Container die da laufen in
- 38:51deiner Umgebung und jeder hat so seine Aufgabe und jetzt stellt
- 38:55man sich natürlich die Frage, gerade vielleicht als
- 38:58Einsteigerin oder Einsteiger, warte mal was Microservices,
- 39:03Hunderte Container, was geht da ab, ich hab eine Software so
- 39:07weißt du. Und genau darum geht es ja im
- 39:10Prinzip, dass man seine Anwendung zum Beispiel in
- 39:12Microservices aufteilt. Ne, dass du gewisse Teile,
- 39:16Aspekte, Aufgaben, auslagerst oder als eigenen Service
- 39:21betrachtest und dann im Endeffekt eine Servicelandschaft
- 39:26hast, die deine gesamte Funktionalität abbildet und das
- 39:28läuft alles so in einzelnen Bestandteilen und da haben wir
- 39:31über Container gesprochen. Und Container haben ja im
- 39:34Prinzip die Aufgabe, ein Problem zu lösen, und zwar das IT Works
- 39:40of my Machine Problem sozusagen. Nur weil du sagst, ich hab bei
- 39:44mir auf meinem PC alles eingerichtet und wenn ich jetzt
- 39:47meine Software laufen lasse, dann läuft das ja, das heißt ja
- 39:51aber nicht in der Integration, wenn ich jetzt davon ausgehe,
- 39:53ich habe ganz viele Bestandteile und ich lass das jetzt auf
- 39:56irgendeinem Server laufen. Dass das da auch läuft, dann,
- 40:00das ist ja nicht gewährleistet. Dann fehlt halt ein Package oder
- 40:05n Klassiker ist es ne falsche Node JS version da installiert
- 40:10und der Support ist nicht mehr gegeben und du kriegst auf
- 40:12einmal da n Fehler hier keine Ahnung was du hier vorhast, das
- 40:15läuft so nicht ne so geht. Und das sind, das sind halt
- 40:19Klassiker, und die werden auf dich zukommen, wenn du dich
- 40:22darum nicht kümmerst. Und dafür gibt es halt im
- 40:24Prinzip auch Container, die denn dafür sorgen, dass du halt diese
- 40:28Abhängigkeiten darin bündelst und sagst, OK, dieser Container
- 40:33mit dieser Software, die ich deployen möchte mit diesem
- 40:35Stand, bringt alles mit, um laufen zu können.
- 40:39Ja, um das noch mal kurz zusammenzufassen, und das ist
- 40:42halt n sehr essentieller Punkt und vor allem wichtig für deine
- 40:45Pipeline um sauber deployen zu können und vor allem mit dem
- 40:48Ziel, dass es am Ende auch läuft.
- 40:50Ja, selbst wenn du auch nicht sagst, OK, ich mach alles in
- 40:52Microservices, aber weil ich ja vorhin meinte, du brauchst
- 40:55vielleicht n Load Balancer, weil du die Last verteilen willst,
- 40:57weil zum Beispiel eine Anwendung, also eine Instanz der
- 41:00Anwendung, nicht mehr ausreicht, dann brauchst du halt noch mal
- 41:02genau die gleiche Anwendung woanders.
- 41:05Und da kannst du einfach sagen, OK, ich fahr noch n neuen
- 41:07Container hoch, der aber im gleichen in der sozusagen, der
- 41:10aber auch mitorchestriert wird, beispielsweise ne, damit du halt
- 41:13ja auch eben sagen kannst, OK, wo leite ich das denn hin, die
- 41:16müssen ja auch irgendwie die gleiche Datenbasis auf die
- 41:18gleiche Datenbasis zugreifen, damit es irgendwie funktioniert
- 41:20und so weiter ne und weil ich zum Beispiel vorhin auch meinte,
- 41:23angenommen du hast ne QR Stage und ne protzstage und.
- 41:26Irgendwelche Tester wollen zum Beispiel auf die QR Stage gehen,
- 41:28aber prod. User sollen da zum Beispiel
- 41:30nicht drauf gehen. Könntest du beispielsweise den
- 41:34wenn du jetzt einen Microservice hast und Authentication Service
- 41:38könntest du zum Beispiel einfach die URL der URL eine andere
- 41:42geben als zum Beispiel, also dem der Container, also sozusagen
- 41:46der Container. Frisierten Anwendung ne andere
- 41:49URL von außen reingeben wo du sagst, OK das ist Deine QA
- 41:52Anmeldung und das ist deine prot Anmeldung ne, also dass du
- 41:55einfach die URL änderst beispielsweise die du von außen
- 41:58reingeben kannst, weil das ist zum Beispiel auch sehr wichtig
- 42:01und ne Best practice, dass eine Umgebung selber nie weiß, dass
- 42:05sie zum Beispiel def ist oder prot ist.
- 42:07Das heißt im Code gegossen. Ne, du kannst halt sagen, OK, du
- 42:11bist jetzt def von außen oder du bist prot.
- 42:13Du kannst es dem von außen mitgeben, aber von innen würdest
- 42:17du niemals sagen, OK ich bin jetzt def beispielsweise oder
- 42:20ich bin prott genau ne ja. Das und das ist halt n wichtiger
- 42:24Punkt um das Staging dann vernünftig auch umsetzen zu
- 42:27können. Ne, dass du halt zum Beispiel
- 42:30deinen Container hast für Test. Du gehst halt auf deine
- 42:33Testdatenbank und den Prot gehst du auf deine echte Datenbank
- 42:35beispielsweise und das wird halt in den Container mit Reingegeben
- 42:39und wie du meintest, er weiß es nicht, es ist für ihn einfach
- 42:42die Anwendung die läuft und das ist ja auch gut so.
- 42:44Ja hast du ja gerade erklärt, aber das sind das greift, da
- 42:47sieht man mal wieder, dass so ne Pipeline, dass all diese Aspekte
- 42:51halt ineinander greifen. Und sich gegenseitig
- 42:54unterstützen. Sagen wir mal, wenn du davon was
- 42:56weglässt, fällt es dir halt schwer, es denn im gesamten auch
- 42:58so umsetzen zu können. Genau, aber pass auf die nur das
- 43:02Wichtigste ist finde ich und das ist auch wirklich ein sehr sehr
- 43:06essentieller Punkt, noch mal ganz am Ende, weil es kann ja
- 43:08überall irgendwo was auftreten, also in allen Sachen, wo wir
- 43:11gerade irgendwas beschrieben haben, kann ja irgendwas
- 43:12auftreten, wir haben ja auch zum Beispiel gesagt, Ey, wenn die
- 43:15Tests failen, du musst ja irgendwie darüber benachrichtigt
- 43:17werden, ne, also du kannst ja nicht sagen, ey, weiß ich nicht.
- 43:21Meine Pipeline läuft normalerweise 20 Minuten.
- 43:23Ich guck mal nach 5 Minuten schon mal prophylaktisch rein,
- 43:25um einfach mal zu gucken okay ist es denn gefällt oder nicht,
- 43:28das heißt du willst informiert werden darüber ob irgendwie die
- 43:32CI gefällt ist, ob irgendwie das Deployment nicht funktioniert,
- 43:35ob deine Infrastruktur irgendwie nicht richtig hochfahren kann
- 43:37oder da vielleicht ein Problem ist, ob vielleicht irgendein
- 43:40Problem innerhalb deines Containers oder deiner
- 43:42Containerumgebung auftritt. Du willst quasi darüber
- 43:45benachrichtigt werden, ob vielleicht irgendwelche Probleme
- 43:47in deiner Anwendung fliegen, damit du irgendwie wieder deine
- 43:50Deployment Strategie. Hier anwenden kannst zu sagen,
- 43:52ich Rolle es wieder zurück und so weiter und sofort und gerade
- 43:55im Zuge des neuen Features. Ja, was wir jetzt gerade
- 43:57versuchen zu integrieren und zu deployen.
- 44:01Genau. Und wenn du darüber nicht
- 44:03Bescheid weißt, dann hast du eigentlich schon wieder n großes
- 44:06Problem. Das heißt n sehr sehr wirklich
- 44:07essentieller Punkt. Meiner Meinung nach ist halt
- 44:10eben Monitoring und Observability ne, also was jetzt
- 44:12beides genau ist. Wie gesagt haben wir ne Folge
- 44:14drüber gemacht. Aber es ist definitiv wichtig,
- 44:16um da um einfach irgendwie zu erkennen.
- 44:18Okay, du hast Anomalien irgendwo in deiner Umgebung, irgendwo,
- 44:22egal wo in in dem Ganzen, was wir gerade besprochen haben.
- 44:25Und wichtig ist halt zu sagen okay, du hast eine Anomalie, du
- 44:28kannst sie sehr schnell irgendwie erkennen und sagen
- 44:31okay Pass auf, hier ist eine Anomalie und dann musst du auch
- 44:34noch schnell dazu in der Lage sein zu sagen okay weiß ich
- 44:37nicht, diese Anomalie ist ein Bug und der ist da, der Ursprung
- 44:40ist darunter, das ist halt wichtig, dass man das schnell
- 44:43machen kann und das. Dafür ist es halt einfach
- 44:46notwendig, auch schnell benachrichtigt zu werden.
- 44:48Also du kannst halt jetzt irgendein Tool nehmen und sagen,
- 44:50ey hier ne, also du du sagst es fliegt zum Beispiel super oft
- 44:54ein Fehler in deiner Anwendung, also kriegst du eine
- 44:57Benachrichtigung auf irgendein Messenger beispielsweise der dir
- 45:01sofort sagt EY Hallo hier Fehler.
- 45:04Ne, und dann gehst du rein, guckst OK, da hab ich n Fehler
- 45:07warum ah OK Zeile so und so in meinem Code oder hast du nicht
- 45:11gesehen ne aber das ist halt unglaublich wichtig, genauso wie
- 45:13wenn deine CICD Pipeline failed, dass du dann sofort ne
- 45:18Mitteilung bekommst die dir sagt Ey das hat nicht funktioniert,
- 45:21damit du sofort wieder reagieren kannst, ne.
- 45:24Genau. Und ja, also im Prinzip haben
- 45:27wir jetzt mit all diesen Punkten ja auch wirklich ne vollwertige
- 45:30Pipeline geschaffen. Ja, also auch gerade mit dem
- 45:33Monitoring, was du jetzt am Ende noch erwähnt hast, was im
- 45:36Prinzip flächendeckend ist, das kann man sich wirklich so
- 45:39vorstellen. Das sitzt über jede, über jeden
- 45:42einzelnen Bestandteil, weil wir haben ja jedes Mal gesagt, ich
- 45:45möchte schnell wissen, dass etwas nicht klappt, ich möchte
- 45:48schnell wissen, ob es also auch geklappt hat.
- 45:51Ja, also beide Fälle und deswegen ist das halt n
- 45:54unfassbar essentieller Punkt, den du gerade angesprochen hast,
- 45:57aber nicht aber und. Ich möchte noch zuletzt auf
- 46:01einen weiteren Punkt eingehen, denn das ganze def Ops.
- 46:06Ja, wir haben jetzt wirklich alles, gerade in den einzelnen
- 46:09Folgen detailliert besprochen, um wirklich die Grundlagen
- 46:11abzubilden. Aber wir haben ja ganz am Anfang
- 46:14dieser Reihe um ein Thema, auch sag ich mal, uns Zeit genommen
- 46:19für ein Thema, und zwar für das Mindset dahinter.
- 46:22Denn so oft, wie wir jetzt gerade schon gesagt haben, ich
- 46:25möchte Feedback. Ich möchte wissen, ob es
- 46:27geklappt hat. Ich möchte vor allem schnell
- 46:29wissen, wenn es nicht klappt, ja, also ich will einfach
- 46:32Qualität gewährleisten, ich möchte sehen, dass etwas
- 46:34funktioniert am Ende und wenn es nicht funktioniert, bitte sag es
- 46:38mir so schnell wie möglich, damit ich es fixen kann.
- 46:40Ja, das zeigt ja, dass man ein gewisses Mindset braucht und das
- 46:44finde ich ist unfassbar essentiell, wenn es um das Thema
- 46:48Dev ops geht und vor allem wenn man in dem Bereich.
- 46:52Tätig sein möchte oder halt auch mal so eine Pipeline umsetzt,
- 46:55dass man dieses Mindset mitbringt, weil man verwendet
- 46:58viele Tools. Ja, es gibt unfassbar viele
- 47:01Tools im Def Ops Bereich, allein um eine richtig coole cicd
- 47:06Pipeline aufzusetzen, so in dem Basic in der Basic Form wie wir
- 47:11sie jetzt besprochen haben, wirst du ja schon viele Tools
- 47:13einsetzen, keine Frage. Also das Tooling ist gigantisch,
- 47:17aber am Ende ist es unfassbar wichtig halt ein.
- 47:21Ein richtiges Mindset in sich selbst zu verankern, ja, also
- 47:25nicht so. Ja OK, ich nehme jetzt das Tool
- 47:27da da, das haben die jetzt gesagt das das muss ich nehmen,
- 47:30was war es ja hier Docker jut Docker hier komm wie
- 47:32funktioniert das jut alles klar ja hier Tutorial AB fertig
- 47:36funktioniert und das mach ich jetzt bei allem und dann hab ich
- 47:38jetzt irgendwie so ne Pipeline die läuft irgendwie und fertig
- 47:42also man muss halt auch n gewisses Mindset da einfach.
- 47:45Mitbringen, weil, so wird es am Ende nicht laufen, ja, sondern
- 47:48man muss sich fragen, wie kann ich etwas automatisieren und
- 47:52warum automatisiere ich das vor allem auch ne das Ziel muss sein
- 47:57mir so viel manuelle Schritte wie möglich abzunehmen, aber
- 48:01nicht weil ich faul bin, ich sag es mal provokativ.
- 48:05Sondern um quasi meinen Entwicklungsprozess vor mir
- 48:08selbst zu schützen. Ich finde, das kann man
- 48:10eigentlich so sagen, weil manuelle Schritte bedeutet
- 48:14fehleranfällig und deswegen das Mindset zu haben, kann man da
- 48:18was automatisieren, kann ich gewährleisten, dass es immer
- 48:21gleich abläuft, das ist halt wichtig, ne und dann dieses
- 48:25erkenne ich schnell, dass etwas schiefläuft, ich möchte bitte
- 48:27sofort wissen, wenn etwas nicht läuft.
- 48:29Ja. Na, ich finde es halt.
- 48:31Ich habe halt oft gehört, so was wie es geht nicht, aber die
- 48:34Frage ist halt finde ich eher so okay wie geht es, wie kann ich
- 48:37das ermöglichen und das ist halt ein essentieller Teil und am
- 48:41Ende geht es ja auch darum, dass man bei Def Ops eben nicht
- 48:44einfach nur sagt okay ich muss jetzt hier irgendwie ne wie du
- 48:47schon meintest, so eine Toolpalette anwenden, sondern es
- 48:49geht darum Silos aufzubrechen, also gerade wissens Silos die du
- 48:53irgendwo verankert hast, vielleicht unter Umständen oder
- 48:55vielleicht verankern würdest in deinem Team und.
- 48:59Und halt eben auch zu sagen, ich teile die Verantwortung über die
- 49:04entsprechende, über den gesamten, über die gesamte
- 49:09Anwendung sag ich jetzt mal. Und alles, was damit zu tun hat
- 49:12durch halt eben Automatisierung und ja, es geht halt auch
- 49:17irgendwo darum, Transparenz zu schaffen, ne, also dass du
- 49:20sagst, OK ich hab ne Transparenz, Transparenz schafft
- 49:23Vertrauen und. Und das ist halt am Ende das
- 49:27Wichtigste. Das muss im Kopf sein.
- 49:29Ansonsten funktioniert es auch nicht so richtig, Depp Ops
- 49:32anwenden zu wollen, weil man es muss, sondern man möchte, man
- 49:35muss es wollen, sozusagen nicht, weil man es muss, man muss es
- 49:38wollen. Und deswegen auch noch mal
- 49:43abschließend noch mal gesagt, Wir haben es schon oft gesagt,
- 49:46diese Feedback und Fehlerkultur ist halt das Maß aller Dinge und
- 49:51das muss gelebt werden. Ja, man muss zu Fehlern auch
- 49:53stehen. Das Ziel ist, wie können wir sie
- 49:56nächstes Mal vermeiden, was können wir jetzt verbessern,
- 49:59damit diese Fehler nicht mehr auftreten.
- 50:01Und das sind halt essentielle Fragen, die du dann stellen
- 50:04musst. Am Ende ne nicht so wer war es,
- 50:06ich war es nicht hier RR da drüben, da stehst du aber 5
- 50:09hinten rechts in der Ecke was genau unser klassischer Business
- 50:13Server nein es geht darum OK sprichwörtlich, das Kind ist im
- 50:18Brunnen gefallen, es ist passiert.
- 50:20Wie machen wir es besser nächstes Mal und ich finde diese
- 50:22Fehlerkultur ist halt auch sehr essentiell im Def Ops teil.
- 50:26Auch hier noch mal die Anmerkung, Wir hatten es damals
- 50:28schon gesagt, dass Def Ops Handbook fantastisches Buch, wo
- 50:32auch alle Punkte, gerade das Mindset finde ich sehr sehr gut
- 50:36enthalten ist. Was sind es für Schritte, was
- 50:39muss in meinem Kopf passieren, wie muss ich an so ne Sache
- 50:42rangehen? Da auch noch mal die Empfehlung,
- 50:45wir können auch gerne den Link noch mal in die Shownotes
- 50:47packen, ist n wirklich sehr gutes Buch, richtig?
- 50:49Ganz kurz bevor wir jetzt vielleicht die Folge
- 50:51abschließen, will ich noch mal ganz kurz n kleinen Ausblick
- 50:53geben und zwar es gibt ja def Ops, vielleicht hat der ein oder
- 50:56andere. Auch schon mal sowas wie def sec
- 51:00ob es gehört ne. Im Endeffekt ist das so ich
- 51:02vielleicht so die logische Erweiterung, dass man halt sagt,
- 51:05OK nicht es ist nicht nur Development and Operations
- 51:07sondern Security kommt mit rein, weil oftmals ist es so, dass in
- 51:11Anwendung Security irgendwie nachgelagert wird, so nach dem
- 51:13Motto Wir bauen erstmal die Anwendung und dann gucken wir
- 51:15mal. Was kann man denn Security
- 51:16technisch noch vielleicht verbessern?
- 51:18Hier ist es so, dass Security da nicht nachgelagert wird, sondern
- 51:21eher so bei Design mit in den Entwicklungsprozess von Anfang
- 51:25an integriert wird. Ne und dann wird halt eben aus
- 51:28Def Ops def sec ops. Ja also ich sag mal so es ist
- 51:32auf jeden Fall im groben soll es halt die Haltung da also.
- 51:38Mitgeben dass Security ist eine Verantwortung von jedem für
- 51:42jeden, der Halt Software entwickelt oder Infrastruktur
- 51:45aufsetzt oder was auch immer, ist ein essenzieller Teil und
- 51:47wenn es irgendwie mal ein Interesse gibt zu sagen, okay
- 51:49können wir vielleicht defs Hack Ops noch mal ein bisschen
- 51:52vertiefen. Im Podcast können wir gerne auch
- 51:53noch mal machen, noch mal eine Folge drüber machen, also Liebe
- 51:55zuhören, lieber Zurer sagt auf jeden Fall Bescheid.
- 51:58Ja, und warum das so extrem wichtig ist, haben wir in der.
- 52:04Einer der letzten Big Fails folgen gezeigt der solarwinds
- 52:08Fall war ein perfektes Beispiel, warum auch dieses Bestreben oder
- 52:13das Denken Richtung Defsac Ops gegangen ist.
- 52:17Ja, weil das war halt ein Riesending mit extrem hohen
- 52:20Schäden. Und deswegen hatte man dann auch
- 52:22gesagt, so vielleicht sollte man im deffops Bereich auch so ein
- 52:26Security by Design betreiben. Also gute Anmerkungen und Liebe
- 52:29zuhören, Liebe zuhören, falls du da Bock drauf hast, schreib uns,
- 52:32wir können uns gerne mit dem Thema auseinandersetzen, ist
- 52:34auch wirklich ein sehr coole, sehr cooler Punkt ansonsten fabi
- 52:40es ist leider soweit, ich muss es jetzt leider sagen, damit
- 52:43haben wir unsere geliebte Deffops Reihe erstmal als
- 52:46Grundlagenreihe abgeschlossen. Es war mega cool.
- 52:50Vielen Dank noch mal an dich dafür.
- 52:52Ich liebe es über dev Ops mit dir zu sprechen, liebe Zuhörer,
- 52:56liebe Zuhörerin, ich hoffe, dir hat die Reihe auch gefallen,
- 52:59falls es vielleicht die 1. Folge war und du jetzt sozusagen
- 53:02dieses Chi Chi bekommen hast. Ne mit diesem gesamten
- 53:05Überblick, hör auch gerne noch mal in die anderen Folgen rein,
- 53:07da haben wir alles detaillierter besprochen.
- 53:10Wenn du dir jede Folge angehört hast, schwören wir dir, dann
- 53:13hast du das Def Ops wissen in den Grundlagen, dann weißt du
- 53:16wie es läuft. Kannst du mitreden, du bist def
- 53:19Ops dann und ansonsten würde ich sagen Liebe zu Liebe zu und
- 53:24falls dir der Podcast grundlegend gefällt oder halt
- 53:27auch speziell diese Folge empfiehlt ihn gerne weiter, lass
- 53:30ne Bewertung da, das würde uns mega freuen, dass du unterstützt
- 53:33uns ungemein. Das Glöckchen was Fabi schon
- 53:38erwähnt hat, wichtig, wichtig, ich wusste es nicht.
- 53:40Ich hoffe du weißt es jetzt und hast drauf geklickt falls du
- 53:44Fragen hast zu def aufschreibt uns die Podcast Mail wie immer
- 53:47in den Show Notes Anmerkungen immer gerne her damit.
- 53:51Ja wir tauschen uns super super gerne damit aus auch auf dem
- 53:55Discord, schau gerne vorbei, da gibt es jeden Tag Diskussion zu
- 53:58Themen ist richtig cool wir lieben unsere Truppe, da ist es
- 54:01einfach mega cool mit den Leuten und und ansonsten würde ich
- 54:05sagen, hören wir uns alle beim nächsten Mal wieder.
- 54:07Bis dahin ne gute Zeit euch allen ciao ciao deine Codening
- 54:11Bodys gemeinsam besser.