051.3 Lektion 1
Zertifikat: |
Open Source Essentials |
---|---|
Version: |
1.0 |
Thema: |
051 Software-Grundlagen |
Lernziel: |
051.3 On-Premises und Cloud Computing |
Lektion: |
1 von 1 |
Einführung
Die Cloud ist heute in aller Munde, und Unternehmen prüfen die Dienste verschiedener Anbieter — darunter auch großer Unternehmen wie Amazon.com und Microsoft — um zu sehen, was die Cloud bietet.
Aber die Idee des Cloud Computing entstand erst Ende des ersten 2000er-Jahrzehnts, und der Begriff ist so vage, dass viele, darunter die Free Software Foundation, von der Verwendung des Begriffs abraten.
Die Idee des Cloud Computing umfasst jedoch einige nützliche Konzepte und ist ein wichtiger Trend im modernen Computing. Diese Lektion befasst sich damit, was die Cloud ist und wie sie sowohl technisch als auch wirtschaftlich funktioniert. Wir schauen uns Vorteile und Risiken der Cloud an werden dabei sehen, warum dieses Thema mit Open Source verbunden ist.
On-Premises und Cloud Computing
Wenn Sie in einem Unternehmen arbeiten oder studieren, das mehr als nur ein paar Computersysteme hat, verfügt es mit ziemlicher Sicherheit über ein Rechenzentrum: einen separaten Raum, in dem die Server des Unternehmens untergebracht sind, in der Regel gesichert und klimatisiert. Ein Rechenzentrum “vor Ort” (engl. on-premises oder on-premise) ist einfach eines, das ein Unternehmen für die eigene Nutzung unterhält.
Es gibt mehrere Alternativen zum Betrieb eines Rechenzentrums vor Ort. Jahrzehntelang, vor dem Trend, den wir als Cloud Computing bezeichnen, richteten Unternehmen Rechenzentren ein, in denen Computer im Auftrag von Kunden gehostet wurden. Man konnte also beispielsweise fünf Server von einem Unternehmen lizenzieren, dem Unternehmen verschiedene Spezifikationen für CPU, Arbeitsspeicher und Speicherplatz nennen und dann Software auf diese Server hochladen. Dieses Geschäftsmodell wird als Remote Hosting bezeichnet.
Remote Hosting bietet viele Vorteile: Ein Unternehmen kann das administrative Fachwissen für den Kauf und die Einrichtung von Servern an den Dienstleister für Remote Hosting auslagern, der Großeinkäufe tätigen kann. Mit anderen Worten: Man meidet die Verantwortung für eine IT-Infrastruktur vor Ort. Das Unternehmen für Remote Hosting gewährleistet die physische Sicherheit und nimmt den Kunden auch diese Sorge. Und schließlich ist auch die Einrichtung eines neuen Servers bei einem Unternehmen für Remote Hosting viel schneller als Kauf, Versand und Einrichtung des Servers vor Ort.
Ein Unternehmen kann auch ein Rechenzentrum vor Ort betreiben und gleichzeitig weitere Server in der Remote-Umgebung lizenzieren, um nach Ausfällen die Infrastruktur wieder herzustellen oder zusätzliche Rechenleistung in Zeiten hoher Auslastung bereitzustellen.
Wichtig ist, dass Remote Computing ein schnelles und zuverlässiges Netzwerk voraussetzt. Wir werden dieses Thema zusammen mit anderen Vorteilen und Schwächen in einem anderen Abschnitt behandeln.
Alle Vorteile des Remote Hosting gelten auch für das Cloud Computing. Der technische Unterschied zum Cloud Computing besteht darin, dass für ein Unternehmen kein eigener physischer Rechner zur Verfügung steht, sondern dass der Cloud-Anbieter auf jedem physischen System über eine zusätzliche Softwareschicht mehrere Systeme für mehrere Kunden betreibt, die als virtuelle Maschinen bezeichnet werden.
Ein Cloud-Dienst betreibt also ein Rechenzentrum wie jedes andere Unternehmen, bedient aber andere Unternehmen statt nur sich selbst. Das Rechenzentrum umfasst Tausende physische Computer. Auf jedem physischen Computer läuft ein Betriebssystem (in der Regel Hypervisor genannt), das mehrere virtuelle Maschinen unterstützt. Jede virtuelle Maschine kann schnell erzeugt und gelöscht werden. Jede virtuelle Maschine unterstützt ein Betriebssystem, das von einem Client (Cloud computing) ausgeführt wird.
Wo kommen freie und Open Source Software ins Spiel? Wenn ein Unternehmen eine große Anzahl von Computern betreibt und Betriebssysteme im laufenden Betrieb einsetzt, ist es wichtig, sich nicht mit Lizenzen zu verzetteln. Es gibt zwar Lizenzmodelle für proprietäre Betriebssysteme in der Cloud, aber sie sind komplizierter als der Betrieb einer virtuellen Maschine und eines Open-Source-Betriebssystems. Open Source ist in der Regel auch kostenlos.
Die Anfänge des Cloud Computing werden in der Regel mit der Einführung der Amazon Web Services (AWS) durch Amazon.com im Jahr 2006 in Verbindung gebracht. Inzwischen gibt es Dutzende von Cloud-Unternehmen, darunter Angebote von so großen Anbietern wie Microsoft, Google, Alibaba und IBM. AWS ist nach wie vor das größte Angebot. Die Anbieter konkurrieren bei der Entwicklung neuer Funktionen und Dienste, da sie alle stark auf Kosten und Zuverlässigkeit setzen.
Die Vorteile des Cloud Computing bauen auf denen des Remote Computing auf. Die Kosten sind niedriger, weil ein physisches System viele Server für viele Kunden betreiben kann und ständig ausgelastet ist. Ein Kunde, der schnell mehr Rechenleistung für eine Nutzungsspitze benötigt, kann in Sekundenschnelle neue Systeme erzeugen, und die Systeme lassen sich automatisch über eine Programmierschnittstelle (API) verwalten. Auch hier kommen wir noch auf Vorteile und Risiken zu sprechen.
Gängige Modelle für den Cloud-Betrieb
Bevor wir auf die Betriebsmodelle eingehen, sei erwähnt, dass viele Unternehmen Cloud-Modelle eingeführt haben, die die Art und Weise, wie sie programmieren und Dienste anbieten, völlig verändern. Anstatt eine Anwendung ein- oder zweimal im Jahr zu aktualisieren, sind nun schnelle Aktualisierungen möglich, weil die Cloud es erlaubt, virtuelle Maschinen herunterzufahren und neue Maschinen fast zeitgleich mit der neuen Version der Anwendung zu starten. Ein Unternehmen kann auch schnell nach oben oder unten skalieren, weshalb Anwendungen gerne in viele modulare Teile (Microservices) aufgeteilt werden.
In diesem Abschnitt konzentrieren wir uns jedoch auf gängige Cloud-Modelle.
Das Kostenmodell für die Cloud unterscheidet sich stark von den Kosten für eine Rechenzentrum vor Ort. On-Premises müssen zunächst Server gekauft werden, außerdem fallen laufende Kosten für Strom, Klimatisierung und Verwaltung an. Diese Kosten entfallen, wenn Sie Systeme von einem Cloud-Anbieter lizenzieren. Stattdessen werden genutzte Kapazitäten berechnet. Cloud-Anbieter unterteilen Ihre Computernutzung in Zeiträume und berechnen sie für jeden Zeitraum. Außerdem berechnen sie die Datenmenge, die Sie auf ihren Systemen speichern.
Bisher haben wir über Anbieter gesprochen, die Kunden Rechenleistung anbieten, die sogenannte Public Cloud. Es gibt aber auch die Private Cloud: So betreiben einige große Unternehmen ihre eigenen Rechenzentren vor Ort wie eine Cloud. Sie stellen ihre Dienste nur ihren eigenen Abteilungen oder Unterabteilungen zur Verfügung, behandeln aber jede dieser Abteilungen wie einen Kunden eines Cloud-Anbieters. Das Rechenzentrum verfolgt, wie viel Rechenzeit, Daten usw. von jeder Abteilung genutzt werden, und stellt diese Nutzung in Rechnung.
Viele Unternehmen nutzen auch mehrere Cloud-Dienste, z.B. um sich vor Ausfällen eines Anbieters zu schützen, Daten in einer bestimmten geografischen Region zu speichern oder spezielle Funktionen eines bestimmten Anbieters zu nutzen. Außerdem ist es üblich, sowohl ein Rechenzentrum vor Ort als auch Server in der Cloud zu unterhalten, was als Hybrid Computing bezeichnet wird.
Ein Kunde, der sich für einen Cloud-Service anmeldet, kann wählen, in welchen geografischen Regionen die Dienste laufen. Amazon bietet beispielsweise derzeit Regionen im Westen und Osten der USA, mehrere Regionen in Europa und weitere Regionen in allen Teilen der Welt an. Normalerweise würden Sie die Region wählen, die Ihnen am nächsten liegt. Aber viele Unternehmen möchten in mehreren Regionen arbeiten, weil sie international tätig sind. Zudem müssen Unternehmen manchmal Daten an einem bestimmten Ort aufbewahren, um etwa konform zur europäischen Datenschutzverordnung (GDPR) oder dem chinesischen Gesetz zum Schutz persönlicher Daten (PIPL) zu sein.
Jede Region ist in der Regel in Zonen oder Verfügbarkeitszonen unterteilt. Der Betrieb in mehreren Zonen wird empfohlen, falls ein Schaden den Ausfall einer Zone verursacht.
Obwohl die Cloud für die gemeinsame Nutzung physischer Computer durch mehrere Kunden bekannt ist, können einige Anbieter auch einzelne Rechner Kunden exklusiv bereitstellen, die dies aus Gründen der Sicherheit benötigen. Da keine andere Organisation den Computer nutzt, ist es für den Kunden möglicherweise sicherer, wenn er sensible Dienste ausführt und Daten in die Cloud hochlädt. Diese Option macht das Cloud Computing dem ursprünglichen Remote Hosting ähnlich.
Gängige Arten von Cloud-Diensten
Cloud Computing sieht auf verschiedenen Ebenen sehr unterschiedlich aus und richtet sich an verschiedene Nutzergruppen.
Infrastructure as a Service (IaaS) ist die Kategorie, mit der sich Systemadministratoren in der Regel befassen. IaaS stellt lediglich Hardware und Software zur Verfügung, die virtuelle Maschinen unterstützen. Es obliegt den Systemadministratoren des Kunden, ein Betriebssystem und die gewünschten Anwendungen auf die virtuelle Maschine zu laden. Der Systemadministrator handhabt fast alles auf dieselbe Weise wie in einem Rechenzentrum vor Ort.
Platform as a Service (PaaS) ist ein neuerer Ansatz, den vor allem Programmierer nutzen. Hier muss sich der Programmierer nicht um das Betriebssystem kümmern und auch nicht die Bibliotheken laden, die das Programm verwendet. All das wird vom Cloud-Anbieter bereitgestellt. Der Programmierer lädt lediglich Funktionen hoch, die auf der Plattform ausgeführt werden. Ein verwandtes Konzept ist das serverlose Computing.
Software as a Service (SaaS) ist eine Anwendung, die auf einem Cloud-System läuft. Sobald Sie sich bei einer Social-Media-Website anmelden, einen Artikel in einem Online-Shop bestellen, eine Webseite besuchen, um Ihre Stunden in ein Job-Tracking-System einzutragen, oder ein Formular auf der Seite einer Behörde ausfüllen, nutzen Sie SaaS. Der Großteil der Anwendung läuft auf dem entfernten System, und der einzige Teil der Anwendung, der auf Ihrem Computer läuft, ist die von Ihrem Browser angezeigte Webseite.
Database as a Service (DaaS) ist oft eine Ergänzung zu den zuvor genannten Services. Ein Datendienst, S3 von Amazon, war eigentlich das erste Cloud-Angebot. Ein DaaS-Angebot kann einfach eine Instanz eines beliebten Datenbankservers wie MySQL, Oracle oder MongoDB sein, die in der Cloud läuft. Große Cloud-Anbieter bieten auch eigene Datenbanken an, die nur in ihren Cloud-Angeboten laufen. In jedem Fall lesen und schreiben Sie die Datenbank, als würden sie lokal auf Ihren Systemen laufen.
Es gibt weitere Varianten dieser Services, die von einigen Unternehmen angeboten werden, wie z.B. Security as a Service.
Vorteile und Risiken von Cloud Computing und On-Premises IT-Infrastruktur
Bevor wir uns genauer mit Cloud Computing befassen, eine Analogie: Der Betrieb eines Rechenzentrums vor Ort ist wie der Kauf eines Hauses. Wird der Keller überschwemmt oder fällt der Heizkessel aus, müssen Sie jemanden finden, der den Schaden repariert. Im Gegensatz dazu sind Remote Hosting und Cloud Computing wie die Anmietung einer Wohnung: Der Vermieter ist dafür verantwortlich, dass der Heizkessel funktioniert. Außerdem können Sie in der Cloud schnell Datenlasten hinzufügen und entfernen, so wie Sie die Wohnung schneller wechseln können als das Haus, das Sie besitzen.
In einer Wohnung stellt der Vermieter vielleicht sogar Geräte und Möbel zur Verfügung. In unserer Analogie entspricht dies den zahlreichen Diensten der Cloud-Anbieter, wie Datenbanken und Analysen.
Schauen wir uns Vorteile und Risiken der Cloud statt oder ergänzend zu einem eigenen Rechenzentrum an.
Flexibilität ist wahrscheinlich der zwingendste Grund für einen Wechsel in die Cloud. Als Einzelhändler, der in der Vorweihnachtszeit mehr Server betreiben muss, oder Steuerberater, der den größten Teil seines Geschäfts in der Steuersaison abwickelt, werden Sie die Cloud nutzen wollen, um jederzeit neue Server in Betrieb nehmen und deren virtuelle Maschinen später löschen zu können.
Die Kosten können in der Cloud aus mehreren Gründen niedriger sein. Sie teilen sich einen physischen Server mit vielen anderen Anwendungen, so dass die Rechner effizienter genutzt werden. Da Cloud-Anbieter groß sind, nutzen sie Skalierungseffekte bei Einkauf, Verwaltung, Kühlung und anderen Infrastrukturanforderungen. Schließlich sind die Kunden von vielen administrativen Aufgaben befreit — obwohl die Systemadministration keineswegs verschwindet. Kunden benötigen immer noch Systemadministratoren, um ihre Software (in der Cloud als Instanzen bezeichnet) zu erstellen und hochzuladen, Benutzer zu autorisieren und andere Aufgaben im Zusammenhang mit dem Geschäftsbetrieb zu erledigen. Systemadministratoren müssen die API des Anbieters und die Regeln für die Nutzung des Dienstes kennenlernen, ein Schulungsaufwand, den Sie bei Ihren Plänen berücksichtigen sollten.
Andererseits müssen Sie darauf achten, wie intensiv Sie die Cloud nutzen. Es kann schwierig sein, den Überblick über die verbrauchte Rechenleistung zu behalten, wenn Sie Server schnell hochfahren können, vor allem wenn Sie die Skalierung automatisieren. Am Ende eines Abrechnungszeitraums könnte Sie eine unangenehm hohe Rechnung überraschen.
Ist die Cloud CO2-effizienter als der Betrieb eigener Rechner? Untersuchungen haben ergeben, dass Cloud-Anbieter ihre Systeme deutlich effizienter betreiben können. Aber die Kommunikation mit diesen Systemen geschieht über ein Netzwerk, was viel Strom für die Versorgung aller Netzwerkgeräte erfordert. Leider vergrößert die Cloud also unseren CO2-Fußabdruck.
Die Verfügbarkeit von Diensten ist in der Cloud oft besser. Das eigene Rechenzentrum vor Ort ist natürlich anfällig für alle möglichen Probleme, von Naturkatastrophen bis hin zu internen Saboteuren. Aber auch Rechenzentren in der Cloud fallen aus. Daher sollten Sie die verschiedenen Verfügbarkeitszonen nutzen und Ihr Risiko streuen. Es gibt Tools, mit denen Sie Ihre Dienste von einer ausgefallenen Zone in eine funktionierende wechseln.
Wenn Sie die vom Cloud-Anbieter angebotenen Dienste nutzen, z.B. eine Datenbank in der Cloud, sind Sie für Fehler in diesem Dienst anfällig. Natürlich können Sie auch von Fehlern in der Software betroffen sein, die Sie auf Ihr System laden.
Ein größeres Risiko bei der Nutzung der Dienste von Anbietern ist der sogenannte Lock-in: In der Regel finden Sie ein automatisches Konvertierungstool, mit dem Sie Ihre Daten aus dem System des Anbieters in ein neues System verschieben können, aber das Tool erledigt seine Aufgabe möglicherweise nicht vollständig.
Die Sicherheit kann in der Cloud größer sein, weil die Mitarbeiter des Anbieters wahrscheinlich fachkundiger sind als Ihr eigenes Personal. Andererseits sind Cloud-Anbieter groß und bekannt und damit beliebte Angriffsziele. Außerdem stellt das Hinzufügen einer zusätzlichen Software — des Hypervisors, der die virtuellen Maschinen steuert — eine zusätzliche potenzielle Gefahr dar, denn Schwachstellen werden auch in Hypervisoren gefunden.
Obwohl der Kunde rechtlich gesehen Eigentümer seiner Daten bleibt, macht die Speicherung der Daten in der Cloud sie theoretisch angreifbarer. Normalerweise verschlüsselt der Kunde die Daten, um sie im Falle eines Einbruchs zu schützen. Datenschutzbestimmungen, wie die bereits erwähnte GDPR, verlangen, dass die Daten in einem Rechenzentrum in einer Region gespeichert werden, die als sicher gilt.
Letztlich beginnen die meisten Sicherheitsangriffe auf einem hohen Level, z.B. durch das Versenden von E-Mails mit Malware an einen ahnungslosen Mitarbeiter. Dabei spielt es keine Rolle, ob Sie Ihr System vor Ort oder in der Cloud betreiben. Ein böswilliger Eindringling, der das Konto eines Mitarbeiters übernimmt, wird jedoch nicht viel weiter kommen, es sei denn, er kann Schwachstellen in Ihren Servern ausnutzen; auch hier ist es nicht eindeutig, ob die Nutzung der Cloud einen großen Unterschied macht, da die meisten Schwachstellen in der Software und nicht im Cloud-Dienst zu finden sind.
Schließlich sollten Sie auch Ihre Kosten für Bandbreite und Netzwerk bedenken. Ihre Kunden und wahrscheinlich auch Ihre Mitarbeiter kommunizieren mit Servern, die Hunderte von Kilometern entfernt sein können. Ist die Netzwerkverbindung unzuverlässig oder langsam, wird die Leistung von Cloud-Servern schlechter sein als die Ihres Rechenzentrums vor Ort. Aber heutzutage verbindet sich jeder mit Remote-Mitarbeitern, SaaS-Diensten und anderen Systemen, die geografisch weit entfernt sind. Ihre Netzwerkleistung wirkt sich auf fast alles aus, was Sie tun, ob Sie nun in der Cloud sind oder nicht.
Geführte Übungen
-
Warum wird ein physischer Rechner in einem Cloud Center effizienter genutzt als ein Rechner in einem Rechenzentrum vor Ort?
-
Was ist eine hybride Cloud?
-
Welche Art von Cloud Computing erfordert die meiste Arbeit eines Systemadministrators auf Kundenseite?
-
Wie sollten Sie Ihren Dienst vor Ausfällen schützen, wenn Sie einen Cloud-Anbieter nutzen?
Offene Übungen
-
Vergleichen Sie die verschiedenen Kosten, die entstehen, wenn Sie Ihre Server in einer Cloud betreiben, mit den Kosten für den Betrieb vor Ort.
-
Sie sind vom Nahen Osten aus tätig, haben aber viele Kunden in Europa und im Fernen Osten. Beschreiben Sie, wo Sie Ihre Dienste im Rahmen eines Cloud-Angebots platzieren würden.
Zusammenfassung
In dieser Lektion haben Sie erfahren, wie Cloud Computing funktioniert und welche Vorteile die Nutzung der Cloud gegenüber dem Betrieb von Systemen in Ihrem eigenen Rechenzentrum hat. Sie haben verschiedene Geschäfts- und Kostenmodelle kennengelernt, einschließlich der Unterschiede zwischen öffentlichen, privaten und hybriden Clouds. Sie haben auch die verschiedenen Haupttypen von Cloud-Angeboten kennengelernt und wissen, wofür sie jeweils eingesetzt werden.
Antworten zu den geführten Übungen
-
Warum wird ein physischer Rechner in einem Cloud Center effizienter genutzt als ein Rechner in einem Rechenzentrum vor Ort?
In der Cloud kann jeder Rechner mehrere Instanzen von Betriebssystemen ausführen und sogar von verschiedenen Kunden hochgeladene Instanzen ausführen. Daher ist der Computer häufiger in Gebrauch.
-
Was ist eine hybride Cloud?
Eine hybride Cloud nutzt sowohl Rechenzentren bei einem Cloud-Anbieter als auch ein oder mehrere Rechenzentren vor Ort.
-
Welche Art von Cloud Computing erfordert die meiste Arbeit eines Systemadministrators auf Kundenseite?
Bei Infrastructure as a Service (IaaS) übernimmt der Kunde die Systemverwaltung wie das Erstellen und Hochladen von Instanzen des Betriebssystems oder von Anwendungen.
-
Wie sollten Sie Ihren Dienst vor Ausfällen schützen, wenn Sie einen Cloud-Anbieter nutzen?
Wählen Sie mehrere Zonen in jeder Region, in der Sie Ihren Dienst betreiben, denn es ist sehr unwahrscheinlich, dass mehrere Zonen gleichzeitig ausfallen.
Antworten zu den offenen Übungen
-
Vergleichen Sie die verschiedenen Kosten, die entstehen, wenn Sie Ihre Server in einer Cloud betreiben, mit den Kosten für den Betrieb vor Ort.
In einer Cloud zahlen Sie für die CPU-Nutzung und den Datenspeicher für jeden vom Anbieter gemessenen Zeitraum. Aber Sie haben keine Hardware-Kosten. On-Premises haben Sie fixe Kosten für die Hardware ebenso wie für andere Geräte wie etwa die Klimaanlage sowie laufende Kosten für Strom und Wartung.
-
Sie sind vom Nahen Osten aus tätig, haben aber viele Kunden in Europa und im Fernen Osten. Beschreiben Sie, wo Sie Ihre Dienste im Rahmen eines Cloud-Angebots platzieren würden.
Nutzen Sie eine Region im Nahen Osten für Ihre eigenen Büros und Kunden im Nahen Osten. Eine Region in Europa ist wichtig, um die General Data Protection Regulation (GDPR) einzuhalten. Möglicherweise benötigen Sie eine Region in China, um das chinesische Gesetz zum Schutz personenbezogener Daten (PIPL) einzuhalten. In jedem Fall ist eine Region im Fernen Osten und in Europa wertvoll für eine bessere Performance bei der Interaktion mit Kunden an diesen Orten.
Wählen Sie innerhalb jeder Region mehrere Zonen, um sich gegen den Ausfall einer einzelnen Zone zu schützen.