Was ist Heroku

Das ist Heroku.

Ein weiterer leistungsstarker Cloud-Anwendungsplatz ist Heroku. Bei Heroku Enterprise erstellen Sie für Ihre Kunden Anwendungen in der Programmiersprache und mit den von Ihnen bevorzugten Tools. Wenn Sie eine Webanwendung in Ihrer Lieblingssprache zusammenstellen und kostenlos veröffentlichen wollen, bietet Heroku viel Komfort.

ein technischer Überblick - Profile, Dynos und Slugs

Wer in "früheren" Tagen eine Webapplikation erstellen wollte, musste sich um vieles kümmern: Die heute entwickelten Applikationen können als WAR- oder EAR-Archiv zusammengefasst und in Behältern ausgeführt werden, die von Web- oder Anwendungs-Servern bereitstehen. Zusätzlich zu einer Runtime-Umgebung, die es der Anwendung erlaubt, mit einem Kunden (d.h. einem Browser) über HTTPS zu interagieren, bietet dieser Service in der Regel viel mehr.

Bei einem solchen Anwendungsszenario werden die Tasks zwischen einem Entwicklerteam - das die eigentliche Applikation erzeugt - und einem Verwaltungsteam geteilt. Eine Vertreterin dieser Cloud-Applikationsplattformen ist Heroku. Im Folgenden wird untersucht, ob und wie es Heroku gelungen ist, die Voraussetzungen für eine solche Plattformierung zu schaffen. Die Entwicklung kann sich ganz auf die logische und inhaltliche Seite der aktuellen Applikation ausrichten.

Die Entwicklung von Cloud-Anwendungen reduziert die Implementierungs- und Betriebskosten der Anwendungen. Du stellst zusammen, was du brauchst und bezahlst nur für das, was du benutzt. Was Sie bei der Entwicklung einer Applikation auf Heroku oder bei der Migration nach Heroku berücksichtigen sollten, wollen wir in diesem und anderen Beiträgen erklären.

Erstmalig: Wie arbeitet Heroku tatsächlich? Bei Heroku handelt es sich um eine mehrsprachige Website, die einer der Vertreter von SaaS ("Platform as a Service") ist. Bei der zu verwendenden Applikation stellt die Herkunftsplattform Heroku eine Mischung aus den Resourcen des zugrundeliegenden Betriebsystems, einer Runtime-Umgebung (je nach Anwendungssprache) und anderer unterstützender Infrastruktur in Gestalt von Add-ons bereit.

In Heroku besteht die Mýglichkeit, Applikationen in unterschiedlichen Sprachversionen wie Rubin, Knoten. js, Java, Phyton, Skala, Go und PHP in die Wolke zu stellen, dort zu betreiben und zu verwalten. Eine Heroku-Applikation ist als eine Ansammlung von Quelltext, Ressourcendateien und Build-Skripten für ein bestimmtes Build-System (z.B. für Java ) aufbereitet.

In Heroku werden in der Regel Standard-Ansätze und nicht herokusspezifische Methoden zur Lösung von Abhängigkeitsproblemen und zum Hinzufügen von benötigten Bibliotheken usw. eingesetzt. Welche Voraussetzungen muss Heroku erfüllen, um eine Applikation zum Einsatz zu bekommen? Dies sollte in der Regel ausreichen, um die Applikation zu erstellen, zu implementieren und zu bedienen.

Heroku ermittelt über das Protokoll die auszuführenden Bestandteile der App, wo sie sich befinden und welcher Typ sie sind. Dieser Datensatz ist Teil unseres "Splash" Heroku Buttons, der im entsprechenden Lithub Repository vorhanden ist. Um dies in Heroku zu ermöglichen, muss die Grafikdatei auch genau wie "Procfile" heißen und im Stammverzeichnis der App gespeichert sein:

Damit eine Anwendung in Heroku laufen kann, muss sie zunächst nach Heroku transferiert werden. Das Hauptwerkzeug für die Bereitstellung von Anwendungen auf der Heroku-Plattform ist die App. bit. Nach Erhalt des Quellcodes der Software durch Heroku wird deren Aufbau eingeleitet. Dies wird über einen Webhook von der Firma L'Github realisiert, der nach einem neuen Push auf den Heroku Fernwartungszweig der Software zugreift.

Für den aktuellen Bau benutzt Heroku so genannten buildpack. In Heroku gibt es für die in Heroku unterstützen Sprachversionen eine Anzahl von Standard-Builds, die je nach Anwendungstyp vollautomatisch ablaufen. Vor der Beantwortung dieser Fragestellung noch ein paar weitere Grundlagen über das Funktionieren von Heroku: Die Heroku Cloud Development Platform bildet die Basis für die Entwickung, Implementierung und Fehlersuche von Cloud-basierten Applikationen und setzt sich aus den nachfolgenden Bausteinen zusammen:

Das Plattform-Stack: Enthält Kernkomponenten wie das Betriebsystem (derzeit Linux Ubuntu 15. x), die Runtime-Umgebung (z.B. Knoten. js, Ruby, Java, PHP) und Unterstützungsbibliotheken. Ein Routing-Mechanismus für Anfragen: Empfangene Anfragen werden akzeptiert und verlässlich an den jeweiligen Bearbeitungsprozess der Anfrage weitergegeben. Das Add-on Ökosystem: Dies ermöglicht die Anbindung von Drittanbieter-Diensten an die App.

Das Heroku Platform APIs: Dies ist eine Webservice-Schnittstelle, mit der Heroku-Funktionen aus der Datenbank heraus aufgerufen werden können. Wenn Sie Ihre Anwendungen auf Heroku bereitstellen wollen, sollten Sie sich auch mit dem Begriff der sogenannten Dynamos bekannt machen. Dies ist ein leichter Unix-Container, der jede beliebige Form von Prozessen ausführen kann, die von der Anwendungsumgebung bereitgestellt werden.

Die in Heroku als Dyno-Manifold bezeichnete Ablaufumgebung für Geschäftsprozesse erlaubt die Durchführung unterschiedlicher Dynamotypen. Eingehende Anfragen (weitergeleitet über die Heroku-Router) werden von uns entgegengenommen und entsprechend beantwortet. "Der Slug-Compiler erzeugt etwas Executable aus dem zugrundeliegenden Quelltext, indem er die aktuelle Applikation aufbaut, die notwendigen Binärdateien verknüpft und alles für eine schnelle Bereitstellung kompressiert.

Der Slug Compiler ist das Endprodukt, das Heroku dann Slug nennt. Slog sind kompressierte Exemplare der aktuellen Applikation, die für eine rasche Distribution an die jeweiligen Dyno(s) ausgelegt sind. Aber es gibt noch mehr zu einer gelungenen Applikation, als nur den Quellcode zu verfassen und die Applikation zum Starten zu bringen.

Heroku ist auch hier auf dem neuesten Stand. P.S.: Wir haben Beispiel-Code von unserer SPLASH Heroku-Taste benutzt. Dies ist ein Entwurf für Web Apps mit Java, Spring, Hibernate und AngularJS auf einem einzigen Dynamo auf Heroku.

Mehr zum Thema