In diesem Beitrag werden die gängigsten PaaS-Lösungen vorgestellt, die für das Hosting Ihrer modernen Applikationen zur Verfügung stehen.
PaaS (Platform as a Service) ist ein Cloud-Service-Modell, bei dem Dienstleister Kunden eine Plattform zur Entwicklung und zum Hosten ihrer Anwendungen anbieten. Entwickler oder DevOps-Teams nutzen diese Plattform, um Anwendungen zu entwickeln, zu testen und auszuführen. Dabei können sie sich auf die Programmierung konzentrieren, während die Plattformanbieter die gesamte Infrastruktur bereitstellen.
PaaS beschleunigt die Anwendungsentwicklung, da sich die Entwickler auf den Code fokussieren können und die Infrastrukturprobleme den Anbietern überlassen. Es gibt eine Reihe von PaaS-Optionen, die Sie verwenden können, wenn Sie eine schnelle Anwendungsentwicklung anstreben.
Im Folgenden finden Sie eine Liste verwalteter Plattformen. Wenn Sie etwas Eigenes entwickeln möchten, können Sie diese Software zur Erstellung Ihrer eigenen Mini-PaaS in Betracht ziehen.
Google App Engine
Google Cloud bietet eine vollständig verwaltete, serverlose Plattform namens App Engine, die es ermöglicht, hochskalierbare Anwendungen zu entwickeln. Sie müssen sich nicht um Server oder die Infrastruktur kümmern, wenn Sie die App Engine zur Anwendungsentwicklung verwenden.
Es stehen zwei Umgebungen zur Auswahl: Standard und Flexibel.
Die Standardumgebung führt Ihre Anwendungsinstanzen in einer Sandbox aus und ist ideal, wenn Sie Spitzen im Anwendungsdatenverkehr erwarten und schnell skalieren müssen. Die flexible Umgebung führt Ihre Anwendungsinstanzen in Docker-Containern aus und eignet sich besser bei stark schwankendem Anwendungsdatenverkehr. Sie können auch beide Umgebungen gleichzeitig nutzen.
Die Skalierung Ihrer App erfolgt schnell und einfach mit wenigen Klicks.
Funktionen der Google Cloud App Engine:
- Keine Server- und Konfigurationsverwaltung erforderlich
- Kosteneffizient, da Sie nur für die tatsächliche Nutzung zahlen.
- IAM-Regeln und Firewall-Funktionen zum Schutz Ihrer Anwendung vor Sicherheitsbedrohungen
- Optionen zur Anwendungsentwicklung in Java, Python, Node.js, Go, Ruby, C#, PHP oder der Verwendung eigener Laufzeitumgebungen.
- Protokollierungs- und Überwachungsfunktionen zur Beobachtung des Anwendungszustands.
- Verwaltung verschiedener App-Versionen und einfache Erstellung unterschiedlicher Umgebungen (DEV, TEST, PROD).
Diese Plattform ist kostentechnisch sehr attraktiv. Neue Kunden erhalten ein Startguthaben von 300 $ für die ersten 90 Tage.
DO App Plattform
DigitalOcean hat kürzlich eine App-Plattform eingeführt, die bei Entwicklern immer beliebter wird.
Ihr Code wird automatisch von GitHub übernommen, gebaut und in der Cloud bereitgestellt. Jede Aktualisierung des Codes in GitHub führt zur erneuten Bereitstellung Ihrer Anwendung in der Cloud. Dies wird als GitOps bezeichnet.
Einfach und genial, oder?
Funktionen der DigitalOcean App Plattform:
- Bereitstellung und Verwaltung von Betriebssystem, Infrastruktur, Abhängigkeiten, Datenbanken usw.
- Verwaltung von SSL-Zertifikaten und Schutz vor DDoS-Angriffen
- Direkte Bereitstellung aus GitHub-Repositories
- Verschiedene Skalierungsoptionen sorgen für hohe Verfügbarkeit Ihrer App und sind dabei kostengünstig.
- Unterstützt Anwendungen mit Python, React, Node.js, Laravel, Ruby, Ruby on Rails, GoLang, Gatsby, Hugo, Dockerfile, statischen Sites und vielen weiteren.
Sie können die App-Plattform über das DO-Dashboard oder die API verwalten. Der Einstieg ist bereits ab 5 US-Dollar pro Monat möglich. Das DO-Angebot ist optimal für kleine und mittlere Unternehmen.
Plattform.sh
Platform.sh ist eine Komplettlösung für PaaS zum Erstellen, Ausführen und Skalieren Ihrer Anwendungen. Sie wurde speziell für Continuous Deployment entwickelt und ist bekannt für eine leistungsstarke Cloud-Plattform als Service.
Nachfolgend sind die verschiedenen Preispläne von Platform.sh und ihre jeweiligen Highlights aufgeführt:
Platform.sh Funktionen:
- Bietet einen Marktplatz mit verschiedenen Sprachen und Datenbanken
- Verwaltung der Sicherheit und Updates, keine manuellen Patches erforderlich.
- Klonen des Produktions-Stacks für jeden Git-Branch, um Entwicklern und QA-Ingenieuren eine Umgebung auf Produktionsniveau zu bieten.
- Kontinuierliche Bereitstellung von Containern für vollständig getestete Builds in der Produktion.
- Unterstützung einer Multicloud-Plattform zur Bereitstellung von Anwendungen und Webseiten weltweit.
Die Rechenzentren befinden sich in Montreal, Nord-Virginia, Washington, Dublin, Paris, London, Frankfurt und Sydney. Es werden Lösungen für Unternehmenskunden angeboten.
Jelastic
Jelastic ist eine Platform as a Service für Entwickler. Es ermöglicht eine einfache Bereitstellung, Skalierung und Verwaltung Ihrer Anwendungen in der Cloud. Sie können in Jelastic Trigger festlegen, um Ihre Plattform bei zunehmendem Datenverkehr horizontal oder vertikal zu skalieren.
Es bietet ein Dashboard zur einfachen Anwendungsverwaltung mit Zugriff auf Protokolle und Konfigurationsdateien. Es gibt zudem eine Team-Collaboration-Funktion, um Teammitglieder zur Anwendungsverwaltung einzuladen.
Die Abrechnung erfolgt nutzungsabhängig. Es gibt einen Cloud-Preisrechner, der Ihnen hilft, die Kosten für die Ausführung Ihrer Anwendung auf Jelastic zu kalkulieren.
Jelastic Eigenschaften:
- Benutzeroberfläche und API für die automatisierte Bereitstellung der Plattform
- Automatische vertikale und horizontale Skalierung
- Integration mit CI/CD-Tools zur Automatisierung
- Automatisierte Verteilung des Datenverkehrs für Bereitstellungen ohne Ausfallzeiten
- Option zum Anhalten, Neustarten und Klonen von Anwendungen im Ruhezustand
- Integrierte IDE-Plugins für Eclipse, IntelliJ IDEA, NetBeans
- Protokollbetrachter und Konfigurationsmanager über das Dashboard
Entwickeln Sie Java-, PHP-, Python-, Node.js-, Ruby-, Go- oder Docker- und Kubernetes-Anwendungen.
Azure App Service
Azure App Service wird von Microsoft angeboten. Sie können damit Web-Apps, mobile Backends und RESTful-APIs in Ihrer bevorzugten Programmiersprache entwickeln und hosten, ohne die Infrastruktur verwalten zu müssen. Es bietet automatische Skalierung und Hochverfügbarkeit und unterstützt Windows und Linux.
Automatische Bereitstellungen von GitHub, Azure DevOps oder einem beliebigen Git-Repository sind möglich. Es erfüllt höchste Sicherheits- und Leistungsstandards und kann 40 Milliarden Anfragen pro Tag bearbeiten. Sie können mit den neuen reservierten App Service-Instanzen bis zu 55 % im Vergleich zum nutzungsabhängigen Modell sparen.
Ein integriertes Überwachungssystem zur Live-Fehlerbehebung ist vorhanden. Mit Azure Monitor und Application Insights können Sie den Zustand und die Leistung Ihrer Anwendung überwachen. Es gibt auch ein Echtzeit-Alarmsystem, das Sie sofort bei unerwarteten Problemen in Ihrer Anwendung benachrichtigt.
Azure App Service-Funktionen:
- Unterstützt mehrere Sprachen wie C#, PHP, Java, Python, Ruby usw.
- Bietet eine integrierte CI/CD-Integration mit Azure DevOps Services, GitHub, BitBucket, DockerHub usw.
- Microsoft garantiert eine Hochverfügbarkeit mit 99,95 % Verfügbarkeit des App-Dienstes.
- Einfache vertikale und horizontale Skalierung
- Enthält SOC und PCI für Sicherheit und Compliance in verschiedenen Umgebungen
- Bietet Authentifizierungsfunktionen mit Azure AD und anderen Identitätsanbietern wie Google, Microsoft Live, Facebook usw.
- Einfache Integration mit Visual Studio
Azure ist ideal für Unternehmensanforderungen.
Heroku Plattform
Heroku Plattform ist einer der Pioniere unter den PaaS-Anbietern.
Hier können Sie sich auf die Lösungsentwicklung und die Bereitstellung von Anwendungen konzentrieren, anstatt auf den Betrieb. Mit der Heroku-Plattform können Sie Funktionen mit einem Klick erstellen und bereitstellen. Sie können sofort mit der Anwendungsentwicklung beginnen. Alles, was für die App benötigt wird, wird bereits von der Heroku-Plattform bereitgestellt. In der Welt von DevOps sind Sie der Entwickler, Heroku die Ops.
Die Heroku-Plattform ist bemerkenswert, da sie entwicklungsorientiert, anwendungsorientiert und produktionsorientiert ist. Entwicklern wird eine hervorragende Benutzererfahrung geboten, indem sie sich nur auf die Entwicklung konzentrieren und alltägliche, nicht entwicklungsbezogene Aufgaben vermeiden. Es beschleunigt die Verfügbarkeit von Anwendungen für echte Benutzer. Und schließlich erfolgt die Bereitstellung der Anwendung in einer Produktionsumgebung problemlos.
Der Start ist über das übersichtliche Dashboard oder die CLI möglich.
Die Heroku-Plattform bietet Ihnen folgende Tools zur einfachen Erstellung Ihrer Anwendung:
- Heroku Developer Experience (DX): Unterstützung des Softwareentwicklungsansatzes, bei dem sich Entwickler auf die Erstellung und kontinuierliche Bereitstellung der Anwendungen konzentrieren.
- Heroku Operational Experience (OpEx): Es dient der Fehlerbehebung in Ihrer Anwendung und informiert Sie über negative Trends in der Integrität der Anwendung. Es bietet Funktionen für Schwellenwertwarnungen, automatische Skalierung und Anwendungsmetriken.
- Heroku Runtime: Führt Ihre Anwendung in einer vollständig verwalteten und zuverlässigen Umgebung namens Dyno aus. Dies sind intelligente Container, in denen Ihre Anwendung ausgeführt wird.
Die Preise für Heroku hängen von Ihrem Anwendungstyp ab. Heroku führt Ihre Anwendung in isolierten Linux-Containern namens Dyno aus.
AWS Elastic Beanstalk
AWS Elastic Beanstalk ermöglicht die Bereitstellung Ihrer Anwendung mit Programmiersprachen wie Java, .NET, PHP, Node.js und vielen anderen auf vertrauten Servern wie Apache, Nginx oder Tomcat. Mit Elastic Beanstalk können Entwickler ihre Anwendungen hochladen.
Funktionen wie Lastausgleich, automatische Skalierung und die Überwachung des Anwendungszustands werden automatisch von AWS verwaltet.
Elastic Beanstalk vereinfacht die gesamte App-Entwicklung. Sie können sich auf das Schreiben von Code konzentrieren. Alles andere wie die Überwachung von Servern, Speicher, Netzwerk und die Verwaltung von Virtualisierung, Betriebssystem und Datenbanken wird von AWS verwaltet, was den gesamten Prozess für einen Entwickler vereinfacht.
AWS Elastic Beanstalk-Funktionen:
- Verschiedene Bereitstellungsoptionen – AWS Management Console, Eclipse, Visual Studio, Beanstalk CLI
- Unterstützung verschiedener Sprachen und Plattformen – Java, .NET, Python, Ruby, PHP, Node.js, Go, Docker.
- Nutzt Auto-Scaling und Elastic Load Balancing, um Anwendungen bei Bedarf zu skalieren
- Option zur Anpassung und Auswahl der AWS-Ressourcen zur Ausführung Ihrer Anwendung
- Überwacht den Anwendungszustand durch Erfassung von über 40 Schlüsselmetriken und -attributen
Sie zahlen nichts für AWS Elastic Beanstalk. Es werden lediglich die AWS-Ressourcen abgerechnet, die für die Speicherung und Ausführung Ihrer Anwendung genutzt werden.
Fazit
Wenn Sie Entwickler oder ein Team von Entwicklern sind, die sich voll und ganz auf die Erstellung Ihrer App konzentrieren möchten, sollten Sie die Möglichkeiten von PaaS nutzen. Beschleunigen Sie die Anwendungsentwicklung mit einer der oben genannten Plattformen, um Anwendungen einfach bereitzustellen, auszuführen und zu skalieren. Wenn Sie jedoch noch nicht bereit für PaaS sind und lieber auf einer herkömmlichen VM hosten möchten, können Sie diese Cloud-Hosting-Plattformen in Betracht ziehen.
Gehen Sie innerhalb von Tagen statt Monaten in Produktion!