Richard de Jong Solution Architect
21 März 2019

Solvinity arbeitet mit Containern, was sind die Vorteile?

Die Welt des Anwendungs-Hostings ist im Umbruch. Seit einiger Zeit gibt es eine neue Methode, Anwendungen zu verpacken, zu installieren und laufen zu lassen, basierend auf sog. „Containern“. Solvinity setzt ganz auf diesen Trend und entwickelt auf diesem Gebiet immer mehr Dienste für ihre Kunden.

Was sind Container?​

Durch Container hat sich die Welt des Verpackens und Installierens von Anwendungen grundlegend verändert, vergleichbar mit den Änderungen, die im Bereich der Logistik stattgefunden haben. Früher hat man Waren mit viel Muskelkraft in Schiffe verladen und daraus gelöscht. Das war eine unglaubliche Arbeit, nicht nur deshalb, weil es noch keine großen Kräne gab, sondern auch, weil die Ladung immer andere Formen hatte: lose Stückgüter, Säcke für Getreide, Kisten für andere Dinge, und all das wurde im Laderaum aufeinander gestapelt. Durch die aufkommenden Seecontainer mit Standardabmessungen wurde die Welt der Logistik auf den Kopf gestellt. Auf einmal war die Ladung immer gleich geformt, wodurch der Vorgang des Ladens und Entladens effizienter wurde und in viel größeren Einheiten erledigt werden konnte.

Die Verwendung von Containern sorgt für eine vergleichbare Standardisierung. Die Idee lautet, dass man eine Anwendung in Komponenten mit nur einer Funktion oder einem aktiven Prozess aufteilt. Beispielsweise kann man eine WordPress-Anwendung in einen Webserver, eine PHP-Engine und einen Datenbankserver aufteilen. Jede dieser Funktionen läuft in einem eigenen Container. Jeder Container enthält alles, was nötig ist, um diese Funktion durchführen zu können, also beispielsweise ein Linux-Basissystem, eine Reihe von Bibliotheken und die eigentliche Software (beispielsweise NginX für den Webserver). Durch diese Methode ist jede Funktion vollständig von den anderen isoliert, und es können viele Container nebeneinander auf einer einzigen Betriebssysteminstanz (beispielsweise einer VM) stehen, genau wie bei einem Containerschiff. Die Container stellen keinerlei Anforderungen an das zugrundeliegende Betriebssystem (das Schiff), außer dass darauf eine Container-Engine läuft. Daneben muss nichts mehr installiert werden, was für die spezielle Funktion des Containers erforderlich ist. Trotz dieser Isolierung ist es aber möglich, dass verschiedene Container miteinander kommunizieren, aber erst, nachdem das ausdrücklich so eingestellt worden ist. Die Container sind in jeder Umgebung gleich (Entwicklung, Test, Akzeptanz und Produktion), nur die Parameter, mit denen sie gestartet werden, sind verschieden.

Die Idee hinter Containern ist nicht neu, denn dieses Konzept wird auch in HP-UX-Paketen oder in Solaris-Zonen genutzt. Aber die Firma Docker hat dieses Konzept groß gemacht, indem sie es in die Welt von Linux und Windows gebracht hat, wo es einen enormen Höhenflug angetreten hat. So ist eine ganze Reihe von Tools entstanden, um die Arbeit mit Containern einfach und stabil zu machen. Ein Tool wie Kubernetes sorgt für die Orchestrierung und Verwaltung der Container, vergleichbar mit den Kränen, die das Schiff beladen. Rancher bringt eine schöne GUI für den Entwickler oder Anwendungsverwalter mit und wird genutzt, um Kubernetes zu verwalten – man denke an den Kranführer. Auch Tools wie Gitlab schließen sich hier an, um einen CI/CD-Prozess einzurichten, der auf Containern basiert.

“Mit der Containerstrategie wird es einfacher Teile einer SAnwendung ersetzen und skalieren.”
Richard de Jong
Solution Architect
Die Vorteile von Containern
Mit der Containerstrategie wird es einfacher, Komponenten einer Anwendung zu ersetzen, beispielsweise bei einem Upgrade, und man kann eine Anwendung auch gut leistungsfähiger machen, indem man einige Container einfach mehrmals startet. Außerdem werden Entwicklung, Test und Akzeptanz repräsentativer für die Produktion, sodass man Fehler einfacher finden kann. Es sind weniger Betriebssysteminstanzen notwendig, also auch weniger Hardware. Und es macht eine weitere Automatisierung des Entwicklungsprozesses möglich, also vom Code Commit bis zum Livegang (CI/CD). Das alles verschafft der Branche ein kürzeres Time-to-market für Anwendungen und Änderungen zu geringeren Kosten.
Solvinity und Container

Die Nutzung von Containern ist für Solvinity nicht neu, denn wir haben schon über drei Jahre Erfahrung damit. Nicht nur unser Oracle-Datenbankhotel läuft auf Solaris-Containern, sondern wir liefern intern und für einige unserer Kunden auch Dienste und Projekte auf Docker-Basis. Wir haben uns aber jetzt entschieden, vielen weiteren Kunden mit Container-basierten Lösungen zu helfen. Dabei bündeln wir die unterschiedlichen Komponenten, wie Containerbau, Testen, Registry, Orchestrierung, Vulnerability Management und Beratung.

Die Lösung ist breit einsetzbar, sowohl beim Anwender vor Ort als auch in der öffentlichen Cloud. Containerplattformen (PaaS-Dienste anstelle von Housing oder Managed Hosting) und Beratung zu DevOps, CI/CD und Containern gehören auch zu den Möglichkeiten, bei denen wir teils am Standort des Kunden eng in (erweiterten) DevOps-Teams zusammenarbeiten.

Container sind die Zukunft für Solvinity. Ob es um eine moderne Micro-Services-basierte Webanwendung geht, um eine traditionelle Anwendung, die „gedockert“ werden soll oder um LCM in Windows-Umgebungen – Container werden sich überall als wertvoll erweisen; sie sind das neue Paradigma.

Lees ook

Meer

Können wir Ihnen weiterhelfen?

Montag bis Freitag von 8 bis 18 Uhr