zetalab - development and consulting

Articles on various topics I have written over the last several years:

Infrastructure as Code mit Pulumi

Infrastructure as Code beschränkt sich meist auf einfache Beschreibungssprachen wie YAML oder JSON. Pulumi erlaubt die Konfiguration von Cloud-Ressourcen mit ausgewachsenen Programmiersprachen wie TypeScript, Python oder Go und eröffnet so neue Möglichkeiten.

HAProxy Kubernetes Ingress Controller

Ingress-Controller sind die Brücken eines Kubernetes-Clusters in die Welt. Mit HAProxy steht für diese Aufgabe eine ausgereifte Proxysoftware zur Verfügung, die als Loadbalancer auch komplexen Containerumgebungen gewachsen ist.

Helm verwaltet Kubernetes-Anwendungen

Container mit Kubernetes zu administrieren, gestaltet sich oftmals schwierig. Der Paketmanager Helm nimmt derlei Aufgaben ab und ermöglicht es über Helm Charts, Anwendungen zu definieren, zu installieren und auf dem neuesten Stand zu halten.

Kubernetes-Distribution OpenShift 4

Red Hats OpenShift ergänzt Kubernetes um weitere Sicherheits- und Komfortfunktionen. Die aktuelle Version 4 soll zusätzlich Installation, Betrieb und Upgrades vereinfachen und automatisieren.

Anwendungs-Deployment mit Hashicorp Nomad

Wenn sich alle auf die Füße steigen, lohnt es sich häufig, sich an anderen Stellen umzusehen. So im Bereich Anwendungs- und Container-Server, wo sich alles um Kubernetes drängt. Mehr Luft zum Atmen gibt es bei dem eher unbekannten Nomad, das mit Containern, Java-Programmen, nativen Binaries und VMs umgehen kann. Der Workshop zeigt die Inbetriebnahme eines Nomad-Clusters und wie Sie darauf für Loadbalancing und Sicherheit sorgen.

Zertifikate von Let's Encrypt in Apache, Nginx...

Seit Anfang Dezember stehen die kostenlosen Zertifikate von Let's Encrypt zur Verfügung. Mit wenig Aufwand lassen sie sich mit den üblichen Webservern wie Apache oder Nginx und mit HAProxy verwenden.

Docker-Workshop (2): Volumes

Die letzte Folge unseres Docker-Workshops hat beschrieben, wie Sie Docker instalieren und Container starten. Um größeren Nutzen aus Docker zu ziehen, fehlen noch zwei Dinge: eine Netzwerkverbindung und eine Möglichkeit, Nutzdaten dauerhaft zu speichern.

Storage-Management mit Stratis

Auch wenn Linux über einige leistungsfähige Dateisysteme verfügt, ist das letzte Wort in dieser Hinsicht noch nicht gesprochen. Red Hat will das Storage Management mit einem Projekt namens Stratis revolutionieren, das auf bewährte Technologie setzt, sich nach außen hin aber modern gibt.

Secrets in Docker Swarm

Praktisch jede Serveranwendung muss auch an irgendeiner Stelle Zugangsdaten oder Schlüssel verwalten, die möglichst geheim zu halten sind. Sie im Klartext in Konfigurationsdateien abzulegen, führt deshalb nicht zum Ziel. Bei Containern bietet Docker im Swarm-Mode mit den Secrets einen Mechanismus dafür.

Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images.

Container-Engine Pouch

Seit zehn Jahren gibt es Linux-Container, aber in vielerlei Hinsicht steht die Entwicklung noch am Anfang. Neben Docker existieren zahlreiche andere Projekte, die Container für den Unternehmenseinsatz tauglich machen. Eines von ihnen ist Alibaba Pouch, das wir hier näher vorstellen.

Monitoring mit Netdata

Ursprünglich als Lösung für das Monitoring von Echtzeit-Performancedaten entwickelt, hat sich Netdata zur Allround-Monitoring-Software gemausert. Weitere Pluspunkte sind die einfache Installation und Konfiguration. Wir stellen die Software vor und verraten, wie man sie in Betrieb nimmt.

Performance-Monitoring mit Intel Snap

Vor über drei Jahren hat Intel heimlich, still und leise ein umfangreiches Open-Source-Paket zum Monitoring von Server-Hardware und -Software veröffentlicht. Wir sehen uns an, was es kann und wie man es verwendet.

Newsletter-Management mit Sendy

Für E-Mail-Newsletter setzen viele Unternehmen auf gehostete Angebote. Eine Alternative ist die kostenpflichtige, aber sehr günstige Software Sendy, die wir hier näher vorstellen.

Loadtests ohne Server

Für Loadtests der eigenen Server bietet sich die Cloud an, denn kurz getaktet lassen sich dort viele Rechnerinstanzen starten, die das eigene Budget nur wenig belasten. Noch flexibler, günstiger und besser skalierbar sind Tests mit einer Serverless-Infrastruktur wie AWS Lambda. Wir führen vor, wie Sie dort mit Serverless Artillery eigene Loadtests starten.

Git und GitHub für Admins

Das von Linus Torvalds entwickelte Git ist in wenigen Jahren zum dominierenden Tool bei der Versionierung von Softwareprojekten geworden. Wir zeichnen diese Entwicklung nach und erklären, wie Sie das Programm verwenden, um Open-Source-Software zu installieren oder eigene Projekte zu verwalten.

Python-Modul Boto3 für die Amazon-Cloud

Das Boto-Modul hilft dabei, Ressourcen in der Amazon-Cloud mit Python zu managen. Dieser Artikel gibt eine Einführung in die Programmierung mit dem offiziell von Amazon unterstützten Modul.

Kubernetes-Storage mit Rook

Typischerweise verwenden Kubernetes-Admins den von der darunterliegenden Cloud bereitgestellten Storage. Mit Rook lässt sich auf Kubernetes ein eigener Ceph-Cluster betreiben, der allen Containeranwendungen zur Verfügung steht.

Setup eines Kubernetes-Clusters mit Kops

Vor allem für Testinstallationen von Kubernetes gibt es einige Lösungen wie Kubeadm und Minikube. Für das Setup eines Kubernetes-Clusters in Cloud-Umgebungen hat sich Kops als Mittel der Wahl bewährt. Wir beschreiben seine Fähigkeiten und geben eine Anleitung für den praktischen Einsatz.

End-to-End-Monitoring mit CasperJS

Das Monitoring der Infrastruktur hat viele Facetten. Im einfachsten Fall wird überprüft, ob die relevanten Server erreichbar sind. Doch machen sie auch, was sie sollen? Für Funktionstests lassen sich freie Tools wie CasperJS verwenden, das wir hier näher vorstellen.

Projektmanagement mit Phabricator

Bugtracker sind das mindeste, was sich an geordneter IT dem Chaos entgegensetzen lässt. Dies und zahlreiche weitere Funktionen bietet die freie Software Phabricator, deren Installation wir in diesem Workshop beschreiben.

Passbolt zum Passwort-Management in Teams

Viele Passwörter zu haben, verlangt viel Erinnerungsaufwand. Ein Gegenmittel sind Passwortmanager, die Passwörter hoffentlich sicher speichern. Passbolt ist ein Passwortmanager, der sich auch im Team einsetzen lässt. Wir haben uns das freie Programm näher angesehen.

Systemmanagement mit Redfish

Redfish soll künftig IPMI beim Management von Hardware übers Netz ablösen. Schon sind die ersten Systeme auf dem Markt, die den neuen Standard der DMTF unterstützen.Dieser Artikel erklärt, wie der Redfish-Standard funktioniert und wie Sie ihn für das Systemmanagement verwenden.

Automatisierung mit Rundeck

Die Automatisierung der IT-Landschaften geht weiter, und es entstehen immer neue Tools, die bei dieser Aufgabe helfen. Rundeck bietet dafür eine webbasierte GUI und erlaubt es, Jobs zu delegieren. Wir beschreiben, wie Sie das Programm in Betrieb nehmen.

Offene Standards im Datacenter

Open Source hat sich im Unternehmensumfeld etabliert. Als Nächstes ist die Hardware dran. Die großen IT-Konzerne organisieren sich in Konsortien und erarbeiten offene Spezifikationen fürs Rechenzentrum. Wir geben einen Einblick.

Cloud-Management mit Scalr

Amazon bietet zur Verwaltung seiner Cloud-Dienste eine umfangreiche Web-GUI. Bei der Google Cloud ist das Management dagegen aufs Wesentliche reduziert. Scalr bietet ein webbasiertes Management-Tool für beide Clouds, das zusätzlich auch Azure und OpenStack verwalten kann. Wir haben uns Scalr genauer angesehen.

Das verteilte Dateisystem XtreemFS

Verteilte Dateisysteme haben die Forschungslabors verlassen und halten Einzug in Produktivumgebungen. Ein solches Filesystem unter freier Lizenz ist XtreemFS. Dieser Artikel stellt es näher vor und beschreibt seine Installation.

Server-Management mit Debops

Programme wie Ansible und Puppet werden immer häufiger zum Management der Konfiguration von Linux-Servern verwendet. Das Debops-Projekt sammelt Ansible-Rezepte für eine ganze Reihe von Anwendungen. Dieser Artikel verrät, wie Sie Debops für Debian- und Ubuntu-Rechner einsetzen.

Team-Software Mattermost

Social Apps im Unternehmen werden immer beliebter, wenn man den selbsternannten Experten glauben soll. Jedoch ist es nicht jedem geheuer, die firmeninterne Kommunikation über einen gehosteten Service laufen zu lassen. Hier erfahren Sie, wie Sie die Teamchat-Software Mattermost auf dem eigenen Server in Betrieb nehmen.

Der moderne DHCP-Server Kea

Wer einen DHCP-Dienst betreibt, setzt meistens den Server des ISC (Internet Systems Consortium) ein. Mit Kea hat das ISC eine moderne Alternative für das alte Programm entwickelt.

HTTP/2 mit Nginx und Co.

Seitdem die finale Version von HTTP/2 fertiggestellt worden ist, wurden zahlreiche Implementationen des neuen Webprotokolls veröffentlicht. Nachdem zuerst die gängigen Browser mit der Umsetzung vorangegangen waren, zogen nun die verbreiteten Webserver nach. Wir beschreiben, wie Sie HTTP/2 in Nginx aktivieren, und werfen einen Blick auf die Alternativen mit Apache und H2O.

Automatische DNS-Updates per DHCP

Mühsam ist es, Informationen zu einem Host an mehr als einer Stelle zu pflegen. Einfacher wird die Sache, wenn man den Domain Name Service (DNS) mit DHCP verbindet, um die Hostnamen dynamisch im DNS einzutragen. Dabei gibt es einiges zu konfigurieren, was dieser Artikel näher erklärt.

Virtualisierungscluster mit Ganeti

Wenn wichtige Dienste virtualisiert werden, muss die Management-Software dafür sorgen, dass die zugrunde liegenden VMs auch laufen. Ganeti hat die Hochverfügbarkeit virtueller Maschinen zum Programm gemacht. Wir stellen die von Google entwickelte Software näher vor.

Zwei-Faktor-Authentifizierung mit dem Google Au...

Wer sich sicherer fühlen will, verwendet zum SSH-Login Multifaktor-Authentifizierung. Smartphone-Besitzer können hierbei mit dem Google-Authenticator auf Einmal-Passwörter zurückgreifen, die sich auch in andere Anwendungen wie Blogs integrieren lassen.

Live-Migration von VMs mit KVM

Mit dem KVM-Hypervisor gibt es in der Linux-Welt seit einigen Jahren eine leistungsfähige Alternative zu Xen und VMware. Um die Virtualisierungslösung tauglich für den Firmeneinsatz zu machen, integrieren die Entwickler immer wieder neue nützliche Features. Ein Beispiel dafür ist die Live-Migration virtueller Maschinen, die dieser Artikel näher betrachtet.

Workshop: Cobbler hilft bei der automatisierten...

Wer eine größere Anzahl von Servern installieren muss, ist mit der Installations-DVD in der Hand viel unterwegs. Oder er verwendet einen Provisioning-Server wie Cobbler, der als Open Source-Software eine ganze Reihe von Linux-Distributionen, aber auch Nexenta, FreeBSD und VMware ESX installieren kann. Was das Programm im Einzelnen leistet und wo seine Schwächen liegen, verrät dieser Workshop.

Workshop: LDAP Account Manager

Wer einen der vielen frei verfügbaren LDAP-Server verwalten möchte, kann meistens nicht auf eine GUI zurückgreifen, sondern muss die Kommandozeile bemühen. Der LDAP Account Manager bietet ein webbasiertes Frontend, das über LDAP-Informationen hinaus verschiedene Informationstypen beherrscht.

Git-Hosting mit Gogs

Einen eigenen Git-Server zur Versionsverwaltung aufzusetzen, kann mit prominenten Softwarelösungen ziemlich viele Ressourcen verschlingen. Etwas leichter geht es mit dem schlanken Gogs.

Saltstack zum Konfigurationsmanagement von Servern

Chef und vor allem Puppet haben lange Zeit das Feld der freien Software zum Konfigurationsmanagement dominiert. Jetzt gibt es aber in der Open Source-Welt immer mehr Konkurrenten, die Probleme der Pioniere umschiffen möchten. Das in Python geschriebene Saltstack ist eines der aktivsten Projekte dieser Gattung.

Datenrettung mit Linux

Guter Rat ist teuer, wenn der klassische Fall eintritt: Eine Festplatte geht kaputt, ein Backup ist nicht greifbar. Einige Linux-Tools bieten eine Aussicht auf Rettung. Selbst NTFS-Partitionen lassen sich damit unter Umständen retten.

Puppet Workshop

Wer viele Server zu verwalten hat, deren Konfiguration sich häufig ändert, dürfte ohne Hilfs­mittel wohl verzweifeln. Wie Puppet Sie beim zentralisierten Management unterstützt und durch die Modularisierung der Konfiguration den Aufwand reduziert, zeigt dieser Workshop. Darin verwalten wir ein Client-Server-Setup mit dem Open Source-Werkzeug.

Node.js

Nie war die Entwicklung von Webanwendungen so komplex wie heute und nie gab es dafür so viele Bibliotheken und Frameworks. Das Javascript-basierte Node.js bildet einen ganz besonderen Mikrokosmos, in den dieser Artikel einführt.

NixOS und NixOps

Das Management der Konfiguration von Linux-Systemen ist fehlerträchtig. NixOS will es mit einem neuartigen Ansatz bereinigen. Besonders gut eignet es sich im Zusammenspiel mit NixOps zum Deployment von virtuellen Servern.

Programmieren in Go

Viele klassische Programmieraufgaben lassen sich in Go mit wenigen Zeilen Code erledigen. Besonders elegant ist die parallele Verarbeitung von Tasks mit Goroutinen.

Programmieren in Go

Die Programmiersprache Go vereint Typsicherheit mit überschaubarer Syntax und einer umfangreichen Bibliothek. Ein kleines Tool zum Anzeigen von Prozessen demonstriert die Programmierung.

SmartOS

SmartOS bringt das Beste von Linux und Solaris zusammen, um eine Virtualisierungsplattform mit ZFS und KVM zu realisieren.

Die OpenResty-Distribution für Nginx

Event-basierte Verarbeitung von Requests macht Nginx zu einem flinken Webserver. Mit den OpenResty-Paketen wird daraus ein schneller Application-Server auf Basis der Skriptsprache Lua.

Programmieren: Lua-Tutorial

Als eingebaute Skriptsprache ist Lua mittlerweile Teil einer Vielzahl von Programmen. Allein schon deshalb lohnt es sich, sie zu lernen. Dieser Artikel gibt einen Einblick in den Lua-Kosmos.

Flask

Für Python-Webanwendungen gibt es viele Ansätze. Zu den weniger bekannten zählt Flask, das dieser Artikel näher vorstellt.

SSH-Verbindungen in Python

Im Python-Universum finden sich nützliche Module für jeden Zweck. Mit dem Paramiko-Modul können Python-Programmierer und Administratoren per SSH auf entfernten Rechnern Kommandos ausführen und sicher Dateien übertragen.

Kommandos mit dem Python-Subprocess-Modul aufrufen

Für die meisten Anwendungen stellt Python eigene Bibliotheken zur Verfügung. Wer dennoch einmal externe Unix-Programme aufrufen oder gar verbinden will, sollte das Subprocess-Modul verwenden, das dieser Workshop näher vorstellt.

Python-Logging

Auch für selbst geschriebene Skripts bieten sich Logging-Frameworks an, mit denen sich Programmmeldungen in Log-Dateien umlenken lassen. Für Python-Entwickler gibt es dazu das Logging-Modul, das dieser Artikel näher vorstellt.
home | blog | contact