DevOps

DevOps ist ein Softwareentwicklungsansatz, der sich auf die Zusammenarbeit und Kommunikation zwischen Entwicklern und IT-Profis konzentriert, um schnellere und effizientere Bereitstellung von Software zu erreichen. In diesen Episoden erkunden wir die verschiedenen Aspekte von DevOps, einschließlich Continuous Integration und Deployment, Infrastructure as Code, Monitoring und Observability. Wir besprechen auch, wie Organisationen eine DevOps-Kultur implementieren und wie diese den Softwareentwicklungsprozess verbessern kann.

Podcast

DevOps im Engineering Kiosk Podcast

Details zur Podcast Episode #87 Die DORA-Metriken: Ist Software-Entwicklungs-Performance messbar?TeamDevOpsTech KulturSoftware Qualität

#87 Die DORA-Metriken: Ist Software-Entwicklungs-Performance messbar?

DORA Metriken: Die Performance-Messung deines Software Development Teams bzw. die Ermittlung des Reifegrades von DevOps in deiner Organisation Softwareentwicklung ist ein kreativer Beruf. Jedes Projekt ist einzigartig und die geschriebenen Lines of Code sagen wenig über die dafür benötigte Zeit aus. Das Research-Programm DevOps Research and Assessment (DORA) versucht dennoch die Performance eines Software-Entwicklungs-Teams zu messen. Nicht via Lines of Code, sondern auf Basis von Aktivitäten, die Value liefern: Deployment Frequency, Lead Time for Changes, Mean Time to Recovery, Change Failure Rate und Reliability. Die Metriken selbst sind weit bekannt. Wie diese Metriken beeinflusst werden können, wer eigentlich dahinter steckt, und was die Organisation eigentlich für eine Kultur vorleben muss, damit es überhaupt zu einem positiven Ergebnis kommt, wissen viele nicht. Und genau darüber...

Details zur Podcast Episode #78 Microservice & Monolith: Was die Industrie in den letzten 9 Jahren gelernt hatDevOpsSoftware EngineeringAutomationFrontendBackend

#78 Microservice & Monolith: Was die Industrie in den letzten 9 Jahren gelernt hat

Monolithen und Microservices: Ein Evergreen der Software-Industrie. Mitte der 2010er Jahre bekam das Thema der Microservices Popularität. Doch was haben wir nach ca. 9 Jahren darüber gelernt? Sind Microservices immer noch der heilige Gral oder war es eine tolle Reise und alle pendeln zurück zu Monolithen? Viele Firmen haben positive und negative Erfahrungen und Learnings mit Microservices gemacht. Doch war es für alle der richtige Schritt? Nutzen die meisten Firmen die wahren Vorteile von Microservices wirklich aus? Und welches Problem löst der Microservice-Trend eigentlich? Ein technisches oder organisatorisches Problem? Welche Probleme gibt es in der Welt um Microservices, besonders in großen, schnell wachsenden Organisationen? Was sind typische Gründe warum Microservices scheitern? Und waren Cloud Native, Container-Scheduler wie Kubernetes und Co einfach nur weiteres Öl, was ins...

Details zur Podcast Episode #64 Infrastruktur-Bingo: Forward-, Reverse-, SOCKS-Proxy, Load Balancing und gibt es einen Unterschied zwischen Load-Balancer und Reverse-Proxy?BackendDevOpsSoftware EngineeringSicherheitCloud

#64 Infrastruktur-Bingo: Forward-, Reverse-, SOCKS-Proxy, Load Balancing und gibt es einen Unterschied zwischen Load-Balancer und Reverse-Proxy?

Forward-Proxy, Reverse-Proxy, Bastion-Host, Load Balancer, SOCKS5-Proxy, Edge-Router, Zero-Trust, Geo-Balancing, ... Haltet eure Buzzword-Bingo-Karten bereit. In dieser Episode beschäftigen wir uns mit der Frage "Was ist eigentlich der Unterschied zwischen einem Loadbalancer und einem Reverse Proxy?". Klingt einfach zu beantworten, ist es aber nicht. Zwei (oder sogar mehr) Welten treffen da aufeinander. Um der Antwort näher zu kommen, steigen wir Tief in das Thema ein und klären was eigentlich ein normaler Proxy ist, wo der Unterschied zu einem Reverse Proxy ist, was ein SOCKS5-Proxy kann, wozu Proxies heutzutage eingesetzt werden, was ein Bastion Host ist, wozu Edge Nodes gut sind, was Ihr für Tools einsetzen könnt und klären am Ende auch die Frage, was denn nun eigentlich der Unterschied zu einem Load Balancer ist. Bonus: Ob Wein durch Schläuche schmeckt und was das Düsseldorfer...

Details zur Podcast Episode #60 On-Call: Warum auch Software-Engineers auf Rufbereitschaft sein solltenTeamBackendDevOps

#60 On-Call: Warum auch Software-Engineers auf Rufbereitschaft sein sollten

On-Call bzw. Rufbereitschaft: Eine ewige Hass-Liebe? Software-Engineers entwickeln die Applikationen. Doch wer maintained diese und bringt diese wieder zurück ins Leben, wenn die Applikationen mal abstürzen? Im klassischen Sinne sind das System-Administratoren. Und für die meisten in diesem Beruf gehört On-Call dazu. Doch ist dies auch im modernen Dev-Ops-Umfeld und in Voll-Autonomen Teams der Fall? Welche Herausforderungen gibt es beim On-Call? Sollten Software-Engineers genauso auf Rufbereitschaft sein? Wie sieht ein strukturierter On-Call-Prozess aus? Und was muss getan werden, um einen solchen zu etablieren? Und welche Modelle zur Bezahlung bzw. Kompensation gibt es, wenn man auch nach der Arbeit für seine App gerade steht? All das und noch viel mehr gibt es in dieser Episode. Bonus: Was Pager mit Tamagotchi zu tun haben und ob On-Call zu einer Handy-Phobie führt. Schaut vorbei in...

Details zur Podcast Episode #56 Applikations-Skalierung: Wann, wieso, was kostet es? Stateless und Stateful, Horizontal vs. VertikalBackendDevOpsCloud

#56 Applikations-Skalierung: Wann, wieso, was kostet es? Stateless und Stateful, Horizontal vs. Vertikal

Die App muss skalieren. Das kann doch nicht so schwer sein, oder? Sekundenschnelles und automatisches Hochskalieren bei einem erhöhten Traffic-Aufkommen. So oder so ähnlich versprechen es die Cloud-Hyperscaler in ihren Marketing-Texten. Das erweckt oft den Anschein, dass das Ganze gar nicht so schwer sein kann. Doch ist dies auch in der Realität so? Eine Applikation skalierbar zu gestalten, ist bei weitem nicht einfach. Stichworte wie Ausfallsicherheit, vertikale- oder horizontale Skalierung, Stateless- oder Stateful-Applications, Loadbalancer und Auto-Discovery, Kubernetes und zusätzliche Code-Komplexität, finanzieller Impact, Load-Tests, Request-Deadlines, Chaos Monkey und Down-Scaling. Alles Begriffe, die damit in Verbindung stehen und einen wichtigen Bestandteil ausmachen. In dieser Episode geben wir einen Überblick über das Thema Application-Skalierung: Was ist das? Wer braucht es?...

Details zur Podcast Episode #54 Key Value Store Redis: Einsatzmöglichkeiten, Fallstricke, Datenstrukturen, HyperLogLog und (flüchtige) PersistenzDevOpsDatenbankenOpen Source

#54 Key Value Store Redis: Einsatzmöglichkeiten, Fallstricke, Datenstrukturen, HyperLogLog und (flüchtige) Persistenz

Redis - Der open source, in-memory data structure server Viele Software-Engineers haben bereits von Redis gelesen. Primär im Anwendungsfall eines Caches. Doch das ist bei weitem nicht alles, was Redis unter der Haube hat. In dieser Episode schauen wir uns den Data Structure Server mal genauer an. Was ist Redis? Welche Datentypen unterstützt dieser? Was ist Geospatial und HyperLogLog? Kann Redis meine Daten auch persistieren? Welche Use-Cases gibt es neben dem Caching? Wer ist eigentlich der Kopf hinter Redis? Und wie kann ich Redis erweitern, falls ich noch mehr Funktionalität brauche? All das und noch viel mehr Hintergrundwissen zu Redis in dieser Episode. Bonus: Wann unser Co-Host Andy und wann Andreas genannt wird und was Clippy von Word mit Redis zu tun hat.

Details zur Podcast Episode #48 Der Layer unter Docker: containerd, Kubernetes, Container Runtime Interface, CRI-O und Open Container Initiative (OCI)BackendDevOpsOpen SourceCloud

#48 Der Layer unter Docker: containerd, Kubernetes, Container Runtime Interface, CRI-O und Open Container Initiative (OCI)

Wie sieht eigentlich der Layer unter Docker aus? Und wie interagiert Kubernetes mit Containern? In Episode 46 haben wir geklärt, welches Problem Docker eigentlich löst. Das Container-Ecosystem ist jedoch weit größer. Deswegen widmet sich diese Folge der darunter liegenden Ebene. Wir besprechen die Modularisierung von Docker, die herausgetrennte Highlevel Runtime containerd, wie Kubernetes mit Docker-Containern umgeht, ob Docker Container die einzige Art von Containern ist, die Kubernetes unterstützt, was ein Container Runtime Interface (CRI) ist, was die Open Container Initiative (OCI) und ob auch du dir deine eigene Highlevel Container Runtime programmieren kannst. Bonus: Was die Linux-Mafia ist und wieso es bald eine österreichische Container Runtime gibt.

Details zur Podcast Episode #46 Welches Problem löst Docker?BackendDevOpsOpen Source

#46 Welches Problem löst Docker?

Docker und Container: Buzzwords der letzten Dekade - Doch was ist Docker wirklich? In dieser Episode versuchen wir genau diese Frage zu beantworten. Jeder redet davon, und wie in jedem Hype werden Wörter und Begriffe oft in einem falschen Kontext genutzt und das Ecosystem entwickelt sich unglaublich schnell. Deswegen ist es doch ganz gut, wenn man ein wenig hinter die Kulissen schaut: Warum wurde Docker erschaffen und welches ursprüngliche Problem sollte es lösen? Was ist das besondere an Docker, wenn es "diese Linux Container" bereits seit > 20 Jahren gibt? Was ist eigentlich ein Container im Kontext von Software und was hat "Change Root" (chroot) damit zu tun? Und welche Nachteile hat Docker? Kurz um: 55 Minuten um das “Warum” hinter Docker. Bonus: Warum Duisburg eine essentielle Rolle im Container-Ecosystem spielt, was Kaffe mit Software deployen zu tun hat und wie man das Endstück...

Details zur Podcast Episode #43 Cloud vs. On-Premise: Die EntscheidungshilfeBackendDevOpsCloud

#43 Cloud vs. On-Premise: Die Entscheidungshilfe

Wann ist die Cloud das richtige für dich und deine Applikation? Oder doch lieber alles selbst hosten? Die Cloud wird oft als "die Lösung" für all deine Probleme beschrieben. Sie ist günstig, man benötigt weniger Personen für den operativen Betrieb, alle Services sind gemanagt und serverless und alle anderen Probleme hat man sowieso nur On-Premise. Sind damit On-Premise Datacenter und Selfhosting ausgestorben und sollten gemieden werden? Oder gibt es sogar Szenarien, wo On-Premise sogar große Vorteile hat? In dieser Episode geht es um diese Frage: Wann ist die Cloud und wann On-Premise / die eigenen Server für dich die bessere Wahl? Wir diskutieren über diese Frage anhand eines Blogposts über eine Migration aus der Cloud von 37Signal's Produkt "Hey.com". Bonus: Was der Produktlebenszyklus vom VW Golf mit der Cloud zu tun hat und warum ein Raid 1 kein Backup ist.

Details zur Podcast Episode #38 Monitoring, Metriken, Tracing, Alerting, ObservabilityBackendDevOpsSoftware EngineeringCloud

#38 Monitoring, Metriken, Tracing, Alerting, Observability

Wie würde heutzutage ein moderner Logging, Metriken, Monitoring, Alerting und Tracing-Stack aussehen? Im Infrastruktur-Bereich gibt es zu jedem Bereich etliche Tools. Cloud-Native ist das Buzzword der Stunde. In dieser Episode erzählt Andy, wie er einen modernen Stack für ein Side-Projekt für die Bereiche Logging, Metriken, Monitoring, Alerting und Tracing aufsetzen würde. Unter anderem geht es dabei um Fragen wie: Was sollte man eigentlich alles loggen? Wie kann man von einem Alert angerufen werden? Wie visualisiert man Daten in schönen Graphen? Brauchen wir Tracing? Und was ist Observability? Bonus: Engineering Porn und Buzzword-Bingo.

Details zur Podcast Episode #34 Wie cloudy bist du?BackendDevOpsCloud

#34 Wie cloudy bist du?

Die Cloud Native Infrastruktur vs. ein dicker Server - Ein Dauerstreit-Thema AWS, GCP, Azure und Co bieten viele Cloud Native Services, die dir dein Leben vereinfachen sollen. Serverless, weniger Admins und alles super günstig. Das sind die Versprechen. Doch ist das wirklich so? Wäre ein leistungsstarker Server nicht besser, günstiger, einfacher und ausreichend? Und wie steht das nicht im Konflikt mit einer modernen Microservice-Architektur? All diese Fragen stellen Wolfgang und Andy in dieser Episode, wo sie einen Artikel "Use One Big Server" besprechen. Bonus: Was eine Klatsche auf Reddit, Vendor-Lock-in und CV-Driven-Development mit Servern zu tun hat.

Details zur Podcast Episode #31 Ich automatisiere mir die Welt wie sie mir gefällt (mit GitHub Actions)BackendDevOpsSoftware EngineeringSoftware Qualität

#31 Ich automatisiere mir die Welt wie sie mir gefällt (mit GitHub Actions)

Schuftest du noch oder automatisierst du schon? Heute gehts um die Faulheit von Entwicklern: Wir sprechen über GitHub Actions - Was es ist, wozu man es benutzen kann, wie es das eigene Leben erleichtern kann, wo der Unterschied zu Jenkins ist, wie das Engineering Kiosk es selbst einsetzt und welche Use-Cases von der Community oft genutzt werden. Bonus: Warum LinkedIn einen HTTP Status Code 999 sendet, wann wir Programmiersprachen wie Unterhosen wechseln und was Michael "Bully" Herbig mit der ganzen Sache zu tun hat.

Details zur Podcast Episode #27 Sicherheit in der Dependency HölleDevOpsFeuerwehrSoftware EngineeringFrontendBackendSicherheit

#27 Sicherheit in der Dependency Hölle

Was haben die JavaScript Pakete left-pad, color, faker und cross-env gemeinsam? Alle waren in npm Package Sicherheits-Incidents involviert. Wenn man sich die Anzahl von Javascript Abhängigkeiten bei Mittelgroßen Projekten ansieht, ist eine dreistellige Anzahl an JavaScript Paketen nicht unüblich. Das liegt primär an der überschaubaren Größe der Pakete und somit der Funktionalität. Alles nur, um Pakete verwaltbarer zu halten. Doch dieser Umstand macht das JavaScript-Ecosystem so attraktiv für Angreifer oder kann zu extremen Seiteneffekten führen. In dieser Episode sprechen wir drei npm Package Incidents durch, was es damit aufsich hatte, welche Attack-Möglichkeiten es noch gibt und wie man sich als Software Entwickler dagegen schützen kann. Bonus: Was Bademeister, Blubberwasser und eine ASCII-Repräsentation von Uncle Sam und der amerikanischen Flagge mit JavaScript zu tun haben.

Details zur Podcast Episode #24 Infrastructure as Code oder old man yells at cloudAutomationBackendDevOpsCloud

#24 Infrastructure as Code oder old man yells at cloud

Old man yells at cloud - Oder: Wie managed man seine Infrastruktur mit Stil (und Software) Anders als gewohnt nimmt in dieser Episode Andy die Dozenten-Rolle ein und beantwortet Wolfgang all seine Fragen zum Thema Infrastructure as Code. Wir klären wozu man das ganze eigentlich braucht, was Terraform und Pulumi ist, klären über einen weit verbreiteten Mythos auf, wo der Unterschied zwischen Infrastructure Orchestration und Configuration Management ist, was das beste Configuration Management Tool ist und wo es Herausforderungen bei der Verwendung von Infrastructure as Code gibt. Bonus: Was ein Data Engineer ist, ob Wolfgang Holz-Clogs trägt und wie Deutschland mit dem 9€ Ticket umgeht.

Details zur Podcast Episode #17 Was können wir beim Incident Management von der Feuerwehr lernen?DevOpsFeuerwehr

#17 Was können wir beim Incident Management von der Feuerwehr lernen?

Was haben die Methoden der Feuerwehr zur Bekämpfung von Großschadensereignissen mit dem Incident Management von IT-Systemen gemeinsam?  Diese Frage klären wir in der folgenden Episode. Wolfgang, als Mitglied der freiwilligen Feuerwehr, gibt einen Einblick in das Prozedere, wenn die Feuerwehr ausrückt. Andy vergleicht dies mit dem Incident Management von Cloud-Systemen. Wir klären wie man den Schaden eines Incidents misst, was dies mit dem Vertrauen von Kunden zu tun hat, wie ordentliche Prävention aussehen kann und warum es dafür wenig Ruhm gibt, was man unter War- und Peacetime versteht, wie ein moderner “Schreiberling” aussieht, wie dreist Presseleute sein können und was eine kleine Konferenz in Kalifornien damit zu tun hat. Bonus: Was Gartenschläuche und Stahl-Hochöfen damit zu tun haben und wieso Kaffee holen doch eine Strategie sein kann.