Upsun und Heroku sind zwei unternehmenstaugliche Cloud-Plattformen, die sich bewährt haben. Schauen wir uns einige der Gemeinsamkeiten und Unterschiede an, die die beiden voneinander unterscheiden.
Der Markt fürPlatform-as-a-Service (PaaS)-Lösungen hat in den letzten Jahren ein kometenhaftes Wachstum erlebt, was vor allem auf die zunehmende Verwendung von Containern zurückzuführen ist, die die Softwareentwicklung revolutioniert haben.
Während die Gesamtzahl der verfügbaren Plattformen kontinuierlich wächst, gibt es nur eine Handvoll ausgereifter, unternehmenstauglicher Lösungen; die anderen befinden sich im frühen Bootstrap- oder jungen Startup-Modus - keine gute Wahl für geschäftskritische Operationen.
Upsun und Heroku sind zwei dieser bewährten, unternehmenstauglichen Lösungen.
Upsun verbindet die Zuverlässigkeit und Stabilität eines Unternehmens mit dem Glanz, der Innovation und der Flexibilität einer neuen Marke. Upsun basiert auf der preisgekrönten Platform.sh und profitiert von jahrelanger Erfahrung und einem hohen Bekanntheitsgrad, der es vor vielen der Wachstumsschmerzen bewahrt, mit denen neue Startups oft zu kämpfen haben.
Heroku war eine der ersten Cloud-Plattformen und gilt immer noch als einer der größeren Player.
Aber sie hat sich über die Jahre nicht dramatisch verändert. Diese Stabilität kann für Unternehmenskunden interessant sein, die sich von zu vielen beweglichen Teilen fernhalten wollen. Gleichzeitig hat es den Anschein, dass die Entwicklung von Heroku nicht in Richtung Innovation geht oder mit den ständig steigenden Anforderungen an Qualität und Geschwindigkeit Schritt hält. Die Kommerzialisierung von Cloud-Plattformen hat viele Konkurrenten für Heroku hervorgebracht, und das Unternehmen wird härter arbeiten müssen, um ein Branchenführer zu bleiben.
Lassen Sie uns einige der Unterschiede zwischen den beiden Lösungen näher betrachten:
Die physische Infrastruktur von Heroku wird ausschließlich in einer begrenzten Anzahl von Amazon Web Service (AWS) Regionen gehostet. Diese Einschränkung kann ein Problem darstellen, wenn Ihr Unternehmen einen anderen IaaS benötigt oder aus verschiedenen Gründen nicht mit AWS arbeiten kann (z. B. Vorschriften, Cloud-Souveränität).
Mit Upsun können Benutzer zwischen einer breiten Palette von IaaS-Anbietern und mehreren Regionen für jeden von ihnenwählen , so dass jedes Projekt dort gehostet werden kann, wo es in Bezug auf Geografie (Entfernung zum Endbenutzer) und Vorschriften (Identität des IaaS-Anbieters) am besten passt.
In einer Zeit, in der der digitale CO2-Fußabdruck auf dem Prüfstand steht, tragen die nachhaltigen Hosting-Lösungen und -Verfahren von Upsun dazu bei, dass Ihre Anwendungen die benötigte Energie erhalten und gleichzeitig umweltverträglich sind -im Gegensatz zu den weniger umweltfreundlichen Ansätzen anderer Anbieter.
Um unser Engagement zu untermauern, bietet Upsun seinen Kunden einen Rabatt von 3 % auf die Ressourcennutzung, wenn sie sich für ein Rechenzentrum entscheiden, das mit erneuerbaren Energiequellen in einer unserer förderungswürdigen grünen Regionen betrieben wird. All dies trägt dazu bei, ihren CO2-Fußabdruck zu verringern.
Heroku hat keine veröffentlichten Nachhaltigkeitsrichtlinien oder Anreize.
Persistente Speicherung ist, wie der Name schon sagt, eine Datenspeicherung, die auch dann bestehen bleibt, wenn der Container, in dem die Anwendung läuft, neu gestartet oder aus irgendeinem Grund ersetzt wird. In den meisten Fällen ist der Speicher des Containers selbst flüchtig und sollte keine Informationen enthalten, auf die die Anwendung angewiesen ist, um ordnungsgemäß zu funktionieren.
Heroku hat keinen persistenten Speicher. Alles, was in einem Heroku-Container gespeichert wird, ist per Definition kurzlebig. Und alle Daten, die zwischen den Bereitstellungen erhalten bleiben müssen, müssen außerhalb der Plattform gespeichert werden (z. B. in AWS S3). Dies macht die Bereitstellung auf Heroku sehr viel komplizierter, da Sie Folgendes tun müssen:
Im Gegensatz zu Heroku erwartet Upsun von seinen Nutzern nicht, dass sie ein komplettes Projekt, einschließlich der Speicherung von Daten und Medien, bei einem Drittanbieter einkaufen. Upsun ermöglicht es Ihnen, eine beliebige Menge an dauerhaftem Speicher direkt auf der Plattform zu wählen, wobei die gleiche einfache Konfiguration wie für andere Parameter der Anwendung verwendet wird, so dass der Betrieb einer zustandsabhängigen Anwendung einfach ist. Beim Klonen einer Umgebung werden die Daten und Dateien, die auf der persistenten Festplatte gespeichert sind, ebenfalls in Sekundenschnelle geklont, so dass jede Vorschauumgebung nicht nur schnell und einfach zu erstellen ist, sondern auch eine perfekte Kopie der Produktionsumgebung darstellt.
Heroku hat ein nicht konfigurierbares, hartes Antwort-Timeout von 30 Sekunden.
Upsun hat kein Anfrage-Timeout. Selbst wenn Sie sehr große Dateien hochladen müssen, wird der Upload nicht aufgrund von Plattformbeschränkungen unterbrochen.
Aufgrund des Aufbaus der Heroku-Plattform sind standardmäßig Dienste wie Datenbanken und Suchfunktionen aus dem Internet verfügbar, die möglicherweise sensible Daten für unbefugte Benutzer offenlegen. Der Schutz dieser Dienste erfordert die Private Spaces von Heroku - ein Premium-Service für High-End-Kunden.
Upsun bietet viele verschiedene Datendienste (z. B. PostgreSQL, MongoDB, ElasticSearch, Redis, MariaDB), die nur innerhalb Ihrer Anwendungen zur Verfügung stehen, damit Sie sicherstellen können, dass Ihre Daten nicht direkt dem Internet ausgesetzt sind.
Sowohl Upsun als auch Heroku bieten native Unterstützung für eine Vielzahl von Laufzeiten, darunter Python, Node.js, PHP, Go, Java und Ruby. Jede der Plattformen bietet auch native Unterstützung für eine Reihe unterschiedlicher Sprachen: Upsun-Images für C#/.Net Core, Elixir, Lisp und Rust; Heroku-Buildpacks für Clojure, Gradle, Grails 3.x, JVM, Play 2.x und Scala.
Sie können den großen Unterschied spüren, wenn Sie Software in Sprachen bereitstellen möchten, die von der Plattform nicht nativ unterstützt werden. Dies kann zum Beispiel der Fall sein, wenn Sie in einer Microservices-Architekturarbeiten . Auf Heroku ist die Entwicklung in nicht nativen Sprachen nahezu unmöglich und würde die Entwicklung eines eigenen Buildpacks erfordern. Upsun hingegen verfügt über ein auf Nix basierendesComposable Image, mit dem Sie Software auch in neuen oder weniger verbreiteten Sprachen entwickeln und bereitstellen können. Obwohl dies auch mit Docker oder Buildpacks möglich ist, opfert Upsun nicht die Einfachheit für die Vielseitigkeit; die Verwendung des Composable Image ist so einfach wie die Verwendung eines der oben erwähnten Runtime Images von Upsun.
HTTP/2, das Standardprotokoll für das Internet, macht das Surfen schneller und effizienter. Es ist seit 2015 auf dem Markt und wird von den meisten Webservern und Webbrowsern unterstützt. Heroku liefert jedoch weiterhin Inhalte über HTTP/1.1 aus. Heute (April 2024), Jahre nach der Veröffentlichung der neueren Protokollversion, unterstützt Heroku HTTP/2 nur in der Beta-Version.
Upsun stellt Inhalte über eine aktuelle Version von nginxbereit und unterstützt HTTP/2 vollständig.
Wie bei anderen Aspekten der Plattform empfiehlt Heroku die Nutzung von Drittanbieterdiensten für den DDoS-Schutz, was bedeutet, dass Ihre monatliche Rechnung steigt, wenn Sie die Komplexität des Umgangs mit mehreren Anbietern hinzufügen.
Upsun ist sorgfältig gegen DDoS-Angriffe konfiguriert und verwendet einen integrierten Reverse-Proxy-Cache, der Ihre Anwendungen vor bösartigen Angriffen schützt. Da die Sicherheit unter dem Dach von Upsun liegt, müssen Sie sich für zusätzlichen Schutz nicht anderweitig umsehen.
Heroku-Container (Dynos) werden mindestens alle 24 Stunden neu gestartet ( Cycling
), wobei der In-Memory-Status (z. B. Caches) verloren geht und Websocket-Verbindungen unterbrochen werden. Neustarts von Heroku-Anwendungen führen natürlich zu Ausfallzeiten. Um diese zu vermeiden, müssen Sie mehr Instanzen kaufen und diese ausbalancieren, in der Hoffnung, dass sie nicht zur gleichen Zeit neu gestartet werden.
Upsun startet Container und Dienste nur dann neu, wenn Entwickler einen solchen Neustart veranlassen, in der Regel beim Einsatz einer neuen Version ihrer Anwendungen. In seltenen Fällen löst Upsun auch einen erzwungenen Neustart aus, um kritische Sicherheitspatches anzuwenden.
Cron-Jobssind geplante Operationen, die für den Zustand und die Leistung eines Systems entscheidend sind und einen wesentlichen Bestandteil jedes Betriebssystems bilden. Webanwendungen nutzen diese Fähigkeit, um fortlaufende automatisierte Wartungsaufgaben auszuführen.
Heroku verfügt über ein grundlegendes, kostenloses Add-on namens Heroku Scheduler, das einen speziellen Container für die Ausführung von Cron-Jobs startet. Es ist wichtig, diese beiden Schlüsselfaktoren zu beachten:
Upsun bietet vollständige Cron-Unterstützung nativ und direkt in der Konfiguration einer Anwendung. Sie verwendet die Standard-Unix-Syntax und ermöglicht eine fein abgestufte Kontrolle über die Ausführung von Aufgaben und deren Beendigung. Mit Upsun werden Cron-Aufträge innerhalb des zugewiesenen Containers ausgeführt und verursachen keine zusätzlichen Gebühren oder zählen nicht zu der zusätzlich abrechenbaren Nutzung.
Die Möglichkeit, Byte-für-Byte-Klone von Produktionsumgebungen für Entwicklung, Reviews, Tests und Freigabenzu erstellen , ist eine der robustesten Funktionen von Upsun. Ein entscheidender Vorteil für Entwickler, Teamleiter, QA-Teams und andere Beteiligte gleichermaßen.
In Upsun kann jedes Projekt mehrere Umgebungenhaben . Eine davon wird normalerweise für die Produktion verwendet, während die anderen für verschiedene Testzwecke genutzt werden. Es ist ganz einfach, upsun branch staging main
auszuführen , um eine neue Vorschauumgebung namens staging
zu erstellen , die unter einer eindeutigen URL verfügbar ist und eine exakte Kopie der Hauptumgebung mit all ihren Diensten, Workern, Datenbanken und gespeicherten Dateien darstellt .
(Im AbschnittPreiseunten erfahren Sie mehr darüber, wie sich mehrere Umgebungen auf die Preise auswirken).
Im Gegensatz zu Upsun gibt es bei Heroku nicht das Konzept der Projekte, und jede Umgebung ist eine separate Anwendung. Heroku verfügt jedoch über eine Funktion namens " Review Apps", die dem Konzept der Vorschauumgebungenvon Upsun ähnelt . Allerdings ist der Prozess sehr viel aufwändiger und umfasst viele manuelle Schritte und Konfigurationen, was ihn weit weniger entwicklerfreundlich macht. Schließlich klont Heroku die Datenbank nicht zusammen mit dem Code der Anwendung, sondern es liegt in der Verantwortung des Entwicklers, einen separaten Prozess zum Laden der Daten in die Review App einzurichten.
Upsun bietet unvergleichliche Einblicke in die Leistung und den Zustand Ihrer Anwendungen, die weit über eine einfache Überwachung hinausgehen. Die Beobachtungstoolsvon Upsun sind intuitiv und liefern klare, umsetzbare Daten. Mit dem integrierten Blackfire können Sie bis auf die Funktionsebene Ihres Codes vordringen, um die Ausführungszeit, Ihre monatliche Rechnung und den CO2-Fußabdruck Ihrer Anwendung zu reduzieren. Upsun bietet alle Ebenen der Beobachtbarkeit und Telemetrie unter einem Dach, auf das alle Beteiligten Zugriff haben und das interne Aufgabenmanagement wesentlich effizienter macht.
Heroku bietet wie viele andere Plattformen grundlegende Telemetriedaten, die vielleicht ausreichen, wenn Sie wissen möchten, wann Sie mehr Speicherplatz benötigen oder wann Sie die Containergröße reduzieren können. Für alles, was darüber hinausgeht, insbesondere für Einblicke in die Leistung der Anwendung selbst, müssen Sie einen externen Dienst wie NewRelic, Datadog oder andere ähnliche kommerzielle Dienste von Drittanbietern integrieren.
Bei der Wahl eines Cloud-Anbieters ist die Preisgestaltung natürlich ein entscheidendes Unterscheidungsmerkmal, das viele Nutzer auf eigene Faust herauszufinden versuchen.
Hier kommt die Berechenbarkeit ins Spiel. Es geht darum, den Kunden alle transparenten Daten zur Verfügung zu stellen, die sie benötigen, um die monatliche Abrechnung selbst zu berechnen oder zumindest im Voraus zu sehen, was am Ende des Monats anfallen würde.
Nutzungsabhängige Preise ändern sich per definitionem von Monat zu Monat, so dass es nicht möglich ist, sie zu 100 % vorherzusagen. Wenn Sie jedoch über einfache Parameter verfügen, mit denen Sie kalkulieren können, erhöht sich die Vorhersehbarkeit, so dass Sie weniger Gefahr laufen, unangenehme Überraschungen zu erleben.
Upsun hat ein völlig transparentes und einfaches Preismodell. Wir stellen Ihnen alles zur Verfügung, was Sie für den Betrieb Ihrer Anwendungen benötigen, und Sie zahlen nur für das, was Sie tatsächlich nutzen. Upsun bietet Ihnen außerdem die Möglichkeit, Ihren Plan nach Belieben und ohne Einschränkungen zu ändern, und stellt Ihnen eine Schätzung für Ihren nächsten Abrechnungszyklus zur Verfügung. So haben Sie immer die Kontrolle und können sich jederzeit einen Überblick verschaffen. Um Ihre monatliche Rechnung nicht aufzublähen, können Sie bei Upsun unterschiedliche Größen für Vorschauumgebungen festlegen, so dass Sie für Testumgebungen nicht die gleichen Ausgaben haben wie für Produktionsumgebungen.
Beim Vergleich von Upsun und Heroku ist zu beachten, dass die Preisgestaltung von Heroku nicht so transparent ist und die Kunden einen langwierigen Prozess durchlaufen müssen, zumal (wie bereits erwähnt) Heroku bei fast allen Details auf Drittanbieter zurückgreift, mit Ausnahme der Datenverarbeitung. Daher kann es für Kunden sehr schwierig sein, sich ein klares Bild davon zu machen, wie ihre monatliche Rechnung aussehen würde.
Unten sehen Sie eine Simulation einer mittelgroßen, geschäftskritischen Webanwendung, die von einem Team aus drei Entwicklern betreut wird, von denen jeder an einer anderen Vorschauumgebung arbeitet.
Sie können sehen, dass die Preise von Upsun und Heroku relativ ähnlich sind, mit einem leichten Vorteil für Upsun. Aber der wirkliche Wert liegt in den beiden Vergleichen, die hier erwähnt werden, aber in der untenstehenden Grafik nicht sichtbar sind:
Bei Upsun ist das, was Sie kaufen, genau das, was Sie bekommen, vor allem, wenn es um Ressourcen geht. Sie haben die Informationen, die Sie brauchen, um Ihre Ausgaben im Voraus zu berechnen. Durch die Verwendung einfacher Werte und Preiseinheiten hat Upsun das einfachste Modell, das ein Cloud-Service haben kann. Da Upsun alle Dienste direkt anbietet (d. h. es müssen keine Dienste von Drittanbietern erworben werden), wird sehr deutlich, wie die Abrechnung aussehen wird.
Im Gegensatz dazu hat Heroku ein undurchsichtiges und ziemlich kompliziertes Konzept von Dynos, das die Ihrem Container zugewiesene Rechenleistung darstellt. Dieser Mangel an Transparenz macht es ziemlich schwierig, datengestützte Entscheidungen über die Menge an Ressourcen zu treffen, die eine Anwendung benötigt, um in verschiedenen Szenarien ordnungsgemäß zu laufen.
Wie oben gezeigt, erwartet Heroku von seinen Nutzern, dass sie Dienste von Drittanbietern kaufen, was die monatlichen Kosten für Cloud-Dienste erhöht - auch wenn diese Dienste nicht direkt von Heroku bereitgestellt werden.
Die Wahl des richtigen PaaS für Ihr Unternehmen ist eine wichtige Entscheidung. Sowohl Upsun als auch Heroku bieten valide Plattformen zur Unterstützung Ihrer Anwendungen. Aber für Entwicklungsteams, die moderne Webanwendungen in einer sich ständig verändernden Umgebungerstellen , bietet Upsun eine äußerst flexible, robuste und transparente Alternative, die Sie in Betracht ziehen sollten.