Daniel Bornkessel

Daniel Bornkessel arbeitet als Senior Consultant bei der innoQ Deutschland GmbH. Seine inhaltlichen Schwerpunkte liegen auf den Themen DevOps, Automatisierung und Continuous Delivery.

Talks

  • Obwohl noch recht jung, hat sich Go in der Softwareentwicklung fest etabliert. Viele kritische Systeme werden heutzutage in Go implementiert – Docker ist hier einer der prominenten Vertreter. Go macht vieles anders als gewohnt. Mit Channels und Goroutines besitzt Go moderne Nebenläufigkeitskonstrukte, die in den altbewährten Programmiersprachen so nicht zu finden sind. Auf der anderen Seite verzichtet Go auf einige Dinge, die mittlerweile als selbstverständlich angesehen werden, wie Generics oder Exceptions. Anhand von Beispielen und praktischen Übungen vermittelt dieser Workshop die nötigen Kenntnisse, um kleinere eigene Programme in Go zu schreiben und Channels und Goroutines zu nutzen.

    Benötigt wird ein eigener Laptop mit aktuellem Go und Git sowie einem Editor oder einer IDE zum Programmieren.

    • Zielpublikum: Entwickler, Architekten
    • Voraussetzungen: Gute Kenntnisse in einer Programmiersprache wie Java, C#, C/C++. Notebook mit aktuellem Go und Git
    • Schwierigkeitsgrad: Anfänger
    Read more
  • Schlank und fit dank Kubernetes!

    OOP 2018 08. February 2018

    Eine gute, passende Infrastruktur ist essenziell, um Projekte mit einer Microservice-Architektur schnell und ständig auszuliefern. Kubernetes ist eine Plattform, die diesen Anforderungen gerecht wird. In diesem Tutorial lernen die Teilnehmer, wann und warum ein System wie Kubernetes sinnvoll ist, und welche Aufgaben es erfüllen kann. Nach einem ersten Überblick bauen wir sukzessive eine komplette Microservice-Architektur auf und vermitteln so bewährte Methoden für die Nutzung von Kubernetes.

    Ziel dieses Tutorials ist, zunächst die Notwendigkeit von System wie Kubernetes bei großen Microservice-Architekturen zu zeigen, wenn diese mit dem Continuous-Delivery-Gedanken betrieben werden sollen.

    Ein Überblick über die Architektur und die einzelnen Komponenten erklärt, wie Kubernetes konkret bestimmte Probleme löst. Anschließend wird praktisch vermittelt, wie eine komplette Microservice-Architektur mit Kubernetes deployed werden kann. Folgende Aspekte werden gezeigt:

    • das Deployment von vielen, verschiedenen Services innerhalb eines Kubernetes-Clusters
    • die öffentliche Bereitstellung von Services, die innerhalb eines Kubernetes-Clusters laufen
    • die Nutzung eines Kubernetes-Clusters mit verschiedenen, unabhängigen Teams
    • das Release-Management für Apps, die per CI deployed werden
    • das Logging und Monitoring von Apps in Kubernetes
    Read more
  • Schnelleinstieg in Go

    IT Tage 2017 12. December 2017

    Obwohl noch recht jung, hat sich Go in der Softwareentwicklung fest etabliert. Viele kritische Systeme werden heutzutage in Go implementiert – Docker ist hier einer der prominenten Vertreter. Go macht vieles anders als gewohnt. Mit channels und go-routines besitzt Go moderne Nebenläufigkeitskonstrukte, die in den altbewährten Programmiersprachen so nicht zu finden sind. Auf der anderen Seite verzichtet Go auf einige Dinge, die mittlerweile als selbstverständlich angesehen werden wie Generics oder Exceptions.

    Anhand von Beispielen und praktischen Übungen vermittelt diese Session die nötigen Kenntnisse, um kleinere eigene Programme in Go zu schreiben und channels und go-routines zu nutzen.

    Read more
  • Schnelleinstieg in Go

    parallel 2017 29. March 2017

    Obwohl noch recht jung, hat sich Go in der Softwareentwicklung fest etabliert. Viele kritische Systeme werden heutzutage in Go implementiert – Docker ist hier einer der prominenten Vertreter. Go macht vieles anders als gewohnt. Mit channels und go-routines besitzt Go moderne Nebenläufigkeitskonstrukte, die in den altbewährten Programmiersprachen so nicht zu finden sind. Auf der anderen Seite verzichtet Go auf einige Dinge, die mittlerweile als selbstverständlich angesehen werden wie Generics oder Exceptions.

    Anhand von Beispielen und praktischen Übungen vermittelt dieser Workshop die nötigen Kenntnisse, um kleinere eigene Programme in Go zu schreiben und channels und go-routines zu nutzen.

    Teilnehmer sollten folgende Soft- und Hardware mitbringen:

    • einen Laptop, auf dem Go installiert und nutzbar ist: siehe https://golang.org/doc/install für eine Anleitung
    • eine funktionierende Kommandozeile (bash, sh, PowerShell)
    • eine funktionierende Git-Installation
    • einen Editor oder eine IDE zum Programmieren

    Skills

    • Gute Kenntnisse in einer “Mainstream”-Programmiersprache wie Java, C# und C/C++.
    • Grundkenntnisse über Nebenläufigkeitskonzepte in Programmiersprachen: Prozesse, Threads, Co-Routinen usw.
    • Für die praktischen Übungen ein Notebook mit vorinstalliertem, aktuellem Go und Git sowie ein Texteditor und eine Shell.

    Lernziele

    1. kleinere Programme in Go schreiben können,
    2. die wesentlichen Merkmale von Go kennen,
    3. die Unterschiede von Go gegenüber anderen Programmiersprachen wie Java, C# usw. verstehen, vor allem in den Bereichen Nebenläufigkeit und Parallelität und
    4. besser einschätzen können, ob Go für ihr ihre Projekte geeignet ist.
    Read more
  • 4 Dinge, die Concourse besser macht als andere Continuous-Delivery-Systeme

    Continuous Lifecycle 2016 / Container Conf 2016 16. November 2016

    Dieser Vortrag stellt ein neues, frei verfügbares Continuous-Delivery-System vor, das den Ansprüchen komplexer Test-Pipelines gerecht wird. Die Ansätze von Concourse werden alle begeistern, die schon einmal komplexe Continuous-Delivery-Setups mit anderen Systemen wie Jenkins modelliert haben bzw. bei dem Versuch gescheitert sind, eine gute Lösung zu finden.

    Concourse bietet unter anderem:

    • ein System, das nicht Snow-Flake-Server produziert
    • Pipelines als First-Class Citizens
    • deklarative Beschreibungen von Pipelines und deren Abhängigkeiten untereinander
    • eine moderne und innovative Oberfläche

    Skills

    • Continuous Delivery
    • optimalerweise Erfahrungen mit anderen Test- oder CD-Systemen

    Lernziele

    • Concourse und seine Vorzüge bekannt machen
    • Entwickler und Teams animieren, Concourse einzusetzen
    Read more

Content

  • Der Softwarelieferheld

    Article 07. October 2016

    Können Sie diese Frage beantworten: „Wie lange dauert es in Ihrem Unternehmen, bis eine Änderung deployt ist, die nur aus einer Zeile geändertem Code besteht?“. Und ebenfalls die anschließende Frage: „Passiert dies auf einer wiederholbaren und zuverlässigen Basis?“. Wenn Ihnen die Beantwortung der beiden Fragen Kopfschmerzen bereitet, lohnt ein Blick auf diese fünf Systeme für die Implementierung von Continuous-Delivery-Pipelines.

    Read more