- Funktionen
- Pricing

Wie übersetzt man eine Heroku-Procfile-Datei in Upsun-Dienstdefinitionen?
Die Übersetzung eines Heroku-Procfiles in Upsun beinhaltet die Zuordnung von „Prozesstypen“ (Web, Worker, Cron) zu separaten Anwendungsblöcken innerhalb einer „.upsun/config.yaml“-Datei. Während Heroku ein Procfile und Buildpacks verwendet, um Laufzeitbefehle zu definieren, nutzt Upsun eine deklarative YAML-Struktur, um Laufzeiten, Build-Hooks und explizite Service-Beziehungen (wie PostgreSQL oder Redis) zu definieren. Durch diese Umstellung wechselt die Anwendung von prozessbasierter Skalierung (Dynos) zu ressourcenbasierter Containerisierung, was eine feinere Kontrolle über CPU und RAM ermöglicht.
TL;DR
|
Das Wichtigste: Die Migration von einem Procfile erfordert die Neudefinition von Prozesstypen als isolierte Anwendungscontainer für eine bessere Ressourceneffizienz.
In einem Heroku-Procfile findest du vielleicht eine einfache Zeile wie „web: bundle exec rails server“. Bei Upsun wird diese Logik in die „.upsun/config.yaml“ verlagert. Das ist nicht nur eine syntaktische Änderung. Es ist ein architektonisches Upgrade.
nodejs:22 oder python:3.12).web“-Prozess aus deiner Procfile-Datei wird in Upsun zur Anweisung „web.commands.start“.| Heroku-Procfile-Element | Upsun-.upsun/config.yaml-Äquivalent |
web: [command] | web.commands.start: [command] |
worker: [command] | applications.[name].commands.start: [command] |
| Buildpacks | type: [runtime] + hooks.build |
| Add-ons | services: [service_name] |
Das Wichtigste auf einen Blick: Der Wechsel von „Black-Box“-Buildpacks zu expliziten Build-Hooks sorgt für schnellere, reproduzierbare Deployments.
Einer der größten Stolpersteine bei der Migration ist die „Magie“ der Buildpacks. Upsun ersetzt diese durch transparente Build- und Deploy-Hooks.
.upsun/config.yaml“-Datei definierst du einen Abschnitt „hooks.build“, in dem du explizit „npm install“ oder „composer install“ ausführst.Das Wichtigste auf einen Blick: Explizite Service-Beziehungen in .upsun/config.yaml verhindern die bei Legacy-PaaS-Migrationen häufig auftretenden „stillen Ausfälle“.
In Heroku werden Datenbankverbindungen oft über unsichtbare Umgebungsvariablen verwaltet. Upsun verlangt, dass du eine „relationship“ zwischen deiner Anwendung und ihren Diensten (z. B. einem PostgreSQL- oder Redis-Dienst) definierst.
Unterstützt Upsun mehrere Prozesse im Procfile-Stil in einem Projekt?
Ja. Du kannst mehrere Anwendungen innerhalb eines einzigen Projektverzeichnisses definieren. Jede kann ihr eigenes Ressourcenprofil (CPU/RAM) und ihre eigenen Skalierungsregeln haben, sodass du eine komplexe Heroku-Konfiguration mit viel höherer Effizienz nachbilden kannst.
Wie gehe ich bei der Migration mit Umgebungsvariablen um?
Variablen, die zuvor in der Heroku-Benutzeroberfläche „Config Vars“ zu finden waren, können über die Upsun-CLI oder die Konsole verwaltet werden. Service-Anmeldedaten (wie Datenbank-URLs) sollten jedoch niemals fest codiert werden; sie werden automatisch über die in deiner „.upsun/config.yaml“ definierte „relationships“ eingefügt.
Kann ich Buildpacks auf Upsun weiterhin verwenden?
Obwohl Upsun aus Gründen der Performance und Übersichtlichkeit explizite Laufzeitdefinitionen bevorzugt, ist die Plattform so konzipiert, dass sie mit der Standard-Containerisierungslogik umgehen kann. Die meisten Teams stellen fest, dass die Umstellung auf explizite „hooks“ in der „.upsun/config.yaml“ die Build-Zeiten erheblich verkürzt und „magische“ Fehler deutlich reduziert.