Bauen Sie Ihre eigene Cloud und sparen Sie Millionen!
Es gibt so viele Dinge, um die man sich kümmern muss, wie z.B. Serverplatz, Entwicklungsumgebungen, Sicherheit, Software-Stacks, Software-Updates und Hardware-Wartung, dass die gesamten Kosten für die Wartung der Plattform oft überwältigend sind.
Unternehmen, die Anwendungen entwickeln und bereitstellen, müssen einen großen Teil ihrer Ressourcen für den Betrieb der Plattform aufwenden – Ressourcen, die ansonsten für die Softwareentwicklung genutzt werden könnten.
Aus diesem Grund entstand der Bedarf an Cloud-Plattformlösungen. Diese Lösungen nutzen ein Cloud Computing-Modell, um alles bereitzustellen, was die Entwickler für ihre Arbeit benötigen, von gehosteten Entwicklungsumgebungen und Datenbanktools bis hin zu vollständigen Funktionen für das Anwendungsmanagement.
Entwickler, die innerhalb einer Cloud-Plattform arbeiten, haben Zugang zu allen Ressourcen, die sie für die Erstellung, Bereitstellung und den Start von Softwareanwendungen benötigen. Für Unternehmen könnte die Cloud-Plattform eine skalierbare Basis für neue Anwendungen bilden, die kurzfristig bereitgestellt werden müssen. Mit einem Pay-as-you-grow-Modell sind keine langfristigen Investitionen in lokale Plattformen erforderlich.
Warum Open Source?
Nachdem wir nun die Vorteile von Cloud-Plattformen gegenüber herkömmlichen, lokalen Plattformen dargelegt haben, stellt sich die nächste Frage: Warum ist eine Open-Source-Cloud-Plattform besser als eine proprietäre Cloud-Plattform?
Die offensichtlichste Antwort sind die Kosten: Die Lizenzen proprietärer Lösungen sind immer mit höheren Preisen verbunden. Ein weiterer wichtiger Vorteil ist die Flexibilität und die Freiheit, aus einer Vielzahl von Frameworks, Clouds und Services zu wählen.
Proprietäre Plattformen hingegen binden Sie möglicherweise an die Tools und Dienste, die ihnen gehören. Im Gegenzug bieten sie zwar gewisse Vorteile, wie die Bindung an SLAs (Service Level Agreements) und die Entlastung von Hürden wie Tests und Integration, aber diese Vorteile wiegen die Vorteile der Offenheit kaum auf.
Im Folgenden finden Sie eine Auswahl der Open-Source-Cloud-Plattformen für Unternehmen, die heute den Markt beherrschen.
Cloud Foundry
Cloud Foundry wurde ursprünglich von VMware (jetzt im Besitz von Pivotal Software) entwickelt und zeichnet sich dadurch aus, dass es als eigenständige Open-Source-Softwareanwendung verfügbar ist, was es unabhängig von Cloud-Anbietern macht. Sie kann auf VMware vSphere oder anderen Cloud-Infrastrukturen wie HP Helion, Azure oder AWS eingesetzt werden. Oder Sie können sie sogar selbst auf Ihrem OpenStack-Server hosten.
Durch die Verwendung von Buildpacks erleichtert Cloud Foundry die Laufzeit- und Framework-Unterstützung. Immer wenn Sie eine Anwendung pushen, wählt die Cloud Foundry Application Runtime das am besten geeignete Buildpack für sie aus. Dann kümmert sich das Buildpack um die Kompilierung der Anwendung und bereitet sie für den Start vor.
Cloud Foundry wurde entwickelt, um eine schnelle Anwendungsentwicklung und -bereitstellung durch eine hoch skalierbare Architektur und DevOps-freundliche Arbeitsabläufe zu ermöglichen. Die Sprachunterstützung umfasst Python, Ruby, PHP, Java und Go, neben vielen anderen.
Um sich jedoch angemessen in Cloud Foundry einzufügen, wird empfohlen, dass Ihr Projekt dem Zwölf-Faktoren-Anwendungsstandard folgt: eine Methodik, die speziell für die Entwicklung optimaler Software-as-a-Service (SaaS)-Anwendungen entwickelt wurde.
Udemy hat einen schönen Kurs über die Entwicklung für die Cloud mit Cloud Foundry.
WSO2
Wenn Sie sich intensiv mit SOA beschäftigen, haben Sie sicherlich mit vielen internen und externen APIs zu tun. Das ist das Szenario, in dem WSO2 dank seines API Managers, der den gesamten API-Lebenszyklus abwickeln kann, glänzt. WSO2 erfüllt die meisten Anforderungen, die Ihre Kunden stellen könnten, einschließlich Versionierung, API-Dokumentation und SSL-Offloading.
WSO2 verwendet ein Store-Konzept, in dem Entwickler APIs finden, ausprobieren und bewerten können. Die Bereitstellung ist einfach und unkompliziert und bietet viele Optionen, um den Ablauf der API zu steuern. Außerdem bietet es eine automatische Wiederherstellungsfunktion, falls ein Endpunkt ausfällt.
All diese Eigenschaften zielen darauf ab, die Markteinführungszeit zu verkürzen, das Kostenmanagement zu vereinfachen und insgesamt die Agilität der Geschäftsprozesse zu verbessern.
Ein großes Plus von WSO2 API Manager ist seine einfache Integration mit WSO2 Identity Server, einer API-gesteuerten IAM-Lösung (Identity and Access Manager). Diese Integration bietet eine freundliche Plattform für die Authentifizierung in Cloud-Umgebungen.
Cloudify
Cloudify ist ein Orchestrierungs-Framework, das für die Modellierung von Anwendungen und Services und die Automatisierung ihrer Lebenszyklen entwickelt wurde.
Dazu gehört die Möglichkeit, Anwendungen in jeder Cloud-Umgebung oder jedem Rechenzentrum bereitzustellen und eine kontinuierliche Wartung durchzuführen. Außerdem bietet es Tools zur Überwachung aller Aspekte der bereitgestellten Anwendungen, zur Erkennung von Fehlerzuständen und zur manuellen oder automatischen Behebung dieser Fehler.
Eine der bemerkenswertesten Funktionen von Cloudify ist die TOSCA-basierte Blueprint-Modellierung. Mit dieser Innovation können Entwickler YAML verwenden, um Blaupausen der Anwendungstopologien zu erstellen.
YAML ist eine von Menschen lesbare Datenserialisierungssprache, die zum Schreiben von Definitionen auf der Grundlage der TOSCA-Spezifikation verwendet wird und Entwicklern eine standardisierte Möglichkeit zur Beschreibung von Verbindungen zwischen Anwendungen, Systemen und Cloud-Infrastrukturkomponenten bietet.
Cloudify Cloud-Orchestrierung bietet eine solide Basis für IT-Governance und Sicherheit, indem Benutzer Zugriffsbeschränkungen mit verschiedenen Rollen und Berechtigungsstufen anwenden können.
Für die Kommunikation mit externen Diensten wie Kubernetes-Containern, Cloud-Diensten (AWS, Azure, vSphere, OpenStack) und Konfigurationsmanagement-Tools (Puppet, Ansible, Chef) verwendet Cloudify eine Reihe offizieller Plugins, während viele andere Dienste durch generische bestehende Plugins unterstützt werden.
OpenShift
OpenShift ist eine auf Kubernetes basierende Plattform mit einem flexiblen und sehr schnellen Installationsprogramm und umfangreicher API-Unterstützung, die es Entwicklern ermöglicht, die Plattform nach ihren Bedürfnissen zu erweitern.
Bei der Entwicklung von OpenShift wurde auf Sicherheit geachtet, wie ein Beispiel verdeutlicht: Es wird erwartet, dass Container als Nicht-Root-Benutzer ausgeführt werden, und wenn das nicht der Fall ist, erfordert OpenShift eine explizite Überschreibung, um den Container auszuführen.
Die Verwendung von Kubernetes erfordert eine beträchtliche Anzahl von Servern, und es bedarf einer gewissen Lernkurve, um sie zu beherrschen. Deshalb ist diese Plattform nicht für kleine Einsätze geeignet, es sei denn, sie könnten sich in naher Zukunft zu größeren Einsätzen entwickeln.
OpenShift-Benutzer heben die schnellen Installations- und Konfigurationsverfahren hervor, sowie die einfache Wartung von Modulen und Gears. Ein weiteres Plus ist die Tatsache, dass es ein eigenes Git Repo gibt. Was ihnen nicht so gut gefällt, ist die Schwierigkeit beim Lesen und Interpretieren der Protokolle. Insbesondere wenn es beim Hochladen eines Projekts zu einem Fehler kommt, ist es schwer zu verstehen, wo das Problem liegt.
Tsuru
Rede Globo, der zweitgrößte kommerzielle Fernsehsender der Welt, hat Tsuru als Docker-basiertes PaaS-Produkt (Platform as a Service) auf den Markt gebracht, das Anwendungen in einer Produktionsumgebung orchestrieren und ausführen kann. Es handelt sich um eine von Globo.com entwickelte Open-Source-Multiprovisioner-Plattform, die Websites mit Millionen von Nutzern unterstützt.
Tsuru-Benutzer bestätigen, dass es die Markteinführungszeit erheblich verkürzt, ohne auf Einfachheit, hohe Verfügbarkeit, Sicherheit oder Stabilität zu verzichten. Tsuru kann in einer Vielzahl von Cloud-Infrastrukturen betrieben werden, unabhängig davon, ob diese öffentlich oder privat sind, solange sie von einer Docker-Maschine unterstützt werden.
Tsuru unterstützt außerdem fast jede verfügbare Programmiersprache, was Entwicklern die Freiheit gibt, nach ihren Vorlieben zu wählen.
Mit Tsuru können Sie verschiedene Datenspeicher verwenden, darunter SQL- oder NoSQL-Datenbanken oder In-Memory-Alternativen wie Memcached oder Redis.
Sie wählen einfach den von Ihnen bevorzugten aus und binden ihn in Ihre App ein. Für die Verwaltung der App können Sie zwischen der Kommandozeile oder einer Weboberfläche wählen und später über Git bereitstellen. Die Infrastruktur von Tsuru kümmert sich um alle wichtigen Details.
Stackato
Stackato ist ein polyglottes PaaS-Produkt auf der Basis von Cloud Foundry und Docker, das auf Ihrer Cloud-Infrastruktur läuft und als Startplattform für Ihre Anwendungen dient.
Stackato-Benutzer sagen, dass es eine agile und robuste Anwendungsplattform bietet, die die Produktivität sowohl von Cloud-Administratoren als auch von Entwicklern verbessert.
Stackato eignet sich gut für die Cloud-Bereitstellung in Unternehmen, da es die Flexibilität des direkten Zugriffs auf die VM in der Cloud-Infrastruktur mit der automatisierten Konfiguration einer vollwertigen PaaS kombiniert.
Zu den unterstützten Cloud-Infrastrukturen gehören HP Cloud Services, Citrix XenServer, AWS, OpenStack, VMware und andere.
In Stackato hat jede Anwendung ihren eigenen Linux-Container (LXC), der eine effiziente und sichere gemeinsame Nutzung von Ressourcen garantiert. Die Palette der Dienstleistungen besteht aus: Helion Control Plane, die Stackato zur Kommunikation mit der zugrunde liegenden Cloud und zur Verwaltung der Lebenszyklen von Diensten nutzt.
Helion Service Manager, ein Repository von Add-in-Services, die für Anwendungen zur Verfügung stehen; Helion Cloud Foundry, eine elastische Laufzeitumgebung, die das Hosting und die Entwicklung von Anwendungen vereinfacht.
Helion Code Engine, ein kontinuierlicher Bereitstellungsdienst, der mit privaten oder öffentlichen Git-Repositories integriert ist, und Helion Stackato Console, eine Webschnittstelle zur Verwaltung aller Helion Cloud-Funktionen.
Alibaba
Obwohl es kaum erwähnt wird, wenn es um Open-Source-Cloud-Plattformen und PaaS geht, wächst das Cloud-Computing-Geschäft von Alibaba kometenhaft. Das Unternehmen hat bereits 50 % des chinesischen Public-Cloud-Marktes erobert und lernt gewissenhaft, wie es Märkte außerhalb Chinas bedienen kann.
So wird beispielsweise damit begonnen, in 168 Ländern die Abrechnung in US-Dollar zu unterstützen und speziell auf die Märkte in Übersee zugeschnittene Dienste zu entwickeln.
Die im Angebot von Alibaba enthaltenen Cloud-Plattformdienste umfassen viele kostenlose Funktionen, darunter Containerdienste für Docker und Kubernetes, Container Registry, Auto Scaling und DataWorks, eine sichere Umgebung für die Offline-Datenentwicklung.
Die Dienste sind gut dokumentiert und werden von allem begleitet, was Sie brauchen, um Ihre Anwendungen sofort in die Cloud zu migrieren, wie z.B. viele Tutorial-Videos. Mit ein paar einfachen Schritten und ohne einen Dollar zu investieren, lädt Alibaba Sie dazu ein, im Handumdrehen mit der Entwicklung zu beginnen.
Und schließlich…
Zum Glück für alle Entwickler regiert in der Cloud-Welt die Offenheit. Noch vor einigen Jahren drohte der Wettbewerb um Container-Technologien (Docker, Kubernetes, Mesos, Nomad, ECS, um nur einige zu nennen) den Markt in wasserdichte Abteilungen aufzuteilen, was zu erheblichen Risiken führte, wenn Sie sich für eine Plattform entscheiden mussten.
Aber obwohl es heute mehr Plattformen zur Auswahl gibt, liegen die Unterschiede zwischen den heutigen Open-Source-Angeboten nur in den Details: unterschiedliche Kostenmodelle, unterschiedliche Verwaltungstools und unterschiedliche Sicherheitsansätze.
Mit anderen Worten: Wenn Sie sich heute für eine Open-Source-Cloud-Plattform entscheiden und nicht zufrieden sind, können Sie morgen zu einer anderen wechseln, und die Kosten werden Sie nicht umbringen.
Mit den Informationen, die wir Ihnen hier gegeben haben, werden Sie hoffentlich in der Lage sein, die Plattform zu wählen, die Ihren Bedürfnissen am besten entspricht und Sie von Kopfschmerzen wie Serverkapazität, Middleware, Frameworks, virtuellen Maschinen, Datenspeichern und so weiter befreit.
Wenn Sie sich erst einmal von all dem befreit haben, können Sie all Ihre Ressourcen und Ihre ganze Aufmerksamkeit auf das konzentrieren, was für Sie wirklich wichtig ist: Ihre erstklassige Anwendung so schnell wie möglich an Ihre Benutzer auszuliefern und sie bei der Nutzung zufrieden zu stellen.
Hier können Sie auch einige kostenlose Tier oder Credits auf Cloud-Plattformen entdecken.