Focus

Cloud, Infrastructure, and Operations

Articles, podcasts, talks, and more about Cloud, Infrastructure, and Operations.
Blog Post

Advanced Kustomize features

Kustomize’s strength lies in its simplicity, but now and then we have use-cases that need more flexibility and more dynamic behavior. For some of them, Kustomize offers additional features. But as with everything good, it should be used wisely. Otherwise, we fall into the trap of complexity and lose all the good parts of Kustomize.

News

New Primer: Cloud Migration 



Article

Infrastructure Self-Service with Crossplane

News

New Primer: Kubernetes Resource Management

Blog Post

Managing Kubernetes Resources with Kustomize

Helm is the de-facto standard for managing groups of Kubernetes resources that belong to an application as a package. It comes with its own ecosystem to build, configure and distribute these packages. In some cases, this is an appropriate approach but sometimes we just want to manage our resources as yaml files and need a simple way to slightly modify the resources for different environments. In this article we will have a look at how Kustomize can help us with this.

Blog Post

Cloud Security

Wie schaffe ich Sicherheit in einer Cloud-Umgebung?

Link

Software-Architektur im Stream: HTTP-Feeds

Link

Videokurs zum Service Mesh Linkerd mit Jörg Müller

Link

Hanna Prinz und Eberhard Wolff zu Gast im GOTO Book Club

Article

Gut gesiebt

Für die komplexe Infrastruktur großer Microservice-Umgebungen versprechen Service Meshes eine einfache Lösung. Aber nur mit dem Blick für die richtigen Eigenschaften lässt sich der beste Ansatz für die eigene Architektur finden.

Article

Images für Java-Anwendungen bauen

Vielfach werden für den Betrieb von Java-Anwendungen Container verwendet. Das setzt voraus, dass die Anwendung als Container-Image zur Verfügung gestellt wird. Doch wie entsteht ein solches Image? Und worauf sollten wir achten? Dieser Artikel zeigt mehrere Wege, wie wir für eine Anwendung zu einem solchen Image gelangen können und worauf wir dabei achten sollten.

Blog Post

Ganz sichere Verbindungen

Ein Anwendungsfall für ein Hardware-Security-Modul

Blog Post

Happy without a Service Mesh

It does not always have to be a service mesh. Even microservices are not a good idea per se. For good decisions we have to get a deep understanding of the problem first.

Blog Post

Sicher vernetzte Remote-Arbeit

Remote Arbeit ist in der aktuellen Situation opportun. In der digitalen Arbeitswelt bieten sich dafür eigentlich eine optimale Möglichkeiten. Ein Problem kann allerdings sein, dass essentielle Systeme, welche für die Arbeitsvorgänge notwendig sind, nicht im Kontext einer Remote-Arbeit verwenden werden können. Es haben bisher noch nicht alle Unternehmen ihre Infrastruktur nach dem Zero Trust Model aufgesetzt, so dass zentrale Systeme nur über ein - meist von der Außenwelt abgeschottetes - internes Netzwerk erreichbar sind. Existiert die Möglichkeit sich über eine VPN Verbindung einzuwählen, steht diese meist nur einer Handvoll Mitarbeitern zur Verfügung, oder ist durch die Leistungsfähigkeit eines zentralen Einwahlknotens beschränkt.

Blog Post

Automating Dependency Updates with GitHub Actions

Article

Aus Erfahrung gut

Kubernetes hat sich in den letzten vier Jahren zur Standardlösung für Container-Management entwickelt. Vor allem zustandslose Anwendungen, die lokal keine Daten speichern müssen, sind mit Kubernetes einfach zu betreiben. Datenbanken und andere Komponenten der Persistenzschicht werden jedoch oft weiterhin klassisch betrieben oder als Service bei einem Cloud-Anbieter hinzugebucht. Operatoren bieten unter anderem die Möglichkeit, auch zustandsbehaftete Software verlässlich auf Kubernetes zu betreiben.

Article

Kubeless - FaaS auf Kubernetes

Kubernetes und Serverless sind zwei der bedeutendsten Trends beim Betrieb von Software. Kubeless verspricht sogar, beides zu vereinen, und lohnt daher eine nähere Betrachtung.

Blog Post

Scraping a Docker Swarm service with Prometheus

Blog Post

Glücklich ohne Service Mesh

Es muss nicht immer ein Service Mesh sein. Auch Microservices sind nicht per se eine gute Idee. Für gute Entscheidungen müssen wir uns das Problem genau anschauen.

Blog Post

Kubernetes Probes

Kubernetes probes are for validating container health and readiness. But how should these probes be used? Do we need both? Can we share endpoints? This post tries to give some recommendations.

Article

Einführung in ReplicaSet und Service

Schleusen auf im Kubernetes-Cluster

Blog Post

Warum Quarkus.io _nicht_ geiler ist als Spring

Quarkus.io ist ein neues Framework, das optimiert ist, um Java Anwendungen Cloud Native laufen zu lassen. Sollte ich meine Java-Anwendungen daher jetzt nicht mehr in Spring Boot sondern in Quarkus.io entwickeln?

Article

Brauchen asynchrone Microservices und SCS ein Service Mesh?

Service Meshes heben viele Randfunktionen von Microservices wie Monitoring, Routing und Sicherheit in die Infrastruktur und sind entsprechend beliebt in Microservice-Architekturen - doch schaffen sie diesen beachtlichen Mehrwert auch bei asynchroner Kommunikation oder in Self-contained Systems?

Blog Post

Cloud Computing and Carbon Footprint

How vendor lock-in can harm a company’s green business plan

Article

Alle 11 Minuten verliebt sich ein Microservice in Linkerd

Beim Thema Service Mesh hieß es lange immer nur “Istio”. Doch die Komplexität des Projekts und die steile Lernkurve ebnen leichtgewichtigen Alternativen den Weg. Wir haben uns mit Linkerd 2 beschäftigt und wurden nicht enttäuscht.

Blog Post

Automating GitHub Pages Deployments with GitHub Actions

This describes setting up a GitHub Actions workflow from scratch for automating the deployment of static pages.

Article

Cloud-native, Microservices, Domain-driven Design, Kubernetes

Alles nur ein Hype?

Article

Das Service Mesh

Die Stärke einer Microservice-Architektur ist die lose Kopplung der Module. Und gleichzeitig ist es auch ein großer Nachteil, denn in jedem Microservice müssen Funktionen wie Monitoring, Tracing und Circuit Breaking erneut gelöst werden. Ein Service Mesh verspricht, viele der Funktionen in die Infrastruktur zu ziehen. So wird es endlich kinderleicht, Microservices zu entwickeln und auch zu bändigen - oder vielleicht doch nicht?

Link

Microservices mit Service Mesh: „Der Hype um das Thema ist durchaus berechtigt“

Blog Post

Integrating Logback with JLine

Article

Pragmatisch zum Praxiseinsatz von Machine Learning in der Cloud

Die Anzahl von Publikationen zu Computer Vision, Natural Language Processing (NLP) oder Reinforcement Learning ist heutzutage gewaltig. Dabei widmen sich die meisten ausschließlich dem Training. Doch oft müssen Data Scientists auch beim Betrieb ihrer Modelle mitwirken. Dafür braucht es einen pragmatischen und unaufwändigen Weg.

Article

Die GraalVM: Javas Sprung in die Gegenwart?

Die Java Virtual Machine (JVM) gibt es jetzt seit über 24 Jahren. Mit den Jahrzehnten wuchs ihre Verbreitung und das SDK bekam immer neue Funktionen. Das alles hat die JVM aber auch groß und träge gemacht. Hoher RAM-Bedarf oder lange Startzeiten passen nicht mehr in die neue FaaS oder Container Welt. Die GraalVM macht da Hoffnung.

Article

Microservices: Mit Service-Meshes den Überblick behalten

Je stärker eine Anwendung aus Microservices besteht, desto flexibler und leichter ist sie in der Theorie zu warten. In der Praxis steigen aber die Anforderungen an Übersicht und Sicherheit. Service-Meshes können Ordnung ins Komponentenchaos bringen.

Article

Hadoop - Taming the Elephant (With a Whale)

In diesem Artikel wird der Inhalt des Vortrags “Hadoop - Taming the Elephant (With a Whale)” zusammengefasst. Er bietet einen Einstieg in die Welt von Hadoop und praktische Beispiele.

Link

Warum ist Continuous Delivery sinnvoll?

Article

Entwicklungs­umgebungen automatisieren

Teil 2 – Services, Container & Kubernetes

Article

Ein praxisorientierter Einstieg in Kubernetes

Beim Deployment von Containern reicht es zu Beginn, diese – mehr oder weniger – manuell auf einer einzelnen Maschine laufen zu lassen. Mit der Zeit entstehen dann immer weitere Anforderungen an Automatisierung, Ausfallsicherheit und Strategien zum Deployment. Ein Cluster zur Verwaltung von Containern muss her. Genau für diese Aufgabe wurde Kubernetes entwickelt, und aktuell ist es nahezu unmöglich, daran vorbeizukommen, wenn Container verwendet werden. Dieser Artikel bietet einen praxisorientierten Einstieg in die Welt von Kubernetes.

Blog Post

Prometheus Counters and how to deal with them

In this article, I want you to join me on my way to understand how Counters in Prometheus work, and how to query them to get the right information.

Blog Post

Structured Logging with Structured Arguments

Blog Post

Warum erreiche ich meine EC2-Instanz nicht?

Die EC2-Instanz ist aufgesetzt, aber lässt sich partout nicht erreichen? Diese Checkliste hilft, den Grund dafür aufzuspüren.

Podcast

Service Meshes - Teil 2

Infrastrukturen für Microservices

Podcast

Service Meshes - Teil 1

Infrastrukturen für Microservices

Case Study

Ahead of the game

Technical implementation of an InsurTech start-up for e-athletes
Blog Post

Serverless - The Vendor Is Not Your Enemy

Argumente für und gegen Serverless gibt es viele. Dieser Post behandelt konkret das Thema Vendor-Lock-in, welches bei der Entscheidung für oder gegen Serverless häufig diskutiert wird.

Podcast

Metric-Driven Development

Produkt- und Entwicklungsentscheidungen auf Basis von Daten statt Gefühlen

Blog Post

OpenID Connect Auth-Proxy

Mit OpenID Connect kann Single Sign-On in einem verteilten System erreicht werden. Ein Auth-Proxy kapselt den Aspekt Authentifizierung in einem eigenständigen Modul. Wir schauen uns an, wie das im Detail umgesetzt werden kann.

Article

Einsatz von Containern zum Testen

Container setzen sich beim Betrieb von Anwendungen immer mehr durch. Doch auch abseits davon helfen diese bei der Entwicklung und dem Testen von Anwendungen. Dieser Artikel zeigt, wie mithilfe der Java Bibliothek Testcontainers Container innerhalb von JUnit Tests verwendet werden können.

Blog Post

A Playground for Testing OpenID Connect

Solving problems we wish we didn’t have

Blog Post

Sichere Kubernetes Cluster

Container und Kubernetes haben die Art und Weise, wie wir Software in Produktion bringen stark vereinfacht. Anwendungen lassen sich in Container Images verpacken und auf einem Kubernetes-Cluster mit mehreren Knoten betreiben. Bei all der Einfachheit sollte aber nicht vergessen werden, dass trotz der Kapselung in Container verschiedene Aspekte der Sicherheit noch immer eine wichtige Rolle spielen müssen.

Blog Post

Secure Kubernetes Cluster

Containers and Kubernetes have greatly simplified the way we bring software into production. Applications can be packaged in container images and run on a Kubernetes cluster with 5000+ nodes. However, it should not be forgotten that, despite being encapsulated in containers, various aspects of safety still have an important role to play.

Blog Post

Service Mesh und Kubernetes

Warum eine dezidierte Infrastruktur wie Istio notwendig ist

Blog Post

FaaS und Kubernetes

Inzwischen gibt es bei den meisten Cloudanbietern die Möglichkeit kleine Codeteile als sogenannte Functions zu hinterlegen. Da kein expliziter Server existiert, dort spart das Kosten. Aber auch sonst bieten Functions eine interessante Abstraktion, deren Vorteile man ebenso gerne innerhalb eines Kubernetes Clusters nutzen möchte.

Blog Post

Carbon dioxide monitoring with Rust, InfluxDB and Grafana

Carbon dioxide monitoring with Rust, InfluxDB and Grafana.

Blog Post

Logging mit Docker und Elasticsearch

Article

Unendliches Vertrauen

Continuous Delivery steht für die ständige Auslieferung von Software in Produktion – ein Konzept, das mittlerweile mehr als fünf Jahre alt ist. Zeit ein Fazit zu ziehen und auf die Erfahrungen aus der Praxis zu schauen.

Article

Logging und Metriken in verteilten Systemen

Aufgrund des aktuellen Trends rund um Microservices entsteht in vielen Projekten ein verteiltes System. Eine Herausforderung von verteilten Systemen ist deren Überwachung und das Nachvollziehen, was zur Laufzeit vor sich geht. Dieser Artikel gibt Ihnen einen Überblick, wie dies mit Logging und Metriken gewährleistet werden kann.

Article

Automatisiertes Testen mit Lognachrichten

Ein nicht-invasiver Ansatz zum Testen von verteilten Systemen

Podcast

Entwicklung im Feierabendmodus

Wie man neben dem Beruf ein Produkt entwickelt

Blog Post

Stateful Apps mit Kubernetes

Moderne Microservice-Architekturen lassen sich gut durch Container und Container Manager in Produktion bringen. Durch sie werden die aktuellen Anforderungen an Skalierbarkeit und Verfügbarkeit einfacher realisierbar – zumindest dann, wenn einzelne Container keine persistente Daten haben müssen. Aber auch dann ist klar: jedes System benötigt an irgendeiner Stelle Persistenz.

Article

Warum ein Container Manager das bessere Microservice Framework ist

Article

Docker Compose – Komplette Systeme mit Docker managen

Der Einstieg in Docker ist einfach. Schnell hat man gelernt, mit Dockerfiles Images zu erzeugen und die ersten Container laufen bereits. Dann wird es wirklich spannend. Wie manage ich mehrere Container, die zusammen eine ganze Umgebung bilden? Dieser Artikel liefert Ihnen die Antwort auf diese Frage.

Blog Post

Serverless

Um den Begriff serverless gibt es immer noch hitzige Diskussionen. Einige halten ihn für einen Hoax und setzen ihn mit “useless” gleich, andere schwören darauf, dass serverless bald alle anderen Architekturstile ablösen wird.

Article

Microservices à la Netflix

Die Bestandteile von Spring Cloud Netflix

Article

Microservice-Infrastruktur

Die Cloud und darauf aufbauend Microservices haben in den letzten Jahren die Softwareentwicklung stark beeinflusst. Vor allem im Bereich der Infrastruktur tut sich hier auch heute noch einiges. Dabei wird man den Eindruck nicht los, dass jede Woche ein neues Produkt veröffentlicht wird. In diesem Artikel versuche ich, Ihnen durch diesen Dschungel zu helfen.

Article

Deployment und Monitoring von Microservices

Beim Deployment von Microservices verschwimmen die Grenzen zwischen Mikro- und Makroarchitektur. Während das Team die Mikroarchitektur für jeden Service individuell entscheiden kann, muss man sich bei Makroarchitektur-Themen mit anderen Teams zusammensetzen, um die beste Lösung für Themen zu finden, die mehrere Services betreffen. In diesem Artikel wollen wir uns ansehen, welche Entscheidungen ein Team für sich treffen kann und welche mit anderen Teams abgestimmt werden müssen. Zu diesem Zweck möchte ich beispielhaft den Lernprozess beschreiben, den ich in Teams erleben durfte, die “einfach mal” mit Microservices angefangen haben.

Article

Der Softwarelieferheld

Fünf Continuous-Delivery-Systeme im Vergleich

Link

Heise Developer Continuous Architecture Blog, „DevOps ist keine Organisation“

Article

AWS Lambda

Seit Kurzem gibt es von verschiedenen Cloud-Anbietern Services für die Entwicklung serverloser Event-getriebener Anwendungen in der Cloud: Google (Cloud Functions), IBM (OpenWhisk), Microsoft (Azure Functions) und allen voran AWS Lambda von Amazon. Dieser Artikel beschreibt am Beispiel von AWS Lambda das Programmiermodell und hilft bei der Beantwortung der Frage, ob sich der Einsatz für Ihre Anwendung lohnt.

Article

Buildumgebung in Gefahr!

Risiken und Lösungsansätze

Link

Heise Developer Continuous Architecture Blog, „Hat Betrieb eine Zukunft?“

Link

Video-Interview mit Phillip Ghadir zu Cloud-native Architectures

Blog Post

Horizontal automation – a waste of time.

Case Study

Dental goes digital

From dental impression to order
Podcast

Docker

Virtualisierung mit Containern

Article

Amazon EC2 Container Service

Docker goes AWS

Article

Docker - Perfekte Verpackung von Microservices

Die Microservice-Bewegung ist mit viel Schwung gestartet und in großen Unternehmen angekommen. Überall werden Monolithen zerschlagen und durch eigenständige, fachlich definierte Microservices ersetzt. Entwicklungsteams können eigenverantwortlicher und autonomer agieren und damit deutlich schneller Ergebnisse ausrollen. Aus Sicht des IT-Betriebs bringen die Microservices aber auch eine Menge Herausforderungen: Statt weniger großer und etablierter Unternehmensanwendungen, existieren plötzlich Landschaften mit einer Vielzahl an kleinen, sich schnell ändernden Services, die alle konfiguriert, integriert und überwacht werden wollen. Eine Container-Technologie wie Docker kann das ideale Mittel sein, um diese Services zu verpacken und auszurollen. Aber welche Probleme löst Docker genau und welche neuen Herausforderungen bringt es mit? In diesem Artikel zeigen wir, für welche Software-Architekturen Docker geeignet ist und wie ein Einsatz von Docker dabei helfen kann, Microservice-Architekturen zu standardisieren, zu steuern und zu kontrollieren.

Link

Heise Developer Continuous Architecture Blog, „Neun Jahre Microservices“

Link

Heise Developer Continuous Architecture Blog, „Continuous Integration widerspricht Feature Branches!“

Podcast

Logging und Metrics

Moderne Ansätze zur Überwachung von verteilten Systemen

Podcast

DevOps

Was bedeutet das für die Organisation?

Blog Post

Per request debugging with Log4j 2 filters

Podcast

Twelve-Factor App: Web-Applikationen auf die neue Art

Ein Ansatz für skalierbare, portable und leicht deploybare Web-Applikationen in der Cloud

Blog Post

Play Anwendungen mit Docker & AWS Beanstalk in die Cloud bringen

Für skalierbare Webanwendungen bietet sich die Kombination aus zustandslosen, requestbasierten Webframeworks und einem automatisch skalierendem Cloud Deployment an. In diesem Post betrachten wir konkret Play in Kombination mit Amazons Elastic Beanstalk und Docker.

Blog Post

Eureka Provisionierung mit AWS CloudFormation

Article

Logging konsolidieren und Performance gewinnen

Apache Log4j 2.0 ist eine Neuimplementierung von Log4j zeichnet sich vor allem durch einen höheren Durchsatz – dank asynchronem I/O – aus. Die Neuerungen des Frameworks machen Lust darauf, Log4j2 einzusetzen. Da drängt sich die Frage auf, wie die Vorzüge von Log4j2 in einem System genutzt werden können, wenn Teile noch Log4J 1, commons-logging oder Ähnliches verwenden.

Article

Wissen, was läuft

Mit gutem Logging kann man eine Menge über laufende Anwendungen oder gar Anwendungsverbunde erfahren. Eine entscheidende Einschränkung geht mit Logging einher: Logs sind nur ein Strom von eingetretenen Ereignissen. Um herauszufinden, wie gut eine Anwendung läuft, ist jedoch deren Zustand interessanter.

Article

Attribut-basiertes Testen mit Scala

Wo hilft funktionale Programmierung bei der Automatisierung von Testaufgaben

Article

Hystrix – damit Ihnen rechtzeitig die Sicherung durchbrennt

Sicherungen wurden ursprünglich eingeführt, um die Eskalation einer Situation zu verhindern. Wenn Ihnen ab und zu die Sicherung durchbrennt, ist das deshalb durchaus zu begrüßen, jedenfalls wenn es sich dabei um einen Circuit-Breaker im Sinne von Hystrix handelt. In diesem Artikel möchten wir Ihnen Hystrix vorstellen, eine Bibliothek, die ihnen dabei hilft, die Stabilität ihrer verteilten Anwendung zu verbessern und kaskadierende Fehlerszenarien zu verhindern.

Article

Hystrix – Wider den Totalausfall

Michael T. Nygard hat in seinem Buch „Release It!” sehr anschaulich die Folgen von sich fortpflanzenden Fehlern beschrieben. Seine klare Empfehlung lautete, Isolationsmuster wie zum Beispiel Leistungsschutzschalter – engl. Circuit Breaker – in die Software zu integrieren, um Totalausfälle zu vermeiden. Mit Hystrix hat Netflix ein Framework bereitgestellt, das den Einbau von solchen Schaltern vereinfacht. Dieser Beitrag stellt das Framework vor.

Podcast

Wenn Systeme aus dem Ruder laufen

Mit Hystrix für stabile, verteilte Anwendungen sorgen

Article

Versionsmanagement auf dem Tanker

In verschiedenen großen Projekten mit festen Releasezyklen hat der Autor bestimmte Situationen ganz ähnlich mehrfach erlebt. Dieser Artikel berichtet von typischen Herausforderungen aus Versionsmanagement-Sicht, die sich in solchen Situationen ergeben und von praxiserprobten Möglichkeiten, sie zu meistern.

Article

Log-Daten effektiv verarbeiten mit Apache Kafka

Mit Apache Kafka stellen wir ein ungewöhnliches Messaging-System vor. Es besticht durch persistente Speicherung der Nachrichten, hohen Transaktionsdurchsatz und gute Skalierbarkeit. Kafkas Architektur ermöglicht dadurch nicht nur den Einsatz in Online-Szenarien mit zeitnaher Verarbeitung, sondern auch in Offline-Szenarien mit stark zeitverzögerter Verarbeitung von Nachrichten. Dieser Beitrag demonstriert, wie Kafka auch mit großem Log-Aufkommen zurecht kommen kann.

Article

Micro-Cloud mit Cloud Foundry

Einer der Plattformdienste

Article

Wider Betonköpfe und Freigeister

DevOps ist auf dem besten Weg, sich zum neuen IT-Hype zu entwickeln. Hinter der noch jungen agilen Bewegung steht die engere Verbindung zwischen Entwicklung und Betrieb. Für die technische Umsetzung haben sich schnell neue Automatisierungswerkzeuge etabliert.

Article

OpenShift Express

Oracle hat bereits zu Zeiten des Grid-Computing-Hypes verkündet, dass die bestehenden Java EE/J2EE-Standards völlig ausreichen, um Systeme für das Grid zu entwickeln. Diese Idee gewinnt im Cloud Computing bei verschiedenen „Platform as a Service (PaaS)“-Anbietern an Bedeutung, zumal der vom JCP akzeptierte JSR 342 verschiedene Features für Java EE 7 vorschlägt, die effizientere PaaS ermöglichen. Einen der Anbieter habe ich herausgepickt und mit ihm erste Geh-Versuche gemacht.

Article

Hype oder hilfreich?

Was wir von Lean-Start-ups lernen können

Article

„Infrastructure as Code“ mit Chef

Im Rahmen der DevOps-Bewegung setzt sich die Erkenntnis durch, dass das Konfigurieren von Servern ähnlich wie das Entwickeln von Software behandelt werden sollte. Testbare, wiederholt ausführbare Programme ersetzen die manuelle Konfiguration. Dieser Artikel zeigt am Beispiel Chef, wie dieses Paradigma umgesetzt wird.

Link

Service Mesh – die unverzichtbare Infrastruktur für Microservices?

Link

Continuous Integration in der Cloud mit Hudson

Link

Cloud Computing im Unternehmen: Praktischer Nutzen jenseits des Hypes

Link

Schein oder Sein? Einführung in Cloud Computing