Terraform (https://www.terraform.io): Für die Entwicklung und den Betrieb von Anwendungen wird IT-Infrastruktur benötigt, z.B. in Form von virtuellen Maschinen, Datenbanken, Firewalls und Load-Balancern. Egal ob im privaten Rechenzentren, oder bei AWS, Azure & Co., für die automatisierte Bereitstellung beliebig komplexer IT-Infrastruktur ist Infrastructure as Code das Mittel der Wahl. Und nicht nur für die Analysten von Gartner ist Terraform der de-facto Standard, um Infrastructure as Code abzubilden. Terraform baut auf dem Konzept von Providern auf. Provider sind Plug-Ins, die eine Verbindung mit bestimmten IT-Komponenten ermöglichen, um dort Infrastruktur zu provisionieren. Stand September 2020 gibt es bereits über 250 Terraform Provider, z.B. für Kubernetes, VMware, OpenShift, Microsoft Azure, F5 usw. Zur Konfiguration von mit Terraform provisionierter Infrastruktur bieten sich Configuration Management Tools wie Ansible oder Puppet an. Terraform kann auch zur Verwaltung von Immutable Infrastructure zusammen mit unserem Product Packer genutzt werden.
Vault (https://www.vaultproject.io): Je größer und komplexer die IT-Landschaft wird, desto mehr sensitive Informationen (sogenannte Secrets) in Form von Zugangsdaten, Zertifikaten und geheimen Schlüsseln müssen sicher gespeichert und verwaltet werden. Hierfür empfehlen die Analysten von Gartner den HashiCorp Vault. Er bietet eine starke Datenverschlüsselung, identitätsbasierten Zugriff unter Verwendung von benutzerdefinierten Richtlinien, automatisierte Erstellung von dynamischen Secrets und auch ein ausführliches Auditprotokoll, das fortlaufend aufgezeichnet wird. Vault bietet zudem eine HTTP-API und ist damit die erste Wahl für die Speicherung von Anmeldeinformationen in verteilten, serviceorientierten Systemen wie Kubernetes.
Consul (https://www.consul.io): Die Zeiten, in denen man mittels statischer IP-Adressen und tausender Firewall-Regeln die Sicherheit im Rechenzentrum gewährleisten konnte, sind spätestens seit dem Beginn des Cloud-Zeitalters vorbei. Monolithische Applikationen werden mehr und mehr durch Micro Services ersetzt, für die eine flexible und zugleich granulare Absicherung benötigt wird. Consul deckt hier gleich mehrere Anforderungen ab: in der Service Registry (vergleichbar mit einem Telefonbuch für Services) können sich die Services registrieren und werden so für andere Services erreichbar. Zur Absicherung der Services dient Consul auch als Service Mesh und nutzt neben mTLS zusätzlich einfache Service-basierte Regeln (sogenannte Intentions) zur Verschlüsselung und Autorisierung der Kommunikation zwischen Services. Zur Absicherung der Services dient Consul auch als Service Mesh, so dass eine nicht erlaubte Kommunikation zwischen Services vollkommen automatisch und zugleich sicher unterbunden wird.
Weitere wichtige Eigenschaften von Consul sind die automatisierte Konfiguration von Middleware-Komponenten, wie z.B. Load-Balancern und Firewalls, sowie Möglichkeit, das Sicherheitsmodell von Consul auch auf Bereiche außerhalb des Service Mesh (z.B. für Datenbanken und Legacy Applikationen) zu erweitern. Consul wird mit einem einfachen integrierten Proxy geliefert, sodass alles “out of the box” funktioniert, unterstützt aber auch Proxies von Drittanbietern wie Envoy.
Nomad (https://www.nomadproject.io): Nomad ist ein flexibler und extrem skalierbarer Workload-Orchestrator, mit dem Container- oder Legacy-Anwendungen mithilfe eines einzigen einheitlichen Workflows problemlos bereitgestellt und betrieben werden können. Im Gegensatz zu Kubernetes spielt es für Nomad keine Rolle, ob die Anwendungen in einem Container laufen, oder nicht. Die Federation-Funktion von Nomad ist der einfache und bequeme Weg für die zentrale Installation und den zentralen Betrieb von Applikationen über mehrere Rechenzentren und / oder Public Clouds hinweg.
Sentinel (https://www.hashicorp.com/sentinel/): Sentinel ist ein weiteres Beispiel für eine wichtige Funktion, die Bestandteil aller HashiCorp Enterprise Produkte ist. Das Sentinel Framework setzt Policies als Code um und ermöglicht es so, dass die Vorgaben der IT-Sicherheit einfach und zugleich automatisiert berücksichtigt werden. Zwei Beispiele: der Zugriff auf bestimmte Zugangsdaten in Vault kann unterbunden werden, wenn der Zugriff nicht aus dem internen IP-Netz kommt. Ebenso kann die Aktualisierung einer IT-Infrastruktur mit Terraform nur während der normalen Bürozeiten erlaubt werden.