© best_vector/Shutterstock.com
Windows Developer
Teil 2: Node.js-Applikationen auf Microsoft Azure deployen

Mit TypeScript in die Cloud

Azure PAAS bietet viele Möglichkeiten zum Deployment und Management von Node.js-Applikationen. Wenn man nicht nur Standard-Deployments benötigt, lohnt sich ein genauerer Blick darauf, um die server- und clientseitige Applikationsentwicklung mit Node.js auf Azure zu vereinheitlichen und komfortabler zu gestalten.

Thomas Mahringer


ArtikelserieTeil 1: TypeScript-Applikationen und -Libraries modular und wiederverwendbar gestaltenTeil 2: Node.js-Applikationen auf Microsoft Azure deployen

Im ersten Artikel der Serie haben wir vorrangig die Rolle von JavaScript als Universalsprache für verschiedenste Aufgaben beschrieben und wie man mit TypeScript und Node.js Applikationen erstellt, die sowohl client- als auch serverseitig möglichst wiederverwendbare Komponenten einsetzen [1]. Die Aufteilung der Applikationskomponenten in verschiedene Node.js-Module und das Bundling mit webpack waren ebenfalls ein Thema. Im zweiten Teil geht es nun um das Deployment eines REST API Backends und wie man gegebenenfalls mit den Azure-Kudu-Tools Fehler sucht [2].

Ein möglichst schlanker ALM-Stack

Die Grundstruktur von Node.js-Applikationen, die wir im ersten Artikel beschrieben haben, ist sehr einfach zu verstehen: JavaScript-Files enthalten die Programmierlogik, und im Verzeichnis node_modules befinden sich die von unserer App benötigten und über den Paketmanager npm installierten Module wie z. B. File-Handling oder Datenbanktreiber. Wir haben auch gesehen, wie man während der Entwicklungszeit über npm link lokal installierte Module in seine Applikation einbinden kann, ohne den Umweg über ein Repository gehen zu müssen. Die Node.js-Konfigurationsdateien sind „gewöhnliche“ JSON-Dateien, und der Node.js-Stack ist so ausgelegt, dass wir unsere Apps mit einem Texteditor schreiben könnten. Unser bevorzugter Codeeditor ist das mittlerweile gut bekannte Visual Studio Code, das komplett mit Webtechnologien geschrieben wurde. Für unsere Frontend- und Backend-App verwenden wir zusammenfassend folgende Toolchain:

Visual Studio CodeTypeScriptNode.js und npmNode.js express: Webframework/-server für unsere REST Servicesnpm-Scripts für das automatisierte Kompilieren und Deployment unserer AppGit und Visual Studio Team Services für die Sourcecode-VerwaltungGit für das Deployment nach Azure App ServicesAzure App Services für den Betrieb und das Application-Management

Node.js Express

Der Backend-Teil unserer Applikation stellt REST Services über das Webframework/-server Node.js Express bereit [3]. Express ist sehr leichtgewichtig, startet innerhalb von Sekunden und verfügt dennoch über eine gut ausgebaute Middleware und Zusatztools, die es perfekt für einen effizienten Entwicklungszyklus machen. Mit dem zusätzlichen Helfer nodemon [4] startet Express z. B. automatisch neu, sobald Dateien innerhalb des App-Verzeichnisses geändert...

Windows Developer
Teil 2: Node.js-Applikationen auf Microsoft Azure deployen

Mit TypeScript in die Cloud

Azure PAAS bietet viele Möglichkeiten zum Deployment und Management von Node.js-Applikationen. Wenn man nicht nur Standard-Deployments benötigt, lohnt sich ein genauerer Blick darauf, um die server- und clientseitige Applikationsentwicklung mit Node.js auf Azure zu vereinheitlichen und komfortabler zu gestalten.

Thomas Mahringer


ArtikelserieTeil 1: TypeScript-Applikationen und -Libraries modular und wiederverwendbar gestaltenTeil 2: Node.js-Applikationen auf Microsoft Azure deployen

Im ersten Artikel der Serie haben wir vorrangig die Rolle von JavaScript als Universalsprache für verschiedenste Aufgaben beschrieben und wie man mit TypeScript und Node.js Applikationen erstellt, die sowohl client- als auch serverseitig möglichst wiederverwendbare Komponenten einsetzen [1]. Die Aufteilung der Applikationskomponenten in verschiedene Node.js-Module und das Bundling mit webpack waren ebenfalls ein Thema. Im zweiten Teil geht es nun um das Deployment eines REST API Backends und wie man gegebenenfalls mit den Azure-Kudu-Tools Fehler sucht [2].

Ein möglichst schlanker ALM-Stack

Die Grundstruktur von Node.js-Applikationen, die wir im ersten Artikel beschrieben haben, ist sehr einfach zu verstehen: JavaScript-Files enthalten die Programmierlogik, und im Verzeichnis node_modules befinden sich die von unserer App benötigten und über den Paketmanager npm installierten Module wie z. B. File-Handling oder Datenbanktreiber. Wir haben auch gesehen, wie man während der Entwicklungszeit über npm link lokal installierte Module in seine Applikation einbinden kann, ohne den Umweg über ein Repository gehen zu müssen. Die Node.js-Konfigurationsdateien sind „gewöhnliche“ JSON-Dateien, und der Node.js-Stack ist so ausgelegt, dass wir unsere Apps mit einem Texteditor schreiben könnten. Unser bevorzugter Codeeditor ist das mittlerweile gut bekannte Visual Studio Code, das komplett mit Webtechnologien geschrieben wurde. Für unsere Frontend- und Backend-App verwenden wir zusammenfassend folgende Toolchain:

Visual Studio CodeTypeScriptNode.js und npmNode.js express: Webframework/-server für unsere REST Servicesnpm-Scripts für das automatisierte Kompilieren und Deployment unserer AppGit und Visual Studio Team Services für die Sourcecode-VerwaltungGit für das Deployment nach Azure App ServicesAzure App Services für den Betrieb und das Application-Management

Node.js Express

Der Backend-Teil unserer Applikation stellt REST Services über das Webframework/-server Node.js Express bereit [3]. Express ist sehr leichtgewichtig, startet innerhalb von Sekunden und verfügt dennoch über eine gut ausgebaute Middleware und Zusatztools, die es perfekt für einen effizienten Entwicklungszyklus machen. Mit dem zusätzlichen Helfer nodemon [4] startet Express z. B. automatisch neu, sobald Dateien innerhalb des App-Verzeichnisses geändert...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang