Commit fb924ce8 authored by David Haunschmied's avatar David Haunschmied
Browse files

Merge everything into index.md and fixed multiple syntax errors

parent 7331d35e
# Einleitung
Was bedeutet der Begriff "Cloud-Computing":
**"*Cloud Computing beschreibt die Bereitstellung von IT-Infrastruktur und IT-Leistungen*** *wie beispielsweise Speicherplatz, Rechenleistung oder Anwendungssoftware als Service über das Internet.*"
Der Begriff des "Cloud-Computings" wurde in den letzten Jahrzehnte ein immer wichtigerer Begriff der IT Branche. Schon in den 90er Jahren prophezeiten IT Persönlichkeiten, dass Cloud-Computing die Zukunft sei sobald die technischen Gegebenheiten dies zulassen würde.
Durch das Entstehen von Internet Giganten, wie zum Beispiel Google, Facebook und Amazon wurde die Notwendigkeit von skalierbaren Systemen immer höher. Die Nutzerbasis dieser Unternehmen stieg rapide an und die Spitzenlasten (Amazon Weihnachtsgeschäft) mussten verarbeitet werden.
Eine grundlegende Voraussetzung für die Verbreitung von Cloud-Computing auf der Anwenderseite war der Ausbau der Internet Bandbreite. Die Datenmengen, die über Cloud-Computing verteilt werden ist verhältnismäßig hoch. Eine schlechte Verbindung würde für lange Wartezeiten und im Folgenden zu einer schlechten Benutzererfahrung werden.
\ No newline at end of file
# Einleitung
Im folgenden werden die drei wohl bekanntesten Cloud-Technologien betrachtet.
Diese unterscheiden dadurch, welche Ebene des verwendeten Technologie-Stacks ausgelagert werden kann.
Infrastructure as a Service (im folgenden IaaS) ermöglicht die Auslagerung der Hardware indem virtuelle Infrastruktur als Service angeboten wird. VM's können per
Knopfdruck erstellt bzw. gelöscht werden, ohne den Standort der Hardware zu kennen. Somit müssen sich Anwender
keine Hardware mehr selbst kaufen und warten, sondern können diese Aufgaben an den Serviceanbieter auslagern. Trotzdem muss sich der
Anwender selbst um die Sicherheit und Aktualität der virtuellen Infrastruktur, beispielsweise um Updates der Gast-Betriebssysteme, kümmern. Gehen wir
vom folgenden Technologie-Stack aus, ist zu sehen, dass dabei lediglich die Hardware ausgelagert ist.
### Aufteilung der Technologie-Stack Ebenen bei IaaS
|Ebene|Intern|Cloud|
|:---|:---:|:---:|
|Anwendungen|X| |
|Libraries & Frameworks|X| |
|Datenbanken & Services|X| |
|Betriebssysteme|X| |
|Hardware| |X|
Oft ist man jedoch daran interessiert, nur seine Anwendung mit gegebenenfalls notwendigen Bibliotheken zu "deployen", also in
der Cloud zu starten und diese für Kunden zugreifbar zu machen. Dabei hat man als Anwendungsentwickler natürlich hohe Ansprüche was
Verfügbarkeit und Ausfallsicherheit betrifft, womit wir zur nächsten Cloud-Technologie, Platform as a Service (im folgenden PaaS),
kommen. PaaS erweitert IaaS um die Auslagerung der Ebene des Betriebssystems und optional bis zur Ebene der Libraries & Frameworks.
### Aufteilung der Technologie-Stack Ebenen bei PaaS
|Ebene|Intern|Cloud|
|:---|:---:|:---:|
|Anwendungen|X||
|Libraries & Frameworks|(X)|(X)|
|Datenbanken & Services|(X)|(X)|
|Betriebssysteme| |X|
|Hardware| |X|
### Aufteilung der Technologie-Stack Ebenen bei SaaS
| Ebene | Intern | Cloud |
| ---------------------- | ------ | ----- |
| Anwendungen | | X |
| Libraries & Frameworks | | X |
| Datenbanken & Services | | X |
| Betriebssysteme | | X |
| Hardware | | X |
Wie in der Tabelle zu sehen ist, übernimmt der Serviceanbieter alle Ebenen bei Software as a Service. Dies hat den großen Vorteil, dass der Servicenehmer keine IT-Kenntnisse benötigt um diesen Service zu nutzen. Ebenfalls muss der Servicenehmer kein Kapital in Investments stecken und bei einer Kündigung des Services entstehen für ihn keine unbrauchbaren Ressourcen.
\ No newline at end of file
# Infrastructure as a Service (IaaS)
Wie bereits erwähnt ersetzt IaaS die Hardwarekosten, dazu zählen die Anschaffungskosten, die Wartungskosten, die Kosten
der Räumlichkeiten sowie physische Sicherheitsmaßnahmen, für den Anwender. Virtuelle Infrastruktur, vor allem Maschinen (im folgenden VMs),
können per Mausklick erstellt bzw. gelöscht werden. Rechenleistung kann gemietet werden, wenn diese gebraucht wird, und
Kosten gespart, wenn diese nicht gebraucht wird. IaaS kann mit Software überwacht und kontrolliert werden um die dynamische Erstellung
und Entfernung von VMs zu automatisieren und dadurch Kosten zu optimieren.
Der Anwender spart sich zudem auch die Kosten für Backups und Wiederherstellungen. Oft merkt dieser nicht einmal, dass eine gemietete VM
ersetzt oder auf einem anderen physischen Host bereitgestellt wurde und profitiert somit auch von der Ausfallsicherheit und hohen Verfügbarkeit.
Der Anbieter hingegen profitiert vom sogenannten Skaleneffekt, das heißt er schafft eine hohe Anzahl an gleicher physischen Hardware womit
er durch optimale Virtualisierung und einer hohen Kundenanzahl Gewinne erzielt.
Unternehmen die bereits ihre Hardware optimal nutzen profitieren nicht unbedingt von einem vollen Umstieg auf IaaS. Große Unternehmen
mit einem konstant hohen Bedarf an Rechnerleistung besitzen oft eigene Datenzentren. Verwenden diese dabei auch Virtualisierung,
handelt es sich dabei um eine sogenannte Private-Cloud. In der Praxis wird diese auch oft mit IaaS zu verbunden,
womit eine Hybrid-Cloud entsteht. Dabei wird intern eine Basis an Rechnerleistung zur Verfügung gestellt und zusätzlich Rechnerleistung
von Drittanbietern zugekauft, um Engpässe zu überbrücken. Durch entsprechende VPNs kann ein reibungsloser Übergang in der
Hybrid-Cloud zwischen privaten und externen virtuellen Ressourcen sichergestellt werden.
Ein Nachteil von IaaS ist aber, dass enorme Kosten durch nicht verantwortungsbewusste Anwendung entstehen können, da Cloud-Ressourcen mit nur
einem Mausklick erstellt oder gelöscht können. Dadurch können Kosten steigern, da das Personal entsprechend geschult werden muss.
Zudem müssen die VMs selbst gewartet und gesichert werden. Will der Anwender jedoch nur seine Anwendung in der Cloud deployen und hat kein Interesse an dem darunter liegenden Betriebssystem ist
dies ein zusätzlicher Nachteil und Kostenfaktor. Dieses Problem löst die PaaS Technologie.
\ No newline at end of file
# Platform as a Service (PaaS)
Wie bereits erwähnt, erlaubt PaaS im Gegensatz zu IaaS die Auslagerung höherer
Ebenen des Technologie-Stacks in die Cloud. Der Anbieter übernimmt dabei die Bereitstellung des Betriebssystems und optional
zusätzlicher Teile, abhängig von den Anforderungen der Anwendung, wie beispielsweise Datenbanken, Webservices, Speicherplatz,
Bibliotheken Authentifizierungsservices, usw. Der Anwender hat demnach einen vollen Funktionsumfang, obwohl er lediglich seine
Applikation bereitstellt. Der Anbieter wartet dabei alles außer die Applikation, dies umfasst Sicherheit und Aktualität, Backups,
automatische Skalierung basierend auf der Nachfrage und Wiederherstellung der Services und des Betriebssystems/der Betriebssysteme.
Der Anwender zahlt lediglich für die verbrauchten Ressourcen, hauptsächlich Rechenleistung, Speicher und Bandbreite.
In der Praxis gibt es viele verschiedene Ansätze und Technologien die PaaS-Anbieter nutzen, um Kundenbedürfnisse zu decken.
Diese unterscheiden sich in Kosten, Berechtigungen, Funktionen, Komplexität und Kontrolle des Anwenders über die bereitgestellten
Ressourcen.
Ein Ansatz beispielsweise ist jener von Amazons Service Elastic Beanstalk, bei dem die VMs inklusiver der benötigten Umgebung
(Software-Stack) konfiguriert und automatisiert bereitgestellt werden. Der Anwender kann diese dann wie gewünscht kontrollieren
und zusätzliche Funktionen implementieren kann. Dieser flexible Ansatz kommt jedoch mit einer erhöhten Komplexität.
Ein höheres Level an Abstraktion stellen beispielsweise Azures App Services oder Heroku zur Verfügung.
Der Anwender definiert die benötigten Ressourcen, um seine Applikationen und Services bereitzustellen. Der Anbieter
zieht dabei die benötigte VM inklusive, installiert und lädt die benötigte Software, und stellt die Applikation innerhalb
Minuten bereit.
Ein weiterer Ansatz ist ideal für eine Vielzahl kleiner, unabhängiger Anwendungen namens Microservices.
Diese werden dabei in einem Cloud-Service bereitgestellt und auf Anfrage ausgeführt. Der Anwender muss sich dabei ausschließlich
um den Anwendungscode kümmern. Der Anbieter übernimmt alles andere.
Die meisten PaaS Anbieter stellen meistens auch die Möglichkeit zur Verfügung, eine Applikation bereitzustellen, welche sich seine
zur Ausführung benötigten Ressourcen und Services selber definiert, bereitzustellen. Dies können in Form eines Scripts, Liste oder Templates
definiert sein. Der Cloud-Service liest diese Definition und erstellt eine Instanz, einen sogenannten Container, davon. Sowie
Virtualisierung ermöglicht, Hardware zwischen mehreren VMs aufzuteilen, ermöglicht Containerisierung die Aufteilung von virtuellen
Ressourcen innerhalb einer einzigen VM. Dies führt zu erhöhter Abkapselung und besserer Ressourcenauslastung, da nicht für jede Anwendung und
eine eigene VM inklusive dessen Overhead erstellt werden muss. Container erlauben eine schnelle und einfache Bereitstellung bzw. Skalierung.
Diese werden vom Anbieter auch oft hinter den Kulissen verwendet, auch wenn der Anwender nicht explizit diese Technologie benützt.
Dadurch, dass ein Container alles beinhaltet, was die Applikation braucht, sind diese auch einfach zu portieren. Wenn eine Applikation auf einer
Containertechnologie wie beispielsweise Docker aufbaut, kann diese auf lokalen Entwicklerrechnern, im eigenen Rechenzentrum sowie in der Cloud schnell und einfach
ausgeführt werden, vorausgesetzt die entsprechende Containerisierungssoftware ist installiert.
Mit PaaS ist es im Gegensatz zu IaaS möglich, signifikant Kosten für IT-Personal zu sparen. Obwohl dazu geschultes Personal notwendig ist,
ist es üblicherweise einfacher als IaaS Ressourcen zu warten, vielleicht sogar viel einfacher, je nachdem welcher Ansatz gewählt wurde.
Die meisten PaaS Ansätze eliminieren die Gesamte Wartung der VM(s) für den Kunden. Updates, Konfiguration und Sicherheit wird dabei
vollständig vom Anbieter übernommen.
\ No newline at end of file
# Software as a Service (SaaS)
Dieses Modell basiert auf dem Grundsatz das die IT-Infrastruktur und die Software bei einem externen Dienstleister betrieben werden. Der Kunde greift auf diese über das Internet zu und nutzt die Software, also als Service beziehungsweise Dienstleistung.
Dieses Konzept bietet einige Vorteile für den Servicenehmer. Er muss sich nicht mit der Administration der Infrastruktur oder der Datensicherung beschäftigen, sondern kann diese auf den Serviceanbieter auslagern und kann sich somit seinem eigenen Kerngeschäft widmen. Der Servicenehmer erspart sich ebenfalls die Initialkosten für die Anschaffung der IT-Infrastruktur und muss somit kein Kapital binden. Der Servicenehmer bezahlt ein Nutzungsentgeld, wenn er auf den Service zugreift und hat somit keine Fixkosten die ihn belasten.
Das Thema der Skalierung wird dem Servicenehmer ebenfalls abgenommen. Benötigt er mehr Leistung muss er zwar für diese bezahlen, die Investment-Entscheidung wird ihm aber vom Anbieter abgenommen.
Der Servicenehmer bindet sich jedoch stark an den Anbieter, denn ein späteres Wechseln auf einen Konkurrenten stellt sich meist als extrem schwierig und kostenintensiv heraus. Datenschutz und Sicherheit sind für den Servicenehmer von äußerster Wichtigkeit, denn er muss dem Anbieter vertrauen die, teilweise auch sensiblen Unternehmensdaten, zu schützen und nicht zu missbrauchen.
Ein meist unterschätzter Bereich ist die genaue Aufteilung der Verantwortungen und Dienstleistung, die ein Anbieter mit seinem Kunden eingeht. Oft sind die Verantwortungsgrenzen sehr verschwommen und die Situation ist unklar. Diese Vereinbarung über die Verantwortungen muss klar abgesprochen werden, da diese ansonsten für beide Parteien zu einem Verlustgeschäft werden kann, denn bei einem Rechtsstreit verlieren meist beide.
\ No newline at end of file
# Weitere Cloud-Services
----------
Immer mehr Firmen nutzen Cloud-Services um Kostensenkung, größere Flexibilität, Elastizität und optimale Ressourcennutzung zu erreichen. Musste man früher noch einen Angestellten bis hin zu einer ganzen Abteilung mit der Wartung, Erhaltung und Verbesserung der Firmeninternen IT beauftragen so kann man sich Infrastruktur und Dienste extern zukaufen.
Angeboten werden neben den bereits angesprochenen Technologien andere unzählige Services zu Analytics, VR und AR, Datenverarbeitung, Machine Learning, Datenverwaltung, Kundenengagement, Blockchain usw.
## Beispiel: Big Data Analyse
Big Data Analyse ist ein Trend in der Geschäftswelt der in den kommenden sicher noch an Bedeutung gewinnen wird. Unternehmen wie Amazon und Facebook sammeln Daten in unvorstellbarer Menge, die Informationen über Kauftrends, Vorlieben und Abneigungen von Verbrauchern werden gesammelt und analysiert, um zukünftige Einkäufe vorherzusagen und ihre Geschäfte zu steigern. Unternehmen versuchen heute, große Datenmengen zu sammeln und zu verstehen, um Entscheidungen in Bezug auf Vertrieb, Marketing, Forschung und Entwicklung usw. zu treffen. Wenn es um das Speichern, Verwalten und Analysieren dieser Daten geht, ist die Cloud ein sehr leistungsfähiges Werkzeug.
\ No newline at end of file
# Anbieter von Cloud-Services
----------
Die größten Anbieter von Cloud Services halten zusammen einen Marktanteil von 54%. Die drei wichtigsten Anbieter sind Microsoft mit der Plattform Azure, Google mit der Google Cloud Plattform und Amazon mit ihrer Plattform AWS. Das früher noch stark vertretene IBM hatte mit der starken Konkurrenz zu kämpfen und hatte laufend rückgängige Zahlen. In Österreich zählen A1 und ACP zu den größten Anbietern.
Der größte aller oben genannten Cloud Provider ist AWS von Amazon mit über 17 Milliarden Dollar an Einnahmen das sind ca. 42% der generierten Einnahmen des gesamten Cloud Markts. Auch Seiten wie Netflix, Spotify oder Pinterest nutzen AWS.
Neben Amazon mit einem Marktanteil von 33% steht Microsoft mit 14%. Azure wirbt vor allem damit, dass sie günstiger sind als AWS, in mehr Regionen vertreten sind und laut eigenen Angaben über 95% aller Fortune 500-Unternehmen Azure Dienste nutzen. Firmen die Azure nutzen sind zum Beispiel Boeing, Walmart, BMW, Coca Cola etc.
Google hält noch 8% Marktanteil und ist damit der kleinste der TOP 3 Cloudanbietern. Durch Google Cloud betreute Kunden sind: PayPal, Target, Twitter oder Ebay. Google versucht vor allem die Sparte der Entwickler anzusprechen.
In den kommenden Jahren geht die gesamte Branche vermehrt in Richtung AI und Machine Learning, da auch die Nachfrage nach solchen AI basierten Lösungen steigt. Dieser Trend wir gestärkt, weil Kunden nicht die nötige Rechenleistung für komplexe AI Applikationen besitzen.
---
title: Cloud-Computing: Einführung und Technologien
topic: Themenbereich 5 - Verteilte Softwaresysteme
---
## Einleitung[^novadex]
Was bedeutet der Begriff "Cloud-Computing":
**"*Cloud Computing beschreibt die Bereitstellung von IT-Infrastruktur und IT-Leistungen wie beispielsweise Speicherplatz, Rechenleistung oder Anwendungssoftware als Service über das Internet.*"**
Der Begriff des "Cloud-Computings" wurde in den letzten Jahrzehnte ein immer wichtigerer Begriff der IT Branche. Schon in den 90er Jahren prophezeiten IT Persönlichkeiten, dass Cloud-Computing die Zukunft sei sobald die technischen Gegebenheiten dies zulassen würde.
Durch das Entstehen von Internet Giganten, wie zum Beispiel Google, Facebook und Amazon wurde die Notwendigkeit von skalierbaren Systemen immer höher. Die Nutzerbasis dieser Unternehmen stieg rapide an und die Spitzenlasten (Amazon Weihnachtsgeschäft) mussten verarbeitet werden.
Eine grundlegende Voraussetzung für die Verbreitung von Cloud-Computing auf der Anwenderseite war der Ausbau der Internet Bandbreite. Die Datenmengen, die über Cloud-Computing verteilt werden ist verhältnismäßig hoch. Eine schlechte Verbindung würde für lange Wartezeiten und im Folgenden zu einer schlechten Benutzererfahrung werden.
## Technologien[^dan_appleman_pluralsight]
### Einleitung
Im folgenden werden die drei wohl bekanntesten Cloud-Technologien betrachtet.
Diese unterscheiden dadurch, welche Ebene des verwendeten Technologie-Stacks ausgelagert werden kann.
Infrastructure as a Service (im folgenden IaaS) ermöglicht die Auslagerung der Hardware indem virtuelle Infrastruktur als Service angeboten wird. VM's können per
Knopfdruck erstellt bzw. gelöscht werden, ohne den Standort der Hardware zu kennen. Somit müssen sich Anwender
keine Hardware mehr selbst kaufen und warten, sondern können diese Aufgaben an den Serviceanbieter auslagern. Trotzdem muss sich der
Anwender selbst um die Sicherheit und Aktualität der virtuellen Infrastruktur, beispielsweise um Updates der Gast-Betriebssysteme, kümmern. Gehen wir
vom folgenden Technologie-Stack aus, ist zu sehen, dass dabei lediglich die Hardware ausgelagert ist.
|Ebene|Intern|Cloud|
|:---|:---:|:---:|
|Anwendungen|X| |
|Libraries & Frameworks|X| |
|Datenbanken & Services|X| |
|Betriebssysteme|X| |
|Hardware| |X|
Table: Aufteilung der Technologie-Stack Ebenen bei IaaS
Oft ist man jedoch daran interessiert, nur seine Anwendung mit gegebenenfalls notwendigen Bibliotheken zu "deployen", also in
der Cloud zu starten und diese für Kunden zugreifbar zu machen. Dabei hat man als Anwendungsentwickler natürlich hohe Ansprüche was
Verfügbarkeit und Ausfallsicherheit betrifft, womit wir zur nächsten Cloud-Technologie, Platform as a Service (im folgenden PaaS),
kommen. PaaS erweitert IaaS um die Auslagerung der Ebene des Betriebssystems und optional bis zur Ebene der Libraries & Frameworks.
|Ebene|Intern|Cloud|
|:---|:---:|:---:|
|Anwendungen|X||
|Libraries & Frameworks|(X)|(X)|
|Datenbanken & Services|(X)|(X)|
|Betriebssysteme| |X|
|Hardware| |X|
Table: Aufteilung der Technologie-Stack Ebenen bei PaaS
Wie in der Tabelle zu sehen ist, übernimmt der Serviceanbieter alle Ebenen bei Software as a Service. Dies hat den großen Vorteil, dass der Servicenehmer keine IT-Kenntnisse benötigt um diesen Service zu nutzen. Ebenfalls muss der Servicenehmer kein Kapital in Investments stecken und bei einer Kündigung des Services entstehen für ihn keine unbrauchbaren Ressourcen.
| Ebene | Intern | Cloud |
| ---------------------- | ------ | ----- |
| Anwendungen | | X |
| Libraries & Frameworks | | X |
| Datenbanken & Services | | X |
| Betriebssysteme | | X |
| Hardware | | X |
Table: Aufteilung der Technologie-Stack Ebenen bei SaaS
### Infrastructure as a Service (IaaS)
Wie bereits erwähnt ersetzt IaaS die Hardwarekosten, dazu zählen die Anschaffungskosten, die Wartungskosten, die Kosten
der Räumlichkeiten sowie physische Sicherheitsmaßnahmen, für den Anwender. Virtuelle Infrastruktur, vor allem Maschinen (im folgenden VMs),
können per Mausklick erstellt bzw. gelöscht werden. Rechenleistung kann gemietet werden, wenn diese gebraucht wird, und
Kosten gespart, wenn diese nicht gebraucht wird. IaaS kann mit Software überwacht und kontrolliert werden um die dynamische Erstellung
und Entfernung von VMs zu automatisieren und dadurch Kosten zu optimieren.
Der Anwender spart sich zudem auch die Kosten für Backups und Wiederherstellungen. Oft merkt dieser nicht einmal, dass eine gemietete VM
ersetzt oder auf einem anderen physischen Host bereitgestellt wurde und profitiert somit auch von der Ausfallsicherheit und hohen Verfügbarkeit.
Der Anbieter hingegen profitiert vom sogenannten Skaleneffekt, das heißt er schafft eine hohe Anzahl an gleicher physischen Hardware womit
er durch optimale Virtualisierung und einer hohen Kundenanzahl Gewinne erzielt.
Unternehmen die bereits ihre Hardware optimal nutzen profitieren nicht unbedingt von einem vollen Umstieg auf IaaS. Große Unternehmen
mit einem konstant hohen Bedarf an Rechnerleistung besitzen oft eigene Datenzentren. Verwenden diese dabei auch Virtualisierung,
handelt es sich dabei um eine sogenannte Private-Cloud. In der Praxis wird diese auch oft mit IaaS zu verbunden,
womit eine Hybrid-Cloud entsteht. Dabei wird intern eine Basis an Rechnerleistung zur Verfügung gestellt und zusätzlich Rechnerleistung
von Drittanbietern zugekauft, um Engpässe zu überbrücken. Durch entsprechende VPNs kann ein reibungsloser Übergang in der
Hybrid-Cloud zwischen privaten und externen virtuellen Ressourcen sichergestellt werden.
Ein Nachteil von IaaS ist aber, dass enorme Kosten durch nicht verantwortungsbewusste Anwendung entstehen können, da Cloud-Ressourcen mit nur
einem Mausklick erstellt oder gelöscht können. Dadurch können Kosten steigern, da das Personal entsprechend geschult werden muss.
Zudem müssen die VMs selbst gewartet und gesichert werden. Will der Anwender jedoch nur seine Anwendung in der Cloud deployen und hat kein Interesse an dem darunter liegenden Betriebssystem ist
dies ein zusätzlicher Nachteil und Kostenfaktor. Dieses Problem löst die PaaS Technologie.
### Platform as a Service (PaaS)
Wie bereits erwähnt, erlaubt PaaS im Gegensatz zu IaaS die Auslagerung höherer
Ebenen des Technologie-Stacks in die Cloud. Der Anbieter übernimmt dabei die Bereitstellung des Betriebssystems und optional
zusätzlicher Teile, abhängig von den Anforderungen der Anwendung, wie beispielsweise Datenbanken, Webservices, Speicherplatz,
Bibliotheken Authentifizierungsservices, usw. Der Anwender hat demnach einen vollen Funktionsumfang, obwohl er lediglich seine
Applikation bereitstellt. Der Anbieter wartet dabei alles außer die Applikation, dies umfasst Sicherheit und Aktualität, Backups,
automatische Skalierung basierend auf der Nachfrage und Wiederherstellung der Services und des Betriebssystems/der Betriebssysteme.
Der Anwender zahlt lediglich für die verbrauchten Ressourcen, hauptsächlich Rechenleistung, Speicher und Bandbreite.
In der Praxis gibt es viele verschiedene Ansätze und Technologien die PaaS-Anbieter nutzen, um Kundenbedürfnisse zu decken.
Diese unterscheiden sich in Kosten, Berechtigungen, Funktionen, Komplexität und Kontrolle des Anwenders über die bereitgestellten
Ressourcen.
Ein Ansatz beispielsweise ist jener von Amazons Service Elastic Beanstalk, bei dem die VMs inklusiver der benötigten Umgebung
(Software-Stack) konfiguriert und automatisiert bereitgestellt werden. Der Anwender kann diese dann wie gewünscht kontrollieren
und zusätzliche Funktionen implementieren kann. Dieser flexible Ansatz kommt jedoch mit einer erhöhten Komplexität.
Ein höheres Level an Abstraktion stellen beispielsweise Azures App Services oder Heroku zur Verfügung.
Der Anwender definiert die benötigten Ressourcen, um seine Applikationen und Services bereitzustellen. Der Anbieter
zieht dabei die benötigte VM inklusive, installiert und lädt die benötigte Software, und stellt die Applikation innerhalb
Minuten bereit.
Ein weiterer Ansatz ist ideal für eine Vielzahl kleiner, unabhängiger Anwendungen namens Microservices.
Diese werden dabei in einem Cloud-Service bereitgestellt und auf Anfrage ausgeführt. Der Anwender muss sich dabei ausschließlich
um den Anwendungscode kümmern. Der Anbieter übernimmt alles andere.
Die meisten PaaS Anbieter stellen meistens auch die Möglichkeit zur Verfügung, eine Applikation bereitzustellen, welche sich seine
zur Ausführung benötigten Ressourcen und Services selber definiert, bereitzustellen. Dies können in Form eines Scripts, Liste oder Templates
definiert sein. Der Cloud-Service liest diese Definition und erstellt eine Instanz, einen sogenannten Container, davon. Sowie
Virtualisierung ermöglicht, Hardware zwischen mehreren VMs aufzuteilen, ermöglicht Containerisierung die Aufteilung von virtuellen
Ressourcen innerhalb einer einzigen VM. Dies führt zu erhöhter Abkapselung und besserer Ressourcenauslastung, da nicht für jede Anwendung und
eine eigene VM inklusive dessen Overhead erstellt werden muss. Container erlauben eine schnelle und einfache Bereitstellung bzw. Skalierung.
Diese werden vom Anbieter auch oft hinter den Kulissen verwendet, auch wenn der Anwender nicht explizit diese Technologie benützt.
Dadurch, dass ein Container alles beinhaltet, was die Applikation braucht, sind diese auch einfach zu portieren. Wenn eine Applikation auf einer
Containertechnologie wie beispielsweise Docker aufbaut, kann diese auf lokalen Entwicklerrechnern, im eigenen Rechenzentrum sowie in der Cloud schnell und einfach
ausgeführt werden, vorausgesetzt die entsprechende Containerisierungssoftware ist installiert.
Mit PaaS ist es im Gegensatz zu IaaS möglich, signifikant Kosten für IT-Personal zu sparen. Obwohl dazu geschultes Personal notwendig ist,
ist es üblicherweise einfacher als IaaS Ressourcen zu warten, vielleicht sogar viel einfacher, je nachdem welcher Ansatz gewählt wurde.
Die meisten PaaS Ansätze eliminieren die Gesamte Wartung der VM(s) für den Kunden. Updates, Konfiguration und Sicherheit wird dabei
vollständig vom Anbieter übernommen.
### Software as a Service (SaaS)
Dieses Modell basiert auf dem Grundsatz das die IT-Infrastruktur und die Software bei einem externen Dienstleister betrieben werden. Der Kunde greift auf diese über das Internet zu und nutzt die Software, also als Service beziehungsweise Dienstleistung.
Dieses Konzept bietet einige Vorteile für den Servicenehmer. Er muss sich nicht mit der Administration der Infrastruktur oder der Datensicherung beschäftigen, sondern kann diese auf den Serviceanbieter auslagern und kann sich somit seinem eigenen Kerngeschäft widmen. Der Servicenehmer erspart sich ebenfalls die Initialkosten für die Anschaffung der IT-Infrastruktur und muss somit kein Kapital binden. Der Servicenehmer bezahlt ein Nutzungsentgeld, wenn er auf den Service zugreift und hat somit keine Fixkosten die ihn belasten.
Das Thema der Skalierung wird dem Servicenehmer ebenfalls abgenommen. Benötigt er mehr Leistung muss er zwar für diese bezahlen, die Investment-Entscheidung wird ihm aber vom Anbieter abgenommen.
Der Servicenehmer bindet sich jedoch stark an den Anbieter, denn ein späteres Wechseln auf einen Konkurrenten stellt sich meist als extrem schwierig und kostenintensiv heraus. Datenschutz und Sicherheit sind für den Servicenehmer von äußerster Wichtigkeit, denn er muss dem Anbieter vertrauen die, teilweise auch sensiblen Unternehmensdaten, zu schützen und nicht zu missbrauchen.
Ein meist unterschätzter Bereich ist die genaue Aufteilung der Verantwortungen und Dienstleistung, die ein Anbieter mit seinem Kunden eingeht. Oft sind die Verantwortungsgrenzen sehr verschwommen und die Situation ist unklar. Diese Vereinbarung über die Verantwortungen muss klar abgesprochen werden, da diese ansonsten für beide Parteien zu einem Verlustgeschäft werden kann, denn bei einem Rechtsstreit verlieren meist beide.
## Weitere Cloud-Services
Immer mehr Firmen nutzen Cloud-Services um Kostensenkung, größere Flexibilität, Elastizität und optimale Ressourcennutzung zu erreichen. Musste man früher noch einen Angestellten bis hin zu einer ganzen Abteilung mit der Wartung, Erhaltung und Verbesserung der Firmeninternen IT beauftragen so kann man sich Infrastruktur und Dienste extern zukaufen.
Angeboten werden neben den bereits angesprochenen Technologien andere unzählige Services zu Analytics, VR und AR, Datenverarbeitung, Machine Learning, Datenverwaltung, Kundenengagement, Blockchain usw.
### Beispiel: Big Data Analyse
Big Data Analyse ist ein Trend in der Geschäftswelt der in den kommenden sicher noch an Bedeutung gewinnen wird. Unternehmen wie Amazon und Facebook sammeln Daten in unvorstellbarer Menge, die Informationen über Kauftrends, Vorlieben und Abneigungen von Verbrauchern werden gesammelt und analysiert, um zukünftige Einkäufe vorherzusagen und ihre Geschäfte zu steigern. Unternehmen versuchen heute, große Datenmengen zu sammeln und zu verstehen, um Entscheidungen in Bezug auf Vertrieb, Marketing, Forschung und Entwicklung usw. zu treffen. Wenn es um das Speichern, Verwalten und Analysieren dieser Daten geht, ist die Cloud ein sehr leistungsfähiges Werkzeug.
## Anbieter von Cloud-Services
Die größten Anbieter von Cloud Services halten zusammen einen Marktanteil von 54%. Die drei wichtigsten Anbieter sind Microsoft mit der Plattform Azure, Google mit der Google Cloud Plattform und Amazon mit ihrer Plattform AWS. Das früher noch stark vertretene IBM hatte mit der starken Konkurrenz zu kämpfen und hatte laufend rückgängige Zahlen. In Österreich zählen A1 und ACP zu den größten Anbietern.
Der größte aller oben genannten Cloud Provider ist AWS von Amazon mit über 17 Milliarden Dollar an Einnahmen das sind ca. 42% der generierten Einnahmen des gesamten Cloud Markts. Auch Seiten wie Netflix, Spotify oder Pinterest nutzen AWS.
Neben Amazon mit einem Marktanteil von 33% steht Microsoft mit 14%. Azure wirbt vor allem damit, dass sie günstiger sind als AWS, in mehr Regionen vertreten sind und laut eigenen Angaben über 95% aller Fortune 500-Unternehmen Azure Dienste nutzen. Firmen die Azure nutzen sind zum Beispiel Boeing, Walmart, BMW, Coca Cola etc.
Google hält noch 8% Marktanteil und ist damit der kleinste der TOP 3 Cloudanbietern. Durch Google Cloud betreute Kunden sind: PayPal, Target, Twitter oder Ebay. Google versucht vor allem die Sparte der Entwickler anzusprechen.
In den kommenden Jahren geht die gesamte Branche vermehrt in Richtung AI und Machine Learning, da auch die Nachfrage nach solchen AI basierten Lösungen steigt. Dieser Trend wir gestärkt, weil Kunden nicht die nötige Rechenleistung für komplexe AI Applikationen besitzen.
[^novadex]: gekürzt, modifiziert und in Teilen erweitert übernommen aus [https://novadex.com/de/glossar-artikel/definition-cloud-computing-was-ist-cloud-computing/](https://novadex.com/de/glossar-artikel/definition-cloud-computing-was-ist-cloud-computing/) (Stand vom 1. Februar 2019)
[^dan_appleman_pluralsight]: gekürzt, modifiziert und in Teilen erweitert übernommen aus [https://www.pluralsight.com/courses/cloud-technologies-executive-briefing](https://www.pluralsight.com/courses/cloud-technologies-executive-briefing) (Stand vom 1. Februar 2019)
\ No newline at end of file
[Novadex] https://novadex.com/de/glossar-artikel/definition-cloud-computing-was-ist-cloud-computing/
[Dan Appleman, Pluralsight] https://www.pluralsight.com/courses/cloud-technologies-executive-briefing
\ No newline at end of file
# Themenauteilung
## 1 Einleitung
## 02 Technologien
### 02-01 IaaS
### 02-02 PaaS
### 02-03 SaaS
## 03 Anwendungsbereiche
## 04 Anbieter
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment