Martin Helmich über Docker und Kubernetes – Anwendungsentwickler-Podcast #121
IT-Berufe-Podcast - En podcast af Stefan Macke - Mandage
Kategorier:
Ein spannendes Interview mit Martin Helmich zum Thema Docker gibt es in der einhunderteinundzwanzigsten Episode des Anwendungsentwickler-Podcasts. Allgemeines zur Person * Wie ist dein Name und wo arbeitest du? * Martin Helmich von Mittwald. * An welchen Projekten arbeitest du zur Zeit in deinem Tagesjob? * Einsatz von Containern in Hosting-Umgebungen. * Wie bist du zur Informatik bzw. Softwareentwicklung gekommen? * Als Kind schon mit dem Programmieren angefangen. * Welche Ausbildung bzw. welches Studium hast du im Bereich der Informatik absolviert? * Wirtschaftsinformatik (Bachelor) an der PHWT Vechta und danach Master in Informatik mit Schwerpunkt Mobile Anwendungen an der Hochschule Osnabrück. * Mit welcher/n Programmiersprache/n arbeitest du im Alltag? * JavaScript (NodeJS), Go, PHP. * Was ist deine Lieblingsprogrammiersprache und warum? * Go, weil sie Vieles besser/einfacher/sicherer macht als C. Docker * Was ist Docker? * Eine Software zur Containervirtualisierung. * Warum gibt es aktuell so einen Hype rund um Docker? * Wird viel im Zusammenhang mit DevOps verwendet. Container sind in aller Munde. Viele Buzzwords, die durch die Entwicklerszene geistern. * Warum nimmt man nicht einfach die „guten alten“ virtuellen Maschinen? * Zu aufwändig für einzelne Services/Prozesse. Kleiner und leichter zu (ver-)teilen (siehe Docker Hub). Bessere Performance. Einfache Automatisierung. * Was hat das Ganze mit „infrastructure as code“ zu tun? * Bei Docker spricht man eher von „immutable infrastructure“, also zustandsloser Infrastruktur. * Wozu braucht man in der Praxis Container? * Infrastrukturbetrieb soll einfacher werden. Leicht in die Breite zu skalieren. * Was ist Kubernetes und wofür braucht man das? * Docker kann nicht selbst clustern usw. Kubernetes oder Docker Swarm sind Container Orchestrators, die das übernehmen. Kubernetes ist der de-facto Standard. Die Orchestrierer abstrahieren von der konkreten Infrastruktur (Hardware, Netzwerk usw.). Wichtig, wenn Container untereinander kommunizieren sollen, z.B. Webanwendung mit Datenbank. * Welche Vorteile bieten mir als Softwareentwickler Container? * Entwicklungs-/Produktionsumgebung exakt nachbauen. Versionen und Abhängigkeiten exakt nachstellen. Zielumgebung für Deplyoment kann durch Entwickler vorgegeben werden. Spart Zeit und gibt Sicherheit beim Deployment. Fehler können besser nachgestellt werden. Verhindert das „Works on my machine“-Syndrom. * Ist der Einsatz von Docker auch auf auf Windows möglich? * Man kann Linux-Container unter Windows starten. Man kann auch Windows-Container starten. * Wie (einfach) aktualisiert man vorhandene Container (z.B. bei Betriebssystemupdates)? * Ein Container soll sich eigentlich nicht mehr ändern. Images können auf Basis neuer Images neu gebaut werd...