Rawpixel - Fotolia

Mehrere Cloud-Ressourcen und AWS mit Chef koordinieren

Unternehmen kämpfen häufig mit dem Management verschiedener Cloud-Schnittstellen. Nutzen sie AWS-Ressourcen, lassen sich diese mit Chef koordinieren.

Der Übergang von der klassischen IT-Infrastruktur zu Software-defined Private Clouds hat IT-Automatisierung von einem bloßen Ziel zu einer geschäftlichen Notwendigkeit gemacht. Die Unternehmens-IT muss sich heute auf DevOps und zugehörige Automatisierungstools fokussieren, die es ermöglichen, Infrastruktur als Code statt als einzelne physikalische Instanz zu verwalten.

Public-Cloud-Services wie Amazon Web Services (AWS), Microsoft Azure und Google, die Standard-Serverhardware verwenden, würden kaum ohne Automatisierung funktionieren. Aber die gleichen Werkzeuge auf verschiedenen Infrastrukturen einzusetzen ist eine große Herausforderung. Schließlich verfügt jede Cloud-Plattform über eine eigene Management-Konsole und eigene Schnittstellen. Hinzu kommt: Die meisten Unternehmen verwenden heute sowohl interne IT-Systeme als auch Infrastructure as a Service (IaaS).

AWS-Automatisierungstools sind gekapselt und liegen als APIs vor. Obwohl sie Management und Application Orchestrierungsservices wie CloudFormation und OpsWorks bieten, funktionieren diese Tools nur innerhalb von AWS.

Viele Unternehmen nutzen daher auf ihrer internen Infrastruktur das DevOps-Automatisierungspaket Chef. Da viele dieser Organisationen AWS einsetzen, müssen sie einen Weg finden, um die Integration verschiedener Infrastrukturen zu automatisieren.

Chef lokal oder in der Cloud einsetzen

Chef ist ein Automatisierungs-Framework, das vier Elemente umfasst:

  • Server: kontrolliert einen Hub für eine oder mehrere Anwendungsumgebungen;
  • Workstations: entwickelt Konfigurationslösungen;
  • Nodes: führt eine bestimmte Anwendung aus;
  • Analytics: ein optionales Element, das die Chef Serveraktivität protokolliert, überprüft und über berichtet.

Organisationen, die bereits den DevOps-Übergang zu Infrastruktur als Code hinter sich haben, werden höchstwahrscheinlich alle vier Chef Elemente lokal installiert haben. Das Ziel für diese Unternehmen ist in der Regel, AWS-Knoten zu einem bestehenden Anwendungs-Pool hinzuzufügen.

Im Gegensatz dazu werden die Unternehmen, die erst mit der Infrastruktur-Automatisierung angefangen haben, einen Chef-Server benötigen. Hierfür gibt es drei Möglichkeiten:

  • im Self Management als vor-konfigurierter Download und privater Server;
  • im Self Management auf AWS, indem sie entweder eine Amazon Machine Instanz (AMI) aus dem AWS Marketplace nutzen - oder eine manuelle Installation der Open-Source-Version von Chef auf Elastic Compute Cloud (EC2);
  • als Software as a Service mit einem gehosteten Chef-Service.

Dieser Artikel konzentriert sich auf die reine AWS-Automatisierungsoption, bei der alle vier Chef-Elemente EC2-Instanzen sind. Entwickler-Workstations können jedoch alleine auf einem separaten PC laufen. In diesem Workflow nutzen Entwickler sogenannte Cookbooks und benutzerdefinierten Code, um die Konfiguration zu erstellen, die zum Chef-Server gesendet werden. Der Server weist anschließend den Chef-Client an, Cloud-Resident-Knoten zu installieren und zu konfigurieren.

Chef mit AWS verbinden

Unternehmen mit einer bestehenden Chef-Plattform haben mehrere Möglichkeiten auf EC2-Knoten zuzugreifen und diese zu kontrollieren. Die beste Option ist, eine Virtual Private Cloud (VPC) zu verwenden. Dies gilt vor allem für Organisationen mit mehreren Cloud-Workloads, die über verschiedene Verfügbarkeitszonen verteilt sind. Eine solche Struktur ermöglicht eine private, verschlüsselte Verbindung zwischen dem eigenen Rechenzentrum und den AWS-Ressourcen. Nutzt man eine VPC, sitzen die EC2-Knoten auf einem privaten Subnetz, so dass der Chef-Server so auf sie zugreifen kann, als wären sie ein interner Server.

Eine weitere Möglichkeit besteht darin, auf EC2-Instanzen über SSL mit dem Chef Knife Befehlszeilen-Interface zuzugreifen. Knife kann Knoten, Cookbooks, Rezepte (Recipes), Benutzerrollen und Chef-Client-Installationen verwalten. Die Kontrolle von EC2-Instanzen erfordert allerdings einen Administrator, um das Knife EC2 Plug-in auf den Chef-Workstations zu installieren und in der AWS-Konfiguration einen SSH-Port zu öffnen. Einmal konfiguriert, können Entwickler EC2-Instanzen starten, stoppen und auflisten. Außerdem können sie neue Instanzen als Chef-Knoten konfigurieren sowie ausführen und Chef-Rezepte auf einen oder mehrere Knoten anwenden.

Chef-Rezepte bedienen

AWS OpsWorks ist ein flexibler Anwendungsverwaltungsservice mit Automatisierungstools, der auf Chef basiert. Beispielsweise verwendet OpsWorks Chef-Rezepte zum Bereitstellen und Konfigurieren von Softwarekomponenten für Amazon EC2-Instanzen. Chef-Rezepte lassen sich auf jede EC2-Instanz anwenden, welche die AWS-Automatisierung unterstützt. Allerdings bietet es nicht die Flexibilität eines gehosteten oder selbst verwalteten Chef. Wenn Cloud-Administratoren Ressourcen über mehrere Cloud-Umgebungen steuern möchten, müssen sie dies auf dem Chef-Server erledigen.

Die bequemste Option, einen Chef-Server zu nutzen, ist eine vorkonfigurierte AMI aus dem AWS Marketplace, die sich um die Portierung und Installationsdetails kümmert. Es steht als voll unterstützter Service zur Verfügung. Der Support kosten allerdings: das AMI-Paket wird mit einem 25-prozentigen Aufschlag auf den EC2 Basistarif für die Chef-Server-Instanz berechnet. Alternativ können Administratoren Chef als Open-Source-Version herunterladen und auf Ubuntu- oder Red-Hat-Serven installieren.

Mehr zum Thema AWS:

AWS-Zertifikate und Weiterbildungen zahlen sich für IT-Experten aus.

Wann sich AWS Lambda als Alternative für EC2-Instanzen eignet.

Wie AWS-Tools bei der Cloud-Anwendungsentwicklung helfen.

Tools für die Migration lokaler VMware-Workloads zur AWS-Cloud.

Die Nutzung eines Chef-Servers auf AWS ermöglicht es IT-Teams, bequem einzelne EC2-Instanzen oder Cluster zu verwalten. Über bereits bestehende Rezepte können auch andere AWS-Ressourcen verwaltet werden, einschließlich der Security Groups, Elastic Load Balancer und Elastic Block Store Volumes. Es ist sogar möglich, Chef in die AWS CloudFormation zu integrieren, um Auto-Scaling-Gruppen zu verwalten und zu aktualisieren.

Die Integration und Nutzung von Chef in AWS ist relativ einfach und erweitert die Chef-Funktionen für die Public Cloud. Aber Chef ist nicht das einzige Konfigurations-Management-Tool. Organisationen, die auf IaaS umsteigen, sollten sich auch mit Ansible, Puppet und SaltStack befassen. Jedes Werkzeug funktioniert mit den wichtigsten IaaS-Anbietern und stellt eine gemeinsame Plattform für die einheitliche Anwendungs- und Systemkonfiguration, Deployment und Lifecycle Management bereit.

Über den Autor:

Kurt Marko ist Ingenieur mit einem großen Erfahrungsschatz im Bereich des Designs und der Erstellung digitaler Systeme und Infrastrukturen. Seine Kenntnisse stammen aus mehr als 20 Jahren Arbeit in der Erforschung und Entwicklung von IT-Architekturen. Marko arbeitet aktuell als Analyst und Berater.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+ und Facebook!

Artikel wurde zuletzt im November 2015 aktualisiert

Pro+

Premium-Inhalte

Weitere Pro+ Premium-Inhalte und andere Mitglieder-Angebote, finden Sie hier.

Erfahren Sie mehr über Software-Integration

Diskussion starten

Schicken Sie mir eine Nachricht bei Kommentaren anderer Mitglieder.

Mit dem Absenden dieser Daten erklären Sie sich bereit, E-Mails von TechTarget und seinen Partnern zu erhalten. Wenn Ihr Wohnsitz außerhalb der Vereinigten Staaten ist, geben Sie uns hiermit Ihre Erlaubnis, Ihre persönlichen Daten zu übertragen und in den Vereinigten Staaten zu verarbeiten. Datenschutz

Bitte erstellen Sie einen Usernamen, um einen Kommentar abzugeben.

- GOOGLE-ANZEIGEN

SearchSecurity.de

SearchStorage.de

SearchNetworking.de

SearchDataCenter.de

Close