Schnelleinstieg SAP Business Technology Platform (BTP) – Services und Integration - Tobias Steckenborn - E-Book

Schnelleinstieg SAP Business Technology Platform (BTP) – Services und Integration E-Book

Tobias Steckenborn

0,0
19,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Machen Sie sich mit den wichtigsten Aspekten der Cloud-Entwicklung mittels SAP Business Technology Platform (BTP) – ehemals SAP Cloud Platform – vertraut. Erfahren Sie, wie Sie die Kernkomponenten dieser offenen Daten- und Entwicklungsplattform auf Ihre geschäftlichen Herausforderungen anwenden. Nutzen Sie zudem die Möglichkeit, ihre heutige gewachsene IT-Landschaft sinnvoll zu erweitern sowie On-Premises- und Cloud-Landschaften miteinander zu verbinden.

In diesem Schnelleinstieg tauchen Sie ein in die Vorteile von Cloud-Entwicklung und die Unterschiede gegenüber klassischen ABAP-Applikationsservern in der On-Premises-Welt. Sie erfahren, mit welchen Servicemodellen Software in der Cloud ausgeführt werden kann bzw. welche Programmiermodelle empfohlen werden. Hierzu lernen Sie die der BTP zugehörigen Laufzeitumgebungen kennen, allen voran Cloud Foundry, und widmen sich dann ausgiebig der Erstellung von Cloud-nativen Anwendungen mithilfe von SAP Business Application Studio (BAS) sowie den verschiedenen Bereitstellungsvarianten.

Um die theoretischen Konzepte und praktischen Implementierungsmethoden zu verstehen, werden Ihnen exemplarisch verschiedene der verfügbaren Services zusammen mit einer leicht nachvollziehbaren Beispielanwendung präsentiert. Ein spannendes Buch für Beratungsunternehmen und interne IT-Abteilungen von Anwenderunternehmen.


  • Anwendungsentwicklung in der Cloud
  • Verwendung des SAP Cloud Application Programming Model
  • Unterstützende Services der Cloud-Foundry-Umgebung
  • Überblick über Integrationsmöglichkeiten

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 225

Veröffentlichungsjahr: 2022

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Tobias Steckenborn

Schnelleinstieg SAP Business Technology Platform® (SAP BTP)

Services und Integration

Tobias SteckenbornSchnelleinstieg SAP Business Technology Platform® – Services und Integration

ISBN:978-3-96012-754-3 (E-Book)

Lektorat:Anja Achilles

Korrektorat:Team Wallmow 65

Coverdesign:Philip Esch

Coverfoto:© AndSus | ID 227241901 – stock.adobe.com

Satz & Layout (E-Book):Johann-Christian Hanke

 

1. Auflage 2022

© Espresso Tutorials GmbH, Gleichen 2022

URL:www.espresso-tutorials.de

 

Das vorliegende Werk ist in allen seinen Teilen urheberrechtlich geschützt. Alle Rechte sind vorbehalten, insbesondere das Recht der Übersetzung, des Vortrags, der Reproduktion und der Vervielfältigung. Espresso Tutorials GmbH, Bahnhofstr. 2, 37130 Gleichen, Deutschland.

Ungeachtet der Sorgfalt, die auf die Erstellung von Text und Abbildungen verwendet wurde, können weder der Verlag noch die Autoren oder Herausgeber für mögliche Fehler und deren Folgen eine juristische Verantwortung oder Haftung übernehmen.

Feedback:Wir freuen uns über Fragen und Anmerkungen jeglicher Art. Bitte senden Sie diese an: [email protected].

Inhaltsverzeichnis

Cover
Titelseite
Copyright / Impressum
Vorwort
Das erwartet Sie im Buch
Danksagung
1 Die Vorteile der Cloud
1.1 Vorteile durch Cloud Computing
1.2 Unterscheidung und Zusammenspiel der Servicemodelle
1.2.1 Infrastructure as a Service
1.2.2 Containers as a Service
1.2.3 Platform as a Service
1.2.4 Functions as a Service
1.2.5 Software as a Service
1.3 Warum PaaS eine ausgezeichnete Wahl für Entwickler ist
2 Kernelemente der SAP Business Technology Platform
2.1 Anwendungsbereiche der SAP BTP
2.1.1 Database & Data Management
2.1.2 Analytics
2.1.3 Intelligent Technologies
2.1.4 Application Development & Integration
2.1.5 Fazit
2.2 Erstellen eines Testkontos
2.2.1 Global Account
2.2.2 Subaccount
2.2.3 Space
2.3 Laufzeitumgebungen der SAP BTP
2.3.1 SAP BTP, Cloud Foundry Runtime
2.3.2 SAP BTP, ABAP environment
2.3.3 SAP BTP, Serverless Runtime
2.3.4 SAP BTP, Kyma Runtime
3 Erstellen von Cloud-nativen Anwendungen
3.1 Anforderungen an Cloud-native Anwendungen
3.1.1 Codebase
3.1.2 Abhängigkeiten
3.1.3 Konfiguration
3.1.4 Unterstützende Dienste
3.1.5 Build, release, run
3.1.6 Prozesse
3.1.7 Bindung an Ports
3.1.8 Nebenläufigkeit
3.1.9 Einweggebrauch
3.1.10 Dev-Prod-Vergleichbarkeit
3.1.11 Logs
3.1.12 Admin-Prozesse
3.1.13 Erweiterung der Zwölf-Faktoren-Methode
3.1.14 Zusammenfassung Zwölf-Faktoren-App
3.2 Programmiermodelle
3.3 Einrichtung der Entwicklungsumgebung
3.3.1 Einrichtung des SAP BAS
3.3.2 Warum SAP BAS?
3.4 Anlegen einer SAP-CAP-Anwendung
3.4.1 Anlage des Projekts aus einer Vorlage
3.4.2 Definition des Domänenmodells
3.4.3 Definieren der Services
3.5 Testen Ihrer Anwendung
3.5.1 Installation von Abhängigkeiten
3.5.2 Starten der Anwendung
3.5.3 Automatisch generierte Übersichtsseite
3.5.4 Lokales Testen mit der REST-Client-Erweiterung
3.5.5 Fazit
3.6 Verwendung unterstützender Cloud-Foundry-Services
3.6.1 Anbinden einer SAP-HANA-Datenbank
3.6.2 Anbinden von SAP Event Mesh
3.6.3 Authentifizierung und Autorisierung mit Daten von SAP BTP
3.7 Zusammenfassung
4 Bereitstellung der Anwendung in der Cloud
4.1 Cloud-Foundry-native Bereitstellung der Anwendung
4.2 SAP-spezifische Bereitstellung der Anwendung mittels MTA
4.3 Automatisierte Bereitstellung mit SAP Continuous Integration and Delivery
4.3.1 Bereitstellen des Anwendungscodes auf GitHub
4.3.2 Einrichten von SAP Continuous Integration and Delivery
4.3.3 GitHub Webhook einrichten
4.3.4 Fazit
4.4 Bereitstellung von Anwendungen mit SAP Cloud Transport Management
4.4.1 Anlage des zweiten Subaccounts/Anpassungen
4.4.2 SAP Cloud Transport Management – Abonnement und Konfiguration
4.4.3 Testen der kombinierten Bereitstellung mit dem SAP-CI/CD-Service und SAP Cloud Transport Management
4.4.4 Fazit
4.5 Anwendungsskalierung
4.6 Anwendungsprotokollierung
4.7 Zusammenfassung
5 Weitere Dienste und Abonnements im Überblick
5.1 SAP Extension Suite – Development Efficiency
5.1.1 SAP Custom Domain Service
5.1.2 SAP Cloud Identity Services – Identity Authentication
5.1.3 Object Store on SAP BTP
5.1.4 SAP Data Privacy Integration
5.1.5 SAP Feature Flags Service
5.1.6 SAP Alert Notification Service for SAP BTP
5.2 SAP Extension Suite – Digital Experience
5.2.1 SAP Forms Service by Adobe
5.2.2 SAP Document Management Service
5.2.3 SAP Conversational AI
5.3 SAP Extension Suite – Digital Process Automation
5.3.1 SAP Workflow Management
5.3.2 SAP Intelligent RPA
5.4 SAP Integration Suite
5.4.1 Integration Suite
5.4.2 Connectivity Service
6 Zusammenfassung und Zukunft
6.1 Was bleibt
6.2 Neue Services entdecken
6.3 Ausblick
A Der Autor
B Disclaimer

Willkommen bei Espresso Tutorials!

Unser Ziel ist es, SAP-Wissen wie einen Espresso zu servieren: Auf das Wesentliche verdichtete Informationen anstelle langatmiger Kompendien – für ein effektives Lernen an konkreten Fallbeispielen. Viele unserer Bücher enthalten zusätzlich Videos, mit denen Sie Schritt für Schritt die vermittelten Inhalte nachvollziehen können. Besuchen Sie unseren YouTube-Kanal mit einer umfangreichen Auswahl frei zugänglicher Videos: https://www.youtube.com/user/EspressoTutorials.

Kennen Sie schon unser Forum? Hier erhalten Sie stets aktuelle Informationen zu Entwicklungen der SAP-Software, Hilfe zu Ihren Fragen und die Gelegenheit, mit anderen Anwendern zu diskutieren: http://www.fico-forum.de.

Eine Auswahl weiterer Bücher von Espresso Tutorials:

Tobias Steckenborn:

Schnelleinstieg in SAP

®

Cloud Platform Workflow

Eik Sunke:

Cloud-Entwicklung in SAP HANA

®

Jörg Böke:

Schnelleinstieg in SQLScript für SAP HANA

®

Viktor Laufer, Rüdiger Deppe:

ABAP-Programmierung unter SAP S/4HANA

®

Johannes Gerbershagen:

Praxishandbuch SAP

®

Gateway

Vorwort

Thomas Stutenbäumer schrieb 2015 in seinem SAP-Praxishandbuch ABAP, dass der ABAP-Programmierer von heute nicht nur detailliertes technisches Wissen über ABAP benötigt, sondern sich auch in die Lage des Anwenders versetzen und dessen Erwartungen verstehen muss. Im SAP-Umfeld ist es seit langem üblich, Anwendungssoftware On-Premises zu entwickeln und SAP-Standardprodukte von Entwicklern und Beratern auf Basis des ABAP-Applikationsservers erweitern und individualisieren zu lassen. Zum ABAP-Applikationsserver gehören eine Entwicklungsumgebung, Modularisierungs- und Schnittstellentechnologien sowie Werkzeuge für das Software-Lifecycle-Management. Damit verfügt der ABAP-Applikationsserver in einem einzigen Tool über alles, was ein Entwickler für die Entwicklung von Anwendungen, von der Quellcodeverwaltung bis zum Transportmanagement, benötigt. Die meisten Entwickler nahmen diesen Aspekt bei der ABAP-Programmierung als gegeben hin und hinterfragten ihn in der Regel nicht weiter.

In Anbetracht der steigenden Popularität von Cloud-Plattformen und abonnementbasierten Vertriebsmodellen wird sich die SAP nicht mehr allein auf diese Form der Closed-Source-Programmierung mit Erweiterungsmodellen verlassen können. Sobald sich Kunden und Partner im Cloud-Umfeld bewegen, werden Entwickler mit Konzepten und Architekturen konfrontiert, die sich von denen der On-Premises-Lösungen unterscheiden. Das Fehlen der bisherigen integralen Entwicklungsumgebung des ABAP-Applikationsservers stellt Entwickler vor ganz neue Herausforderungen.

Für die Cloud-Entwicklung wurden bereits viele Konzepte entwickelt, darunter Microservices, Zwölf-Faktoren-App, Continuous Delivery und DevOps. Entwickler können zur Anwendungserstellung aus verschiedensten Entwicklungssprachen, Frameworks, Werkzeugen und Services wählen. Diese haben jedoch oft nur eine begrenzte Lebensdauer.

Die Geschwindigkeit, mit der sich heutige Unternehmen oder ganze Branchen wandeln, innovative Geschäftsmodelle definiert und neue Fähigkeiten auf den Markt gebracht werden, ist beispiellos. Zudem gilt es, mit den Bedürfnissen der Kunden Schritt zu halten. Anpassungsfähige und flexible moderne Technologien sind notwendig, um die digitale Transformation von Unternehmen Wirklichkeit werden zu lassen. So entstehen ständig neue Services sowie Cloud-Umgebungen, und auch ältere Services werden kontinuierlich an neue Anforderungen angepasst.

Die Rolle der SAP bei diesem Wandel ist, sicherzustellen, dass Unternehmen Zugang zu den jeweils passenden digitalen Technologien haben. Die SAP Business Technology Platform (BTP) ermöglicht es Unternehmen, schnell auf Innovationen zuzugreifen, sie zu entwickeln und einzusetzen, während SAP S/4HANA den stabilen digitalen Kern bildet. Für SAP-Entwickler ist es heute unerlässlich, die Rolle der SAP BTP für die digitale Transformation, ihre Leistungsfähigkeit und ihr Entwicklungspotenzial zu verstehen. Entwickler, die sich mit SAP BTP beschäftigen, sehen sich daher mit folgenden Fragen konfrontiert:

Warum sollte ich eine Cloud-Plattform nutzen?

Wie können wir von der Entwicklung der Cloud-Technologie profitieren?

Wie kann ich Anwendungen in SAP BTP entwickeln?

Wie sollte ich Cloud-native Anwendungen entwickeln?

Welche Schritte sind erforderlich, um SAP-BTP-Anwendungen mit anderen verfügbaren Diensten und Anwendungen zu integrieren?

Dieses Buch bietet Ihnen einen Überblick über SAP BTP. Sie lernen die Grundlagen der Cloud-Entwicklung mit SAP BTP kennen, indem Sie die theoretischen Konzepte und praktischen Implementierungsmethoden verstehen. Ich versuche nicht, jeden Aspekt dieser Plattform abzudecken, sondern zeige Ihnen exemplarisch verschiedene der verfügbaren Dienste zusammen mit einer leicht zu verstehenden Beispielanwendung.

Das Buch ist für Beratungsunternehmen und interne IT-Abteilungen von Anwenderunternehmen nützlich. Architekten, Berater und Entwickler können sich mit SAP BTP als Entwicklungsplattform vertraut machen. Sie lernen, wie sie die Grundlagen von SAP BTP auf ihre geschäftlichen Herausforderungen anwenden, um ihre Cloud-Projekte auf den Weg zu bringen.

Das erwartet Sie im Buch

Das erste Kapitel befasst sich mit der Cloud-Entwicklung und den Vorteilen, die sie bietet.

Kapitel 2 führt Sie in SAP BTP und die zugehörigen Laufzeitumgebungen, insbesondere Cloud Foundry, ein.

In Kapitel 3 widmen wir uns der Erstellung von Cloud-nativen Anwendungen. Sie lernen die Anforderungen an diesen Programmtyp kennen und erfahren, mit welchen Programmiermodellen SAP diesen gerecht wird. Im weiteren Verlauf des Kapitels erstellen Sie eine Anwendung mit dem SAP Cloud Application Programming Model und verknüpfen diese mit Services der SAP Business Technology Platform.

Kapitel 4 macht Sie mit den verschiedenen Bereitstellungsvarianten vertraut und erläutert, wie Sie diese automatisieren können, um Ihre Anwendung auf SAP BTP verfügbar zu machen. Außerdem erhalten Sie einen kurzen Überblick über die Anwendungsskalierung und Protokollierungsoptionen.

Die Kapitel 3 und 4 sind betont praxisorientiert, weshalb ich empfehle, sie in der vorgegebenen Reihenfolge zu lesen. Die Beispielanwendung entwickelt sich von Kapitel zu Kapitel und die Funktionalitäten bauen teilweise aufeinander auf.

Kapitel 5 fasst verschiedene Dienste zusammen, die der Beispielanwendung zusätzliche Funktionalität verleihen können. Dazu gehören etwa SAP Integration Suite und SAP Workflow Management, die selbst ganze Bücher füllen, wie diesbezügliche Werke zeigen. Ich gehe daher nicht im Detail auf die Dienste ein, sondern liste sie auf und gebe Beispiele, wie sie in der Anwendung eingesetzt werden können.

Am Ende des Buches sollten Sie mit den Grundlagen von SAP BTP vertraut sein und wissen, wie Sie weitere Kenntnisse für bestimmte Services selbständig erwerben und anwenden.

Quellcode-Beispiele

Dieses Buch enthält viele Quellcode-Beispiele. Um die Lesbarkeit in Ihrem E-Book-Lesegerät zu verbessern und den Zeilenumbruch korrekt darzustellen, empfehlen wir, den Quellcode im Querformat zu betrachten oder die Schriftgröße kleiner zu zoomen.

Codebeispiele zum Download

Die in diesem Buch verwendeten Codebeispiele werden Ihnen unter https://es-tu.de/kQ71xD zum Download zur Verfügung gestellt. Die zip-Datei enthält eine .tar-Datei sowie eine ausführliche Erläuterung, wie diese zu verwenden ist.

Danksagung

Ohne die Unterstützung von Albert, Alexander, Jannes, Julia, Hidir, Martin, Peter und Tobias, die mich mit Fachwissen, technischem Know-how und ihrem Engagement unterstützt haben, wäre es mir nicht möglich gewesen, dieses Buch zu schreiben. Auch Anja Achilles und weitere Mitarbeiter des Espresso-Tutorials-Teams standen mir mit Rat und Tat zur Seite, überprüften die Inhalte, lektorierten und gestalteten das Buch. Vielen Dank für all eure Unterstützung und euren Beitrag!

Ich hoffe, dass dieses Buch für Sie, lieber Leser, ein guter Begleiter für Ihre ersten Schritte mit der SAP Business Technology Platform sein wird. Aller Anfang ist schwer, aber Sie werden auch das mit Bravour meistern – da bin ich mir sicher. Die Tatsache, dass Sie das Buch gekauft haben, zeigt mir, dass Sie am Lernen interessiert sind, und dieses Interesse wird Sie dazu bringen, jede Herausforderung zu meistern. Sollten Sie einmal nicht weiterkommen, können Sie mich auf LinkedIn oder über eine andere Kommunikationsplattform erreichen. Wie ein afrikanisches Sprichwort sagt: »Wenn du schnell gehen willst, geh allein. Wenn du weit gehen willst, geh mit anderen.«

Beste Grüße und eine erfolgreiche Reise!

Tobias Steckenborn

In den Text sind Kästen eingefügt, um wichtige Informationen besonders hervorzuheben. Jeder Kasten ist zusätzlich mit einem Piktogramm versehen, das diesen genauer klassifiziert:

Hinweis

Hinweise bieten praktische Tipps zum Umgang mit dem jeweiligen Thema.

Beispiel

Beispiele dienen dazu, ein Thema besser zu illustrieren.

Achtung

Warnungen weisen auf mögliche Fehlerquellen oder Stolpersteine im Zusammenhang mit einem Thema hin.

Die Form der Anrede

Um den Lesefluss nicht zu beeinträchtigen, verwenden wir im vorliegenden Buch bei personenbezogenen Substantiven und Pronomen zwar nur die gewohnte männliche Sprachform, meinen aber gleichermaßen Personen weiblichen und diversen Geschlechts.

Hinweis zum Urheberrecht

Sämtliche in diesem Buch abgedruckten Screenshots unterliegen dem Copyright der SAP SE. Alle Rechte an den Screenshots hält die SAP SE. Der Einfachheit halber haben wir im Rest des Buches darauf verzichtet, dies unter jedem Screenshot gesondert auszuweisen.

1   Die Vorteile der Cloud

In diesem ersten Kapitel gebe ich Ihnen einen Überblick über die Möglichkeiten, Software in der Cloud auszuführen. Wir beginnen mit den verschiedenen »… as-a-Service«-Optionen für das Hosting von Cloud-Anwendungen: den sogenannten Cloud-Servicemodellen. Welche Modelle gibt es? Worauf sollten Sie achten und wie passt die SAP Business Technology Platform dazu?

Nehmen wir einmal an, Sie haben Unternehmenssoftware gekauft oder entwickelt. Wo führen Sie diese Software aus? Vor zwei Jahrzehnten war das eine einfache Entscheidung, denn Sie hatten im Wesentlichen nur zwei Optionen: entweder auf einem physischen oder einem virtuellen Server. Mit dem Aufkommen von Cloud Computing eröffnen sich Ihnen mehr Möglichkeiten. Lassen Sie mich damit beginnen, einige Argumente für die Entwicklung in der Cloud zu formulieren. Was spricht dafür? Was genau sind die neuen Möglichkeiten und worauf müssen Sie achten?

1.1   Vorteile durch Cloud Computing

Der Begriff Cloud Computing beschreibt die Bereitstellung von IT-Infrastruktur und Rechenleistung über das Internet. Ein entscheidender Vorteil hierbei ist, dass durch die gemeinsame Nutzung der Infrastruktur Anwendungen schneller, flexibler und mit Kostenvorteilen verfügbar gemacht werden können. So wird unter dem Begriff beispielsweise die technische Infrastruktur von Anbietern wie Alibaba, Amazon, Microsoft oder Google geführt.

Durch die Nutzung derartiger Angebote reduziert sich der Aufwand der Unternehmens-IT zur Gewährleistung von Hardwareverfügbarkeit und Sicherheit. So kann sie sich auf die Erstellung von Anwendungen für die Fachabteilungen konzentrieren. Für Unternehmen gibt es damit mehrere gute Gründe, sich für Cloud-Computing-Angebote zu entscheiden:

Kosten:

Mit Cloud Computing entfallen die Kosten für die Einrichtung und den Betrieb eigener Rechenzentren, Hardware oder IT-Ressourcen zur Verwaltung und Wartung der IT-Infrastruktur. Sie können genau die Dienste oder Infrastruktur nutzen, die sie auch tatsächlich benötigen. Für die Bezahlung existieren zwei gängige Modelle: abonnementbasiert oder verbrauchsabhängig. Damit sinken die Einstiegshürden, und es erfolgt eine Verlagerung von Investitionsausgaben (CapEx) hin zu Betriebsausgaben (OpEx).

Produktivität:

Die Einrichtung und die Verwaltung von Rechenzentren sind in der Regel mit erheblichem Aufwand verbunden. Dazu gehören die Installation von Hardware, die Durchführung von Software-Patches und andere zeitaufwendige IT-Management-Aufgaben. Da sich beim Cloud Computing der Betreiber des jeweiligen Angebots um viele dieser Aufgaben kümmert, können sich die Unternehmen auf wichtigere Geschäftsziele konzentrieren. Mit der Verfügbarkeit von Cloud-Computing-Services auf Abruf und im Self-Service stellen Infrastrukturanbieter schnell große Rechenkapazität zur Verfügung. Dies gibt Unternehmen mehr Flexibilität und reduziert den Planungsdruck in Bezug auf die IT-Hardwarekapazität.

Sicherheit:

Cloud Computing vereinfacht die Datensicherung, Notfallwiederherstellung und Geschäftskontinuität bei gleichzeitiger Senkung der damit verbundenen Kosten. Die Anbieter stellen Richtlinien, Technologien und Kontrollen bereit, die die Sicherheit Ihrer IT-Umgebungen stärken. Dies hilft, Ihre Daten, Anwendungen und Infrastruktur vor potenziellen Bedrohungen zu schützen. Außerdem können Sie Ihre Daten über mehrere redundante Standorte im Netzwerk des Cloud-Anbieters spiegeln. Da der Anbieter Audits durchführt, ergeben sich daraus ebenfalls Vorteile hinsichtlich der Compliance.

Globale Skalierung:

Die Fähigkeit zur elastischen Skalierung ist ein weiterer Vorteil. Ihr System lässt sich, abhängig von Ihrer speziellen Anwendung und Ihrem Cloud-Anbieter, sowohl horizontal als auch vertikal skalieren. Sie können also flexibel mehrere Instanzen Ihrer Anwendung bereitstellen oder Ihrer Anwendung mehr Speicher zuweisen und dadurch den passenden Umfang an IT-Ressourcen zum benötigten Zeitpunkt anbieten. Dabei können Sie den geografischen Standort, an dem Ihre Anwendungen zur Verfügung gestellt werden sollen, abhängig vom Anbieter wählen. Diese Art von geografischer Redundanz wäre für kleinere Unternehmen sonst kaum finanzierbar.

Ein Großteil der Cloud-Computing-Angebote lässt sich in fünf grundlegende Servicemodelle einteilen:

Infrastructure as a Service

(IaaS)

Containers as a Service

(CaaS)

Platform as a Service

(PaaS)

Functions as a Service

(FaaS)

Software as a Service

(SaaS)

Diesen Begriffen bzw. Modellen werden Sie häufig begegnen. Alle bieten unterschiedliche Vorteile und Gründe, warum Sie sie verwenden sollten. Lassen Sie mich die Modelle also beschreiben und ihre empfohlenen Einsatzbereiche skizzieren.

1.2   Unterscheidung und Zusammenspiel der Servicemodelle

Die genannten Servicemodelle sind allesamt praktikable Optionen für spezielle Anwendungsfälle. So gibt es gute Gründe für die Verwendung von Infrastructure as a Service und dafür, Ihre Anwendungen in Container zu packen und sie auf einem Orchestrator laufen zu lassen. Es kann aber genauso von Vorteil sein, Ihren Code auf einer Plattform oder als Funktion laufen zu lassen. Es finden sich gut nachvollziehbare Entscheidungskriterien für das eine oder das andere Modell, die ich Ihnen im Weiteren erläutern möchte.

Keines der Servicemodelle ist für alle Einsatzmöglichkeiten zu empfehlen

Sie sollten darauf achten, dass Sie nicht ein einziges Modell für alle Anwendungsfälle wählen. Für umfassendere Systeme aus mehreren Anwendungen werden Sie in der Praxis oft mehrere Servicemodelle kombinieren.

Jedes Servicemodell bietet seine ganz eigenen Funktionalitäten. Für einen ersten Überblick können Sie den gesamten IT-Stack aufschlüsseln. Gehen wir davon aus, dass Sie einen IT-Stack in neun Schichten unterteilen:

1.   Netzwerk: Schicht des Stacks, die der Software den Austausch von Informationen und Daten mit anderen Rechnern ermöglicht

2.   Speicherplatz: Speicherschicht, in der die Anwendungsdaten und die Daten des Betriebssystems abgelegt werden

3.   Server: physikalischer Server mit CPUs und Speicher

4.   Virtualisierung: Entkopplung zwischen physischen Servern und virtuellen Maschinen

5.   Betriebssystem: grundlegende rechnerische und administrative Funktionen

6.   Datenbanken: effiziente, konsistente und dauerhafte Speicherung großer Datenmengen

7.   Laufzeiten und Bibliotheken: sofortige Bereitstellung von Programmierschnittstellen und Grundfunktionen; Dienstprogramme (Bibliotheken) bieten fertige Funktionen

8.   Sicherheit und Integration: Dienste und Werkzeuge zum Schutz der Anwendung vor unberechtigtem Zugriff

9.   Anwendung

Wenn Sie die einzelnen Bereiche in Hinblick auf die Verantwortlichkeiten des Cloud-Service-Anbieters im jeweiligen Servicemodell betrachten, entsteht eine Treppe (siehe Abbildung 1.1). Von IaaS zu SaaS steigt die Verantwortung des Cloud-Service-Providers und sinkt die des Kunden. Für den Kunden bedeutet dies eine reduzierte Komplexität und erhöhte Effizienz. Diesen Vorteilen steht jedoch eine Abnahme des Gestaltungsspielraums für den Kunden gegenüber.

Abbildung 1.1: Servicemodelltreppe

Eine andere Perspektive erhalten Sie, wenn Sie das Zusammenspiel der Servicemodelle betrachten. Die Servicemodelle bauen aufeinander auf und bedingen sich gegenseitig. Deshalb werden sie auch als Cloud Computing Stack bezeichnet (siehe Abbildung 1.2):

IaaS

bildet die unterste Schicht des Cloud Computing Stacks, da es Recheninfrastruktur als Service anbietet. Je nach Bedarf, z.B. zur Bewältigung von Lastspitzen, können Sie Rechenleistung und Speicher für eine Anwendung nutzen, ohne selbst permanent die maximale Rechenleistung vorhalten zu müssen.

CaaS

-Lösungen sind eine Teilmenge von IaaS. Sie lassen sich zwischen IaaS und PaaS einordnen, da sie auf IaaS basieren und Teil von PaaS-Lösungen sein können.

PaaS

läuft auf der virtualisierten Infrastruktur eines IaaS-Anbieters, die aus Speicher, Netzwerkkomponenten und Rechenleistung besteht, sodass die angebotenen Dienste nutzungsabhängig skalierbar sind. Um mehr Kontrolle über die Softwarebereitstellung zu ermöglichen, können PaaS auch CaaS-Lösungen und damit Container nutzen.

FaaS

-Angebote werden typischerweise auf PaaS- oder CaaS-Lösungen ausgeführt.

SaaS

-Lösungen wiederum können auf allen bisher genannten Servicemodellen basieren.

Abbildung 1.2: Cloud Computing Stack

Ein grundsätzliches Verständnis der Servicemodelle und ihrer Unterschiede wird Ihnen helfen, das für Ihre aktuellen Geschäftsziele am besten geeignete zu wählen. Ich möchte Ihnen daher die einzelnen Modelle etwas genauer vorstellen.

1.2.1   Infrastructure as a Service

Bei IaaS geht es um die Bereitstellung von reiner Rechenleistung auf Abruf. Es beschreibt eine API-fähige Infrastruktur, mit der Sie auf einer grundlegenden Infrastruktur aufbauen können. Die Bereitstellung dieser Rechenleistung ist elastisch und wird in der Regel an die Anforderungen Ihrer Anwendungsarbeitslasten angepasst.

Da Sie den größten Teil der Verantwortung übernehmen und auf einer Infrastrukturebene arbeiten, bietet Ihnen dieses Modell große Flexibilität. Sie erhalten viele Vorteile: von On-Demand-Kapazität und API-Fähigkeit für die Automatisierung bis hin zur schnellen Skalierung auf der Ebene der virtuellen Maschinen. Sie können nahezu alles auf dieser Infrastruktur betreiben. Aber es verlangt auch Kompromisse. Denn Sie übernehmen einen großen Teil der Verantwortung, indem Sie vom Betriebssystem aufwärts alles verwalten.

Der Anbieter des Service betreibt die Hardware, richtet das Rechenzentrum ein und kümmert sich um die Kühlung und Stromversorgung. Sie sind für die Erstellung von VM-Images sowie die Anbindung von Servern verantwortlich, um diese virtuellen Maschinen für Ihre Anwendungen vorzubereiten. Diese Anwendungen erfordern die Installation von Treibern oder die Konfiguration anspruchsvoller Webserver, Softwarepakete und mehr. Sie müssen nicht nur patchen und die richtige Netzwerktopologie einrichten, sondern auch dafür sorgen, dass Sie die verschiedenen Server in Ihrer Infrastruktur über eine Art Lastausgleich verbinden.

Wann empfiehlt sich IaaS?

Bevor Sie sich für IaaS entscheiden, sollten Sie darüber nachdenken, welche Kontrolle und Flexibilität Sie in Bezug auf die Verwendung von Hardware und die Bereitstellung von Anwendungen benötigen. Falls Sie ein hohes Maß an Kontrolle und Flexibilität benötigen, sind dies vernünftige Indizien für den Einsatz von IaaS. Wenn Sie jedoch Anwendungen schnell und kostengünstig mit einem kleinen Team bereitstellen möchten, die Details der Hardware und der Bereitstellung für Sie aber zweitrangig erscheinen, sollten Sie besser eine geeignetere Option wählen.

1.2.2   Containers as a Service

Container sind eine beliebte Methode, um Software zu verpacken und in verschiedenen Umgebungen bereitzustellen. CaaS-Angebote konzentrieren sich auf die Orchestrierung derart containerisierter Software. Da sich die Container, anders als beispielsweise eine VM, das Betriebssystem teilen, ergeben sich weitere Vorteile: ein reduzierter Speicherplatzbedarf und eine geringere Startzeit. Demnach erhalten Sie auch bei CaaS On-Demand-Kapazität und schnelle Skalierung.

Angebote dieses Servicemodells sind in der Regel nicht so rudimentär wie reine IaaS-Modelle. Sie bieten oft zusätzliche Erleichterungen für die Softwareentwicklung, wie z.B. die Verwaltung von Secrets, beispielsweise Passwörtern und Zertifikaten, oder zusätzliche Komponenten, wie die Erkennung nutzbarer Dienste.

CaaS verwalten Ihre Container-Images und integrieren die verschiedenen Komponenten, aus denen Ihre Anwendung besteht. Dabei müssen Sie immer noch den zugrunde liegenden Server-Stack und sogar den Anwendungs- und Webserver-Stack innerhalb des Containers ausführen, da Sie sozusagen einen kompletten IT-Stack innerhalb eines Container-Images betreiben.

Ein solches Modell eignet sich für eine breite Palette von Anwendungsfällen. Dazu gehört beispielsweise der Betrieb von kommerziellen Softwarepaketen. Ebenso gibt es eine wachsende Zahl von Datenbanken, die in einem Container laufen. Kurzlebige Software ist ebenfalls ein geeigneter Anwendungsfall, da man Container schnell einrichten, starten und stoppen kann. Das Verschieben von Anwendungen von einer IT-Umgebung in eine andere, ohne sie neu zu gestalten, kann ebenfalls praktikabel sein. Sie würden dies als Lift and Shift von Legacy-Anwendungen in die Cloud bezeichnen.

Worin besteht der Unterschied zwischen IaaS und CaaS?

Sie können sich CaaS als eine Untermenge von IaaS vorstellen; eine Abstraktionsschicht, die die Verwaltung von Softwareumgebungen erleichtert und gleichzeitig ein hohes Maß an Kontrolle darüber bietet, wie Anwendungen ausgeführt werden. Im Vergleich zu einem reinen IaaS-Ansatz reduziert die Verwendung von CaaS die Komplexität für Entwickler. Allerdings müssen sich diese immer noch intensiv mit der zugrunde liegenden Infrastruktur ihrer Anwendung auseinandersetzen.

1.2.3   Platform as a Service

Platform as a Service als Begriff ist unscharf. Darunter fallen codeorientierte Plattformen wie Cloud Foundry, auf denen Sie Anwendungen programmieren, erstellen und bereitstellen können, aber auch eine Reihe restriktiver Lösungen, bei denen Sie Softwarelösungen mit wenig oder gar keinem Code in einer abstrakten Sandbox anfertigen.

PaaS deckt demnach das Spektrum von codeorientierten bis hin zu No-Code-Plattformen ab. Diese Ansätze eint der Versuch, eine Ebene über die Infrastruktur hinauszugehen. Der Fokus liegt auf einer Anwendungsschicht, auf der Sie Applikationen bereitstellen und verwalten. Sie müssen sich weder um die Infrastruktur noch um die Einrichtung von Load Balancing (Lastverteilung) oder Netzwerken kümmern.

PaaS-Lösungen bieten Zugang zu Ressourcen, die für die Bereitstellung einer breiten Palette von Softwarelösungen benötigt werden, angefangen bei einfachen cloudbasierten Programmen bis hin zu ausgereiften Cloud-gestützten Unternehmensanwendungen. Somit entfallen sowohl die Kosten als auch die Komplexität von Erwerb und Verwaltung der Softwarelizenzen, der zugrunde liegenden Infrastruktur und Middleware, der Container-Orchestratoren wie Kubernetes oder der Entwicklungswerkzeuge und anderen Ressourcen. Zu den Vorteilen dieser Schicht gehören On-Demand-Kapazität, sehr schnelle Skalierung und spezifische Funktionen für die betriebene Software, nicht nur für die reine Infrastruktur. Die Konfiguration des Netzwerks, der Protokollierung und der Überwachung erfolgt oft automatisch.

Zu dieser Ebene existieren üblicherweise Vorgaben, wie bestimmte Arten von Anwendungen betrieben werden sollten. So fördert PaaS typischerweise den Aufbau von Scale-out-Anwendungen, auch »horizontale Skalierung« genannt. Sie sollten also Ihre Anwendung so entwerfen, dass sie durch Hinzufügen weiterer Instanzen skaliert, statt den Speicher und die Rechenleistung einer einzelnen Instanz zu erhöhen. Unter Umständen begrenzt die Plattform den maximalen Speicherplatz oder die maximale Speichermenge einer einzelnen Instanz. Allerdings bestehen häufig Erweiterungsoptionen, um diese Vorgaben außer Kraft zu setzen.

Was liegt bei diesem Modell in Ihrer Verantwortung? Typischerweise verwalten Sie Anwendungs- und Sicherheitsrichtlinien. Sie patchen auf der Anwendungsebene, beispielsweise in Bezug auf die Abhängigkeiten innerhalb des Quelltextes. Normalerweise unternehmen Sie nichts unterhalb des Anwendungscodes. Sie patchen keine Webserver oder Betriebssysteme, das übernimmt der Anbieter des Dienstes für Sie. Bestimmte Plattformen erlauben Ihnen jedoch eine gewisse Kontrolle darüber, entweder durch Spezifikationen in Ihrem Code oder durch die Möglichkeit, Container einzusetzen.

Charakteristisch ist außerdem, dass Sie keine kommerzielle Software auf PaaS ausführen. Üblich ist die Ausführung von kundeneigener Software für Windows oder Linux, Web- und Streaming-Anwendungen, APIs oder Batch-Jobs.

An wen richten sich PaaS-Angebote?

Sie können sich PaaS als ein integriertes Zuhause für Ihre selbstentwickelten Anwendungen vorstellen. Platform-as-a-Service-Angebote richten sich an Anwendungsentwickler, da sie die Anwendungsentwicklung vereinfachen und eine Umgebung zum Entwickeln, Testen, Bereitstellen und Verwalten von Software zur Verfügung stellen. Der Entwickler muss sich nicht um die zugrunde liegende Infrastruktur kümmern, sondern kann sich auf die Anwendungsentwicklung konzentrieren.

1.2.4   Functions as a Service

FaaS-Angebote involvieren eine ereignisgesteuerte, kurzlebige Datenverarbeitung. Gelegentlich wird dies als »Serverless« bezeichnet, aber das ist nicht ganz korrekt. FaaS ist die Rechenkomponente von Serverless.

Dabei erhalten Sie eine Menge an On-Demand-Kapazität sowie automatische Skalierung, ohne die dafür sonst typische Konfiguration. Sie haben einen verwalteten Ressourcenverbrauch, einen vollständig vom Anbieter zur Verfügung gestellten und betriebenen Stack, und Sie sehen im Prinzip nichts außerhalb Ihres Codes. Sie müssen sich also nicht um Patching, Infrastrukturmanagement oder einen Webserver bemühen. Das macht die Einrichtung einfach und schnell.

Stattdessen bekommen Sie ereignisgesteuerte Hooks, über die Sie Funktionen erstellen können, die auf Ereignisse wie Datenbankänderungen oder bestimmte Aktionen reagieren. Sie setzen sich direkt mit Ihrem Code auseinander und passen ihn in das Programmiermuster ein, das durch das FaaS-Angebot vorgegeben wird. Das heißt, Sie haben bei der Erstellung Ihrer Anwendung im Vergleich zu den bisher vorgestellten Services eine geringere Flexibilität. Es handelt sich bei FaaS um die rechenorientierte Laufzeitumgebung, die Sie am stärksten auf einen bestimmten Programmieransatz oder eine konkrete Sprache einschränkt.

Was ist Ihre Aufgabe bei FaaS? Sie verwalten hauptsächlich den Anwendungscode und dessen Abhängigkeiten. Sie kümmern sich in der Regel weder um das Management von Skalierungsrichtlinien noch um das Patchen der Infrastruktur. Bei der Verwendung von FaaS kümmert sich der Anbieter um alle Infrastrukturaspekte und die zugrunde liegende Webserver-Software. So kann sich der Anwendungsentwickler voll auf den Programmcode für die jeweilige Funktion konzentrieren.

Die Funktionen skalieren automatisch und unabhängig voneinander, und Sie zahlen in der Regel nur dann für die Ressourcen, wenn Sie sie nutzen. Sobald die Nachfrage sinkt, passt sich FaaS automatisch an. Nach der Ausführung der Funktion hört alles auf: Kein Code läuft, kein Server ist im Leerlauf, und es entstehen keine Kosten.

Wann empfiehlt sich der Einsatz von FaaS?

Ich empfehle FaaS vor allem für dynamische Workloads oder geplante Aufgaben, die keine tiefere Kontrolle außerhalb des Funktionscodes erfordern. Sie können damit beispielsweise statische Webseiten betreiben, Datenänderungen synchronisieren, Echtzeitstreaming-Analysen für Daten durchführen oder eine API hosten.

1.2.5   Software as a Service

Kommen wir abschließend noch zu Software as a Service. Bei SaaS kaufen Sie fertige Software über das Internet, konfigurieren sie und können direkt in die Nutzung einsteigen. Wenn Sie also eine Anwendung benötigen, können Sie sich dafür entscheiden, diese Software zu kaufen, anstatt sie selbst zu programmieren. Eine solche Software könnte sowohl ein umfängliches ERP- bzw. CRM-System, ein Telefoniesystem oder aber nur eine kleinere Funktion wie etwa ein Suchtool sein, das Sie einbinden möchten. Es handelt sich dabei um gebrauchsfertige Software mit einigen Konfigurationsmöglichkeiten. In diesem Modell verwalten Sie keine Infrastruktur. Sie kümmern sich nur um die API-Ebene für die Benutzer und konfigurieren die Software. Alles andere betreut der Anbieter.

Typischerweise umfassen SaaS-Anwendungen eine deutlich standardisierte Funktionalität, was die Wartungskosten minimiert und dem Anbieter ermöglicht, die Software zu einem attraktiven Preis zu offerieren. Im Gegenzug erhält jeder Kunde die gleiche Funktionalität. Sie können die meisten SaaS-Anwendungen jedoch anpassen, indem Sie sie konfigurieren oder eigene Erweiterungen hinzufügen. Auf diese Weise lässt sich ein Standard-Look-and-Feel überschreiben, oder Sie konfigurieren eigene Geschäftslogik und Trigger. In SAP bezeichnet man diese Form der Konfiguration als Customizing