Servus, ein frohes neues Jahr und hallo an alle Geeks, Freaks, Admins und Entwickler. Man hört viel darüber aber die wenigsten haben sich schonmal daran getraut, an die Cloud. Ich habe mich nun daher mal hingesetzt, um euch ein wenig in Welt der Cloud mit Amazon Opsworks einzuführen.
Es gibt natürlich einige diverse Möglichkeiten, wie man optimal in der Cloud entwickelt oder seine Server hosten möchte, jedoch ist Opsworks für mich aktuell am sinnvollsten für kleine/mittelgroße Unternehmen.
Stacks:
Es beginnt alles mit einem Stack. Was ist das fragen sich sicherlich einige nun. Nunja, im Grunde ist ein Stack nicht weiter als eine (von später mehreren) logische Unterteilung unserer Server. Hier werden die grundlegendsten Einstellungen für die Server eingerichtet, sprich welches Betriebssystem, welche availability Zone etc.
Das coole hierbei sind eigentlich die cookbooks. Ihr könnt euch eigene Ruby Cookbooks einrichten und mit diesen Pro Instance unterschiedliche Services installieren. Über ein JSON Objekt, kann man diverse Configurationen pro Stack einrichten, die in den Cookbooks ebenfalls zur verfügung sind. Wie das genau funktioniert, kann man sich ganz einfach ergooglen :)
Layer:
Layer sind im Grunde unsere Templates, wie neue Instanzen aufgesetzt werden sollen mit welcher expliziten Hardware. Man muss hier die Recipes aus den Cookbooks eintragen, die ausgeführt werden sollen, die IP Adresse (ElasticIP, Loadbalancer, etc.), die EBS Volumes, sofern notwendig und die Security Groups definieren. Was auch noch zu erwähnen ist, wenn man in Opsworks ein EBS Raid anlegt, wird ein Hardware Raidcontroller verwendet und nicht wie bei manch anderen System, wie z.B. Rightscale ein Software, der den Swap auf dauer voll schreibt. Jedes EBS Volume wird hier auch nur einmal erstellt und nach jedem Reboot wieder automatisch eingemountet
Instances:
Instances sind die eigentlich gestarteten EC2 Instanzen. Hier gibt es im Groben drei Unterschiedliche Arten von Instanzen. Normal, Time-based und Load-based. Normale Instanzen sind einfach EC2 Instanzen die dauerhaft laufen nach dem Starten. Load-based werden hoch/herunter gefahren wenn man z.B. mehrere Webserver laufen lassn will aber nur bei viel Ansturm diese hoch fahren will um Kosten zu sparen. Und zu guter Letzt die Load-Based Instanzen, die z.B. nur nachts hochgefahren werden müssen, für bestimmte Cron-Jobs oder was auch immer ihr da für Anwendungsgebiete haben solltet.
Das ist nun erstmal ein grober Überblick, um den Einstieg in Opsworks euch ein wenig zu erleichtern und evtl. die ein oder andere Frage zu beantworten.