#9 Kubernetes für Entwickler

avatar Christoph Petrausch
avatar Jacob Cofman
avatar Nico Kreiling

Folge 9 behandelt die Container Management Plattform Kubernetes aus Sicht eines Applikations-Entwicklers. Jacob vertritt in der Folge die Entwickler Sicht und erzählt von seinen ersten Erfahrungen mit Kubernetes, Christoph erklärt weitere in Kubernetes umgesetzte Konzepte aus der Perspektive eines Linux bzw. Cloud System Engineers. Vorwissen zu Docker (Folge 1) ist hilfreich, aber ein allgemeines Verständnis von Containern ist ausreichend. Alle wesentliche Grundbegriffe von Kubernetes wie etwa Pods, Deployments, Services oder Configmaps werden erklärt. Dazu werden elementare Konzepte zum Netzwerk und Speicher-Management diskutiert und praktische Tipps gegeben, wie etwa mit Logging umgegangen werden sollte und was Immutable Deployments sind. In einer zukünftigen Folge wird das Thema Kubernetes noch weiter vertieft werden um die zugrundeliegende Funktionsweisen zu verstehen, die für den Einsteiger noch nicht von Bedeutung sind.

#8 Multi-Model Databases

avatar Jan Steemann
avatar Jan Stücke
avatar Nico Kreiling

In Folge 8 sind Jan Steemann und Jan Stücke von ArangoDB zu Gast um über unterschiedliche Typen von Datenbanken zu diskutieren. Nach einer kurzen Zusammenfassung der Historie die vor allem von relationalen Datenbanken geprägt war geht es insbesondere um NoSQL Datenbanken. Wir besprechen wie diese mit ACID Anforderungen umgehen, was das CAP Theorem ist und wie NewSQL Datenbanken dennoch horizontale Skalierbarkeit erreichen. Natürlich geht es aber entsprechend dem Episoden-Titel auch um Multi-Model-Databases wie etwa ArangoDB. Solche Datenbanken vereinen unterschiedliche Arten von Speicherformaten um eine einheitliche Abfrage-Möglichkeit zu schaffen und dennoch die Vorteile unterschiedlicher Arten von Datenspeicherung zu nutzen. Letztlich diskutieren wir die Implikation dieses Ansatzes das auf verteilte Systeme, Schema-Design und die Abfragesprache.

Links:

#7 Infrastructure as Code

avatar Arnold Bechtoldt
avatar Nico Kreiling

Infrastructure as Code (IaC) ist ein modernes Paradigma, welches Hardware Ressourcen in Quellcode abbildet. Auf diese Weise wird die Infrastruktur einfach reproduzierbar, versionierbar  und ist sogar automatisch dokumentiert. Arnold Bechthold erklärt mir, woher diese Entwicklung kommt und wie sie sich von klassischem Konfigurationsmanagement unterscheidet. Terraform ist eine sehr verbreitete und vor allem Cloud agnostische Open-Source Software zur Realisierung des IaC-Paradigmas und unsere Beispiel-Implementierung. Wir beschreiben was notwendig ist, um einen hochverfügbaren Webshop bei AWS zu betreiben und wie ein entsprechendes Abbild in Terraform aussieht. Auch gehen wir auf Themen wie Statemanagement, Provisionierung und den Unterschied zwischen deklarativer und imperativer Software ein. Letztlich diskutieren wir die Zusammenhänge zwischen der DevOps Bewegung und IaC sowie das sich wandelnde Berufsbild vom klassischen Administrator hin zum Systems Engineer.

Links:

#6 Computer Vision

avatar Stanislav Frolov
avatar Nico Kreiling

Folge 6 behandelt das Thema Machine Vision, also wie man Computer vergleichbar zur menschlichen Wahrnehmung das Sehen beibringen kann. Stanislav Frolov erklärt, warum diese Aufgabe so schwierig ist und für welche Anwendungsgebiete neben dem autonomen Fahren diese Verfahren noch benötigt werden. Es werden sowohl Grundbegriffe wie Klassifizierung, Lokalisierung und Deduktion erklärt und was in den letzten 60 Jahren Forschung erreicht wurde. Natürlich geht es auch um Neuronale Netzwerke bzw. CNNs, welche im Detail erklärt werden. Nach einer grundlegenden Einführung werden auch einige populäre Netzwerkarchitekturen wie GoogleNet, YOLO angerissen.

#5 Geschichte der Webentwicklung

avatar Patrick HIllert
avatar Nico Kreiling

Folge 5 versucht den großen Bogen von den Anfängen des Internets bis hin zu moderner Webentwicklung zu spannen. Dabei geht es nach kurzem Rückblick auf das Internet der 90er um statische Webseiten mit HTML und CSS. Der Unterschied zwischen Serverseitiger Webentwicklung via PHP wird genauso erklärt wie Javascript als Programmiersprache im Webbrowser. Wir berichten von unseren ersten Erfahrungen mit Content Management Systemen und JS-Bibliotheken wie jQuery. Dann geht es in Richtung moderner Webentwicklung mit Frameworks wie Angular, Single Page Applikationen und dem Mobile First Ansatz. Danach diskutieren wir über die Build-Pipeline welche etwa NPM, Gulp und Typescript-Transpiler einschließt, bevor wir noch einen Blick in die Zukunft wagen, insbesondere am Beispiel von WebComponents.

#4 Python für Data Science

avatar Alexandra Wörner
avatar Marcel Kurovski
avatar Nico Kreiling

Frameworks: Python – Numpy – Pandas – scikit-learn – TensorFlow – Keras – pytorch – Jupyter Notebooks – Jupyterlab

Datasets: Census-Income zur Klassifikation – Iris ebenfalls zur Klassifikation – MovieLens für Reccomender Engines – MNIST für Convolutional Neuronal Networks (CNNs)

Empfehlungen: Coursera – Machine Learning Kurs – OpenAI – Hands-On Machine Learning with Scikit-Learn and TensorFlow – Deep Learning Book – Christoph Olah – Distill.pub – Siraj Raval – Martin Görner – Deep Learning without an PhD

#3 Elasticsearch

avatar Wolfgang Schoch
avatar Nico Kreiling

Shownotes:
Elasticsearch Dokumentation – Elasticsearch – Praktischer Einstieg

#2 Go

avatar Igor Lankin
avatar Nico Kreiling

Shownotes:
Go Projekt – Communication Sequential Processes Paradigma – Gopher Enstehungsgeschichte –  Tiobe Index – Hackerrank Umfrage – Go Playground

 

#1 – Docker

avatar Benjamin Stein
avatar Nico Kreiling