10. Jänner 2023 von Marc Mezger und Dimitrije Kovacic
Cloud Computing Microsoft Azure – eine kurze Einführung
Was ist Cloud Computing?
Unter Clouds versteht man große Rechenzentren, die über das Internet miteinander verbunden sind. Das beinhaltet Dienste für Privatanwenderinnen und -anwender sowie Unternehmen. Die hohe Automatisierung und Skalierbarkeit ermöglicht es, sehr vielen Userinnen und Usern die Dienste gleichzeitig anzubieten. Dabei sind viele Schritte zum Deployment von Ressourcen automatisiert, wodurch in kurzer Zeit mehr Server aktiviert werden können, ohne größeren Aufwand betreiben zu müssen. Eine solche Skalierung bieten lokale Rechenzentren selten an, da oftmals die zusätzliche Kapazität erst neu gekauft werden muss. Je nach Zielgruppe und Service Provider wird zwischen folgenden Cloud-Services unterschieden: Public Clouds, Private Clouds, Hybrid Clouds und Multi Clouds.
Public Cloud
Die Public Cloud ist ein Angebot eines Providers, der seine Dienste offen über das Internet zugänglich macht. Webmailer-Dienste sind ebenso Beispiele für Public-Cloud-Angebote wie die kostenpflichtigen Services der bekannten Cloud-Anbieter wie Microsoft Azure, Amazon Web Services (AWS) oder Google Cloud Platform (GCP).
Private Cloud
Unternehmen ziehen es aus Datenschutz- und IT-Sicherheitsgründen häufig vor, ihre IT-Dienste selbst zu betreiben und nur den eigenen Mitarbeitenden zur Verfügung zu stellen.
Bei einer Private Cloud können die Enduserinnen und user trotzdem cloudtypische Vorteile nutzen, wie eine skalierbare IT-Infrastruktur und wartungsfreie IT-Anwendungen, die über den Webbrowser in Anspruch genommen werden. Diese Lösung ist primär für größere Firmen geeignet, die über eigene Rechenzentren verfügen.
Hybrid Clouds
Hybrid Clouds sind Mischformen dieser beiden Ansätze. Bestimmte Services laufen bei öffentlichen Anbietern über das Internet, während datenschutzkritische Anwendungen und Unternehmensdaten privat betrieben und verarbeitet werden.
Multi Cloud
Die Multi Cloud ist ein Zusammenschluss aus allen drei vorher genannten Cloud-Service-Typen. Sie kommen in den meisten Fällen von unterschiedlichen Providern, dabei können die verschiedenen Cloud-Typen miteinander verbunden werden.
As-a-Service-Angebote
In folgendem Bild ist der Unterschied zwischen den angebotenen Services von Azure dargestellt.
Ganz links ist die On-Site-Lösung, diese beinhaltet, dass alles von einer Userin/einem User oder einem Serverteam in einem Rechenzentrum in der Firma gemanagt wird. Es handelt sich also um eine private Cloud. Dabei wartet und verwaltet die Firma den Server sowie die gesamte Hardware und Software selbst. Weil die Wartung und Pflege von Servern aufwendig und platzintensiv ist, bieten sich fertige Lösungen von großen Unternehmen wie Google, Microsoft oder Amazon an.
Der Vorteil dabei ist, dass diese Firmen große Serverfarmen haben, in denen Server im großen Stil verwaltet werden. Userinnen und User sowie Firmen können nun Server bei diesen Firmen, inklusive Wartung, Reparatur und Lagerung, mieten. Je weiter rechts im obigen Bild, desto weniger muss man selbst managen. Bei IaaS handelt es sich um die Variante, die am nächsten an lokaler Infrastruktur ist. Die Userin/der User ist selbst für das Betriebssystem, Daten und Anwendung verantwortlich. Der Cloud Provider stellt aber Zugriffs und Verwaltungsmöglichkeiten für Server, Speicherplatz und Netzwerke zur Verfügung.
Der Nachteil von IaaS ist mehr Aufwand durch Server-Management. Das wird vor allem bei Sicherheitslücken in Programmen spürbar. Bug-Listen der Programme müssen überwacht werden und Sicherheitsupdates eingespielt werden. Dies muss alles von eigenen Teams gemacht werden anstatt vom Cloud-Anbieter.
Der Vorteil ist die Flexibilität, Umgebungen schnell und individuell anpassen zu können. IaaS bietet sich für Firmen an, die kein eigenes Rechenzentrum haben oder haben wollen.
Bei PaaS (Platform as a Service) handelt es sich um einen Service, bei dem der Cloud Provider die Hardware und die Software in einer eigenen Infrastruktur managt und diese der Userin/dem User als integrierte Lösung zur Verfügung stellt.
Vorteile bietet diese Lösung für den Einsatz von Entwicklungsteams, die nur auf die Entwicklung einer eigenen Anwendung fokussiert sind. Beispiele sind OpenShift, Heroku und Microsoft Azure App Services. PaaS eignet sich gut als Lösung für Teams, die eher klein sind und keine Infrastruktur-Spezialistinnen oder Spezialisten besitzen.
Bei SaaS (Software as a Service) handelt es sich um die höchste Form der gemanagten Cloud. In dieser Stufe werden komplette Programme bereitgestellt, die nur noch von der Userin bzw. vom User verwaltet werden müssen.
Ein Beispiel für SaaS ist Microsoft Office, da eine Firma hier nur noch ihr Usermanagement machen muss und ansonsten alles automatisiert ist. Es sind keine Server im Rechenzentrum und keine Software-Updates auf dem Server notwendig. Die Anwendung muss nicht implementiert werden, sondern steht als Service zur Verfügung.
Dadurch bietet sich SaaS für kleinere Firmen bzw. für Software an, die nicht angepasst werden muss oder nur gelegentlich verwendet wird.
Was ist Azure?
Microsoft Azure ist eine Cloud-Computing-Plattform von Microsoft primär für Firmen, die Software entwickeln. Microsoft Azure bietet die IaaS , PaaS und SaaS Strukturen an und Developer sowie Firmen können leicht skalieren.
Microsoft Azure ist einer der in den letzten Jahren am stärksten wachsenden Cloud Computing Provider, dies kann man in folgendem Bild sehen. Amazon dominiert zwar den Markt mit mehr als 30 %, aber Microsoft hat in den letzten Jahren einen sehr großen Fokus auf Azure gelegt und es geschafft, schnell am Markt zu wachsen.
Azure Regions
Bei Azure Regions handelt es sich um Rechenzentren von Microsoft. Je nach Ort und Bedarf verändert sich der Preis. Für zeitkritische Infrastruktur ist es vorteilhaft, wenn man eine geringe Latenz (örtliche Nähe zum Unternehmensstandort) hat. Wenn man aber zum Beispiel ein Deep-Learning-Modell trainiert, ist es egal, wie weit der Server entfernt ist. Hier ist es besser, wenn man ein günstigeres Rechenzentrum auswählt.
Azure Regions ist mit dem Gedanken an Redundanz und Ausfallsicherheit konzipiert; das bedeutet, dass durch Verfügbarkeitszonen Schutz vor lokalen Ausfällen besteht. Dadurch ist es möglich, Infrastruktur, die nicht verfügbar ist, ohne lange Downtimes automatisiert auf andere Server zu verlagern. Dies ist ein großer Vorteil, da Ausfälle komplett verhindert werden. Bei Banken ist es deshalb so, dass sie immer mehrere Rechenzentren benötigen, die einen Abstand von 200 km oder mehr besitzen müssen (Georedundanz). Dieser Service kostet zwar zusätzlich, ist aber wichtig für Unternehmen, da Georedundanz deutlich günstiger ist, als ein zweites Rechenzentrum aufzubauen.
Welche Komponenten gibt es?
Es gibt zahlreiche Cloud-Dienste bei Microsoft Azure, die in die folgenden Hauptkategorien zerlegt sind:
- Compute
Container, virtuelle Maschinen und Batch-Jobs entwickeln und verwalten. Es handelt sich dabei hauptsächlich um CPU-Ressourcen. - Mobile
Services für die Anwendung mit Mobilgeräten optimiert. Dazu zählen APIs für Geoinformationen etc. - Web
Anwendung für Webanwendungen, dazu gehören Webserver, API-Server etc. - Speicher
Speicherplatz auf Servern für Daten wie zum Beispiel Data Lakes oder Datenbanken. - Analysen
Services für Echtzeitanalysen, Analysen für Big Data und Business Intelligence. - Network
Services für virtuelle Netzwerke und zur Verhinderung von Hackerangriffen etc. - Medien
Services für Streaming oder Arten von Content und Komprimierung von Mediendaten. - Identität
Angebote für Rollen-Management, wie Azure Active Directory oder Multifaktorauthentifizierung. - Internet of Things
Tools für die Überwachung und Analyse von IOT-Sensor-Daten. - DevOps
DevOps-Anwendungen, die es ermöglichen, den DevOps-Prozess zu optimieren. Die Hauptanwendung ist Azure DevOps, eine Anwendung zur Team-Kollaboration. - Entwicklungstools
Anwendungen für Code-Tests und zur Entwicklung von Programmen. - Sicherheit
Identifikation von Sicherheitsbedrohungen für die Cloud-Instanzen sowie Vaults zur Verwaltung von Schlüsseln etc. - Künstliche Intelligenz und Machine Learning
Anwendung für Künstliche Intelligenz und zur Generierung von Systemen für Vorhersagen. - Container
Tools zur Orchestrierung von Containern wie Kubernetes und Docker. - Blockchain
Bau und Verwaltung von eigenen Blockchains.
Wichtige Komponenten
Komponenten für Data Platforms und Analytics
Azure bietet viele verschiedene Lösungen für die Verarbeitung von großen Datensätzen an – von der Integration in die Cloud über die Datentransformation bis hin zur Verwertung der Daten.
Azure Data Factory ist ein vollständig verwalteter, serverloser Datenintegrationsdienst und ist auf die Anforderungen des Big-Data-Zeitalters ausgelegt. Man kann strukturierte und unstrukturierte Daten aus den verschiedensten Quellsystemen integrieren. Es ist jedoch ersichtlich, dass Azure Data Factory nur im Gesamtkontext einer Microsoft-Plattform effektiv funktioniert.
Azure Synapse Analytics ist ein analytischer Service, der Enterprise Data Warehousing und Big Data Analytics vereint. Der Service ermöglicht es, Daten zu integrieren, aufzubereiten und anderen Services bereitzustellen. Azure Synapse Analytics bietet eine ganzheitliche Plattform für das Arbeiten mit Daten.
Azure Databricks bietet die Möglichkeit, Datensätze zu verarbeiten, zu speichern, zu bereinigen, zu teilen, zu analysieren, zu modellieren und mit Lösungen von BI bis hin zum maschinellen Lernen zu monetarisieren. Azure Databricks umfasst die aktuelle Version von Apache Spark, sodass man nahtlose Integrationen mit Open-Source-Bibliotheken durchführen kann.
Neben den genannten Lösungen gibt es noch viele weitere. Das Wichtigste ist jedoch, die einzelnen Lösungen im Kontext zu verstehen und nachzuvollziehen, an welcher Stelle der Datenverarbeitung welche Lösung ansetzt. Die verschiedenen Big-Data-Lösungen in Microsoft Azure entfalten ihr volles Potential erst in Zusammenarbeit mit den anderen Services.
Komponenten für Künstliche Intelligenz – Azure KI
Azure besitzt verschiedene Module zum Einsatz von Künstlicher Intelligenz. Ein Beispiel hierfür ist Azure Machine Learning und das bereits erwähnte Azure Databricks. Azure Machine Learning besteht aus verschiedenen Services wie Azure Cognitive Services, durch die Bildverarbeitungs und Sprachverarbeitungs-KIs mit wenig Programmieraufwand gebaut und trainiert werden können. Zusätzlich bietet Azure GPU Server das Training von großen Deep-Learning-Modellen an sowie eine vollständige ML Ops Pipeline zur Stabilisierung und Standardisierung in KI-Projekten. Bei Azure Databricks handelt es sich um ein Big-Data-Analyse-Tool in einer Apache-Spark-Umgebung. Azure Databricks hat den großen Vorteil, dass entwickelte KI-Lösungen innerhalb weniger Minuten erstellt werden können und automatisch skalierbar sind. Projekte können dabei mit Deep-Learning-Bibliotheken wie PyTorch, Tensorflow oder Scikit learn gebaut werden.
Es gibt eine Azure Data Factory, welche die Hybriddatenintegration übernimmt, alle Daten serverlos integriert und diese Daten im Azure Data Lake Storage speichert. Mithilfe von Azure Databricks können KI-Anwendungen gebaut und trainiert werden. Azure Synapse Analytics ist ein Analytics Service, der Daten-Integration, Data Warehousing und Big Data Analytics kombiniert. Er erlaubt Entwicklerinnen und Entwicklern, verschiedene Insights für Daten mit KI zu erzeugen und als Analytics Endpoint anzubieten. Visualisiert werden können die Ergebnisse mit Microsofts Power BI. Es ermöglicht, ein vollständiges Stack mit Data Management, Daten-Verarbeitung, KI und Big Data Analytics und Visualisierung mit überschaubarem Aufwand schnell zu erstellen und anzubieten.
Neben diesen Lösungen gibt es noch fertige Lösungen für Knowledge Mining (Azure Cognitive Search). Mit ihnen können Kundinnen und Kunden Muster und Beziehungen in ihren Daten entdecken, Kundenmotivation evaluieren und Schlüsselwörter extrahieren.
Mit dem Azure Bot Service gibt es eine Conversational AI, also einen Chatbot, der anpassbar an das eigene Szenario ist. Auch um Dokumente automatisch zu prozessieren, gibt es Lösungen, ebenso für maschinelle Übersetzung. Dazu gehört auch, dass Sprachnachrichten automatisiert in Text umgewandelt werden können und andersherum.
Azure Serverless
Um Zeit und Ressourcen einzusparen, die nicht zum Kernbereich des Unternehmens gehören, bietet Microsoft Azure Serverless-Dienste an. Developer werden so von den Aufgaben der Bereitstellung und Verwaltung der Infrastruktur befreit. Diese werden vom Cloud Provider übernommen.
Beispielhafte Lösungen von Microsoft Azure:
- Azure Container Apps
Ein für Microservices eingerichteter serverloser Containerdienst. - Azure Functions
Eine ereignisgesteuerte, serverlose Lösung. Die Cloud-Infrastruktur stellt alle aktuellen Ressourcen bereit, die für den Betrieb der Anwendungen erforderlich sind. - Azure Kubernetes Service
Vereinfacht die Bereitstellung eines Managed-Kubernetes-Clusters in Azure, indem der betriebliche Aufwand in Azure ausgelagert wird. - Azure App Service
Ermöglicht das Erstellen und Hosten von Web-Apps, mobilen Backends und RESTful-APIs, ohne eine Infrastruktur verwalten zu müssen.
Vergleich AWS vs. GCP vs. Azure
Die drei Hyperscaler Azure, AWS und GCP dominieren den Markt. Worin unterscheiden sich die Anbieter?
Microsoft kann, was seine Produktivitäts- und Planungsapps angeht, punkten. Das Portfolio umfasst mittlerweile 27 Applikationen. Des Weiteren kann Microsoft Azure mit seinem Identity Management überzeugen. Verlassen Mitarbeitende das Unternehmen oder neue kommen hinzu, müssen nicht erst alle Konten überprüft und gegebenenfalls deaktiviert/aktiviert werden. Azure Active Directory bietet eine zentrale Identität, über die alles gesteuert wird.
Im Jahr 2011 wurden 90 % vom Forschungs- und Entwicklungsbudget in die Cloud gesteckt. Microsoft Azure bietet mit über 60 Regionen mehr an als die beiden größten Konkurrenten zusammen. Dies ist insbesondere spannend für international agierende Unternehmen oder Unternehmen, die spezielle Vorgaben aus Datenschutzgründen einhalten müssen.
Als Nachteil lässt sich erwähnen, dass Microsoft Azure teurer ist als AWS oder GCP. Bedingt durch die Reife des Marktes könnte dies für den Cloud-Anbieter gefährlich werden. Aufgrund des schnellen Wachstums scheint dieser Plan jedoch für Microsoft aufzugehen.
Kosten
Microsoft stellt seinen Kundinnen und Kunden zwei verschiedene Kalkulatoren zur Verfügung, mit denen die Kosten für die Verwendung der Cloud-Produkte berechnet werden können.
Mit dem „Preisrechner“-Tool erhält man eine Kosteneinschätzung für die verschiedenen Azure-Produkte. Auch Beispielszenarien zur Kostenschätzung sind bereits gegeben.
Der zweite Kalkulator ist der „Gesamtkostenrechner“. Hier können Kundinnen und Kunden die Kosteneinsparung berechnen, wenn Rechenzentrum oder Geschäftsprozesse in die Cloud verlagert würden. Man erhält die mögliche Einsparung durch eine Migration der lokalen Hardware hin zur Azure Cloud in verschiedenen Granularitäten.
Weitere spannende Themen aus der adesso-Welt findet ihr in unseren bisher erschienenen Blog-Beiträgen.