Heutzutage ist das Spektrum an Technologien in der IT-Branche breit gefächert und sehr vielfältig. Als Berufseinsteiger ist es meistens schwierig sich zu orientieren und die eigenen Interessen zu erforschen. Während meiner Studienzeit habe ich einige Unternehmen kennengelernt, die auf unterschiedlichste Technologien aufbauen und eigene Philosophien entwickelt haben. Für manche dieser Unternehmen war die Cloud das „große Böse“ und jegliche Infrastruktur musste On-Premises, also in eigenen Server-Räumen betrieben werden. Ein langjähriger IT-Berater überraschte mich einst mit der Aussage „Wozu Cloud und wieso schreibt heutzutage noch jemand C#?“.
Die folgende Artikelserie ist deshalb an diejenigen gerichtet, die noch nie mit der Cloud in Berührung gekommen sind und einen kleinen Einblick in die Microsoft-Welt suchen. Gemeinsam werden wir die Infrastruktur für eine API in Microsoft Azure konfigurieren und diese für eine beliebige Frontend-Anwendung entwickeln und bereitstellen. Hierzu eine kleine Übersicht aller Kapitel der Artikelserie:
Beginners-Guide – API-Entwicklung in der Microsoft-Welt (Teil 1): Architektur und Infrastruktur
Beginners-Guide – API-Entwicklung in der Microsoft-Welt (Teil 2): .Net 5.0 Projektstruktur
Beginners-Guide – API-Entwicklung in der Microsoft-Welt (Teil 3): Entity Framework Migration
Beginners-Guide – API-Entwicklung in der Microsoft-Welt (Teil 4): Service and Controller
Damit ihr mitmachen könnt, registriert euch einfach hier
mit einem kostenlosen Azure-Konto. Dabei erhaltet Ihr 170€-Guthaben und 1 Jahr Zugriff auf viele beliebte Dienste in Azure.
Die Architektur
Die Architektur für das Beispiel ist sehr simpel gehalten: Ein Nutzer bedient eine einfache Frontend-Anwendung, welche durch API-Aufrufe die benötigten Daten von unserer .NET 5.0-Anwendung erhält. Diese werden aus einer SQL-Datenbank in Azure bezogen und aufbereitet.

Infrastruktur – Backend
Datenbank und Server können in Azure schnell erstellt und konfiguriert werden. Während man On-Premises noch Stunden mit Aufsetzen und Einrichten eines neuen Servers verbringen musste, können etliche Templates im Azure Marketplace ausgewählt und genutzt werden – wie bei der Installation einer App auf dem Smartphone. So ist man nur ein paar Mausklicks entfernt von einem fertig konfigurierten SQL-Server für unsere Datenbank.


Nach wenigen Sekunden ist der Server provisioniert und einsatzbereit. Ein weiteres Template aus dem Marketplace lässt uns eine Datenbank auf dem Server erstellen. Wichtig hierbei ist die Konfiguration der Rechenleistung sowie Speicherkapazität, damit die Kosten in einem beschaulichen Rahmen bleiben. Als Standard wählt Microsoft hier eine dediziert bereitgestellte Instanz mit 32GB Arbeitsspeicher und mindestens 2 virtuellen Kernen zu einem stolzen Preis von ca. 240€ pro Monat aus. Für unsere Testanwendung brauchen wir jedoch keine solchen Kapazitäten und entscheiden uns für das DTU-basierte Kaufmodell. Die Abrechnung erfolgt dann basierend auf der Anzahl von Datenbanktransaktionseinheiten und kostet uns nur 5€ im Monat [2]. Dadurch sind die Kosten flexibel für den individuellen Gebrauch anpassbar – man bezahlt nur für das, was man auch verbraucht.


Damit unsere API später genutzt werden kann, benötigen wir eine Web-App. Durch die Templates bleibt uns auch hier dieser aufwendige Teil erspart und wir können mit wenigen Klicks eine Web-App erstellen. Da wir im weiteren Verlauf die API in .NET 5 entwickeln werden, wählen wir dieses als Runtimestapel aus und benutzen den kostenlosen F1-Tarif in unserem App Service-Plan. Auch hier wird wahlweise für intensiver genutzte Anwendungen mehr Rechenleistung über weitere Tarife angeboten.

Infrastruktur – Frontend
Für das Frontend legen wir ein Speicherkonto an, in dem der kompilierte Code sowie zusätzliche Inhalte wie Bilder für die spätere Webseite gehostet werden. Bei lokal redundantem Speicher sind die Kosten vernachlässigbar, da pro GB nur ca. 0,07 Cent (kein Euro!) im Monat fällig werden. Den Preisrechner für Speicherverbrauch in Azure findet ihr unter [3]. Auch hier gilt wieder das Prinzip: Nur bezahlen, was man auch braucht.


Wie das Frontend nun veröffentlicht wird und was dazu noch konfiguriert werden muss, findet Ihr in Teil 5 dieser Artikelserie.
Fazit
In Microsoft Azure lässt sich in kürzester Zeit eine Infrastruktur über vorgefertigte Templates zusammen klicken. Wichtig hierbei ist es, die Kosten im Blick zu haben, um unnötige Gebühren zu vermeiden. Nun können wir direkt mit der Implementierung unserer API beginnen. Wie man am besten eine API aufbaut und wie einfach die Bereitstellung dieser ist, erfahrt ihr im zweiten Teil der Blogserie.