Was ist Computing?

Beim Cloud Computing beschreibt der Begriff „Computing“ Konzepte und Objekte im Zusammenhang mit der Software-Berechnung. Es ist ein allgemeiner Begriff, der verwendet wird, um auf Rechenleistung, Arbeitsspeicher, Netzwerke, Speicher und andere Ressourcen zu verweisen, die für den rechnerischen Erfolg eines Programms erforderlich sind. 

Beispielsweise erfordern Anwendungen, die Machine-Learning-Algorithmen oder 3D-Grafik-Rendering-Funktionen ausführen, viele GB an RAM und mehrere CPUs, um erfolgreich ausgeführt zu werden. In diesem Fall werden die erforderlichen CPUs, RAM und Grafikverarbeitungseinheiten als Computing-Ressourcen bezeichnet und die Anwendungen wären somit Computing-intensive Anwendungen.

Schauen wir uns einige häufig gestellte Fragen zu Computing an, um den Begriff im Kontext des modernen Computings zu verstehen.

Was sind Computing-Ressourcen?

Computing-Ressourcen sind messbare Mengen an Rechenleistung, die für Computing-Aktivitäten angefordert, zugewiesen und verbraucht werden können. Einige Beispiele für Computing-Ressourcen sind:

CPU

Die zentrale Recheneinheit (CPU) ist das Gehirn eines jeden Computers. Die CPU wird in Einheiten gemessen, die als Millicores bezeichnet werden. Anwendungsentwickler können angeben, wie viele zugewiesene CPUs zum Ausführen ihrer Anwendung und zum Verarbeiten von Daten erforderlich sind.

Arbeitsspeicher

Speicher wird in Bytes gemessen. Anwendungen können Speicheranforderungen stellen, die für eine effiziente Ausführung erforderlich sind.

Wenn Anwendungen auf einem einzelnen physischen Gerät ausgeführt werden, haben sie eingeschränkten Zugriff auf die Computing-Ressourcen dieses Geräts. Wenn Anwendungen jedoch in der Cloud ausgeführt werden, können sie von vielen physischen Geräten gleichzeitig auf mehr Verarbeitungs-Ressourcen zugreifen. Schauen wir uns das genauer an.

Was ist Cloud Computing?

Cloud Computing ist ein Oberbegriff für alles, was die Bereitstellung von Computerressourcen über das Internet beinhaltet. Benutzer können On Demand auf große Mengen an Rechenleistung zugreifen. Sie können sie minuten- oder stundenweise kaufen und so viel oder so wenig davon wie nötig für ihre Computing-Aktivitäten verwenden.

Die Geschichte des Cloud Computing

Traditionell wurden Webanwendungen auf festen physischen Servern gehostet. Die für die Anwendung benötigte Rechenleistung war auf den Server beschränkt, auf dem sie ausgeführt wurde. Website-Besitzer konnten entweder mehrere Server oder Speicherplatz innerhalb eines einzelnen Servers kaufen, mussten jedoch unabhängig von der Nutzung einen Festpreis zahlen. Sie mussten auch ihre eigene Computer-Server-Infrastruktur verwalten und warten.

Heutzutage können Anwendungen Computing-Ressourcen vieler verschiedener physischer Geräte flexibel nutzen. Cloud-Anbieter verfügen über riesige Pools von Computing-Ressourcen, die sowohl Server als auch physische Rechenzentren umfassen. Unternehmen können Anwendungen hosten und auf diese Computing-Ressourcen aus dem Pool zugreifen. Der Anbieter verwaltet und optimiert die Ressourcen vollständig, um den Benutzern Flexibilität, Skalierbarkeit und Effizienz zu bieten. Benutzer müssen nur ihre Anwendungen warten; Die Verwaltung der Computing-Infrastruktur erfolgt durch den Cloud-Anbieter.

Buchhaltungssoftware: Ein Beispiel für Cloud Computing

Schauen wir uns das Beispiel einer Buchhaltungssoftware an. Vor einigen Jahrzehnten war es so, dass Unternehmen Software kaufen und auf ihrer internen physischen Hardware installieren mussten. Die Software-Funktionen waren auf die zugrunde liegende Hardware beschränkt. Im Laufe der Zeit ging dem System der Arbeitsspeicher aus, oder es waren Updates erforderlich, und durch Hardware-Ausfälle konnten wichtige Geschäftsdaten verloren gehen.

Heute können Entwickler von Buchhaltungssoftware Software in der Cloud ausführen. Benutzer können auf dieselbe Weise darauf zugreifen, wie sie auf jede Website zugreifen und sie können je nach Bedarf gestaffelte Pläne erwerben. Die Software-Anwendungen nutzen Rechenleistung aus der Cloud, und die Software selbst kann nach Bedarf skaliert werden. Es besteht auch keine Gefahr, dass Kunden ihre Daten verlieren.

Was sind Microservices?

Microservices, auch bekannt als Microservices-Architektur, ist ein Architekturstil, der für Softwareanwendungen verwendet wird, die als Sammlung von Services strukturiert sind. 

Unternehmensanwendungen bestehen typischerweise aus drei Hauptteilen:

  1. Einer clientseitigen Benutzeroberfläche (eine App oder HTML-Seite, die auf einem Endbenutzergerät ausgeführt wird)
  2. Einer Datenbank (die die Anwendungsdaten speichert)
  3. Einer serverseitigen Anwendung (die die funktionale und logische Funktionsweise der Operation definiert)

Dieser monolithische Architekturstil ist unflexibel und schwer zu ändern. Kleine Änderungen in einem Teil des Systems erfordern eine erneute Bereitstellung des gesamten Monolithen.

Die Microservices-Architektur hingegen entwirft die Anwendung als Sammlung funktionaler Services mit dezentraler Verwaltung. Ein Microservice versucht, ein einzelnes Problem zu lösen, z. B. eine Datensuche, eine Protokollierungsfunktion oder eine Webservicefunktion. Diese Mikroservices können unabhängig voneinander bereitgestellt werden, ihre eigenen Computing-Ressourcen verwenden und miteinander kommunizieren.

Beispielsweise könnte eine Nachrichtenanwendung aus unabhängigen Mikroservices wie Sport, Kriminalität, Globales usw. bestehen. Jeder Microservice würde seinen eigenen Abruf und seine eigene Sortierung von Inhalten verwalten. Die Microservices könnten auch je nach Bedarf hoch- oder herunterskaliert werden. Während eines großen Sportereignisses würde der Sport-Microservice zusätzliche Rechenleistung verbrauchen, aber nach Abschluss des Ereignisses herunterskaliert werden. 

Was sind virtuelle Maschinen?

Virtuelle Maschinen sind die Grundbausteine, die Computing-Leistung aus der Cloud beziehen. Eine virtuelle Maschine ist eine Software, die dieselben Funktionen wie ein physischer Computer ausführen kann, einschließlich der Ausführung von Anwendungen und Betriebssystemen. Sie ist eine digitale Version eines physischen Computers. Virtuelle Maschinen können Programme und Betriebssysteme ausführen, Daten speichern, sich mit Netzwerken verbinden und andere Computing-Funktionen ausführen. Sie können auch Wartungsarbeiten wie Updates und Systemüberwachung erfordern.

Eine virtuelle Maschine kann auf vielen zugrunde liegenden physischen Maschinen ausgeführt werden, wodurch Anwendungen die Rechenleistung erhalten, die für eine erfolgreiche Ausführung erforderlich ist. Cloud Computing gibt Benutzern die Möglichkeit, virtuelle Maschinen On Demand bereitzustellen und zu skalieren. Es bietet garantierte Computing-Ressourcen in einer sicheren und isolierten Umgebung ohne die Betriebskosten, die für die Verwaltung physischer Server erforderlich sind.

Was ist eine Amazon-EC2-Instance?

In AWS Compute-Services werden virtuelle Maschinen als Instances bezeichnet. AWS EC2 bietet verschiedene Instance-Typen mit unterschiedlichen Konfigurationen von CPU-, Arbeitsspeicher-, Speicher- und Netzwerkressourcen, sodass ein Benutzer seine Computing-Ressourcen an die Anforderungen seiner Anwendung anpassen kann. 

Es gibt fünf Arten von Instances:

Instances für allgemeine Zwecke

Allzweck-Instances bieten ein Gleichgewicht zwischen Computing-, Speicher- und Netzwerkressourcen und können für eine Vielzahl unterschiedlicher Workloads verwendet werden. Diese Instances eignen sich ideal für Anwendungen, die diese Ressourcen zu gleichen Anteilen verwenden, z. B. Webserver und Code-Repositorys. 

Für Datenverarbeitung optimierte Instances

Für Datenverarbeitung optimierte Instances werden verwendet, um Hochleistungs-Computing-Anwendungen auszuführen, die eine schnelle Netzwerkleistung, umfassende Verfügbarkeit und hohe Input/Output (I/O)-Operationen pro Sekunde erfordern. Wissenschaftliche und finanzielle Modellierung und Simulation, Big Data, Unternehmens-Data-Warehousing und Business Intelligence sind Beispiele für diese Art von Anwendung.

Accelerated-Computing-Instances

Accelerated-Computing-Instances verwenden Hardware-Beschleuniger oder Co-Prozessoren, um Funktionen wie Gleitkomma-Berechnungen, Grafikverarbeitung oder Datenmusterabgleich effizienter auszuführen, als dies bei auf CPUs laufender Software möglich ist.

Arbeitsspeicheroptimierte Instances

Arbeitsspeicheroptimierte Instances verwenden eine Solid-State-Laufwerk-Infrastruktur mit hoher Geschwindigkeit, um einen ultraschnellen Zugriff auf Daten zu ermöglichen und eine hohe Leistung zu liefern. Diese Instances sind ideal für Anwendungen, die mehr Arbeitsspeicher und weniger CPU-Leistung benötigen, wie z. B. Open-Source-Datenbanken und Big-Data-Analytik in Echtzeit.

Speicheroptimierte Instances

Speicheroptimierte Instances sind für Workloads konzipiert, die einen hohen, sequentiellen Lese- und Schreibzugriff auf sehr große Datenmengen im lokalen Speicher erfordern. Sie sind so optimiert, dass sie Anwendungen Zehntausende von zufälligen E/A-Vorgängen mit geringer Latenz pro Sekunde (IOPS) ermöglichen.

Was ist ein Container?

Bevor eine Software veröffentlicht wird, muss sie getestet, verpackt und installiert werden. Die Software-Bereitstellung bezieht sich auf den Prozess der Vorbereitung einer Anwendung für die Ausführung auf einem Computersystem oder einem Gerät.

Docker ist ein Tool, das von Entwicklern zum Bereitstellen von Software verwendet wird. Es bietet eine Standardmethode, um den Code einer Anwendung zu verpacken und auf jedem System auszuführen. Es kombiniert Software-Code und seine Abhängigkeiten in einem Container. Container (oder Docker-Images) können dann über eine Docker-Engine auf jeder Plattform ausgeführt werden. Amazon Elastic Container Service (ECS) ist ein hoch skalierbarer, sehr leistungsfähiger Container-Verwaltungsservice, der Docker-Container unterstützt und es Ihnen ermöglicht, Anwendungen auf einem verwalteten Cluster von Amazon-EC2-Instances problemlos zu betreiben. Dies gewährleistet schnelle, zuverlässige und konsistente Bereitstellungen, unabhängig von der Umgebung.

Eine Krankenhaus-Buchungsanwendung: Ein Docker-Beispiel

Beispielsweise möchte ein Krankenhaus eine Anwendung zur Terminbuchung erstellen. Die Endbenutzer können die App auf Android, iOS, Windows-Computern, MacBooks oder über die Website des Krankenhauses verwenden. Wenn der Code auf jeder Plattform separat bereitgestellt würde, wäre die Wartung schwierig. Stattdessen könnte Docker verwendet werden, um einen einzigen universellen Container der Buchungsanwendung zu erstellen. Dieser Container kann überall ausgeführt werden, auch auf Computing-Plattformen wie AWS.

Was ist Serverless-Computing mit AWS Cloud?

Serverless-Computing bezieht sich auf die Entwicklung von Anwendungen mit extern verwalteter, zugrunde liegender Serverinfrastruktur. Serverless-Services wie AWS Lambda verfügen über eine automatische Skalierung, eine integrierte Hochverfügbarkeit sowie ein Abrechnungsmodell mit Gegenwertabrechnung.

Serverless-Computing ist eine Möglichkeit, die Services, Praktiken und Strategien zu beschreiben, die es Softwareentwicklungs-Unternehmen ermöglichen, innovativ zu sein und schneller auf Veränderungen zu reagieren. Teams können Anwendungen schnell freigeben, Feedback erhalten und ihre Software verbessern, indem sie Betriebskosten eliminieren.

Beispielsweise erstellt ein Technologie-Startup eine Anwendung zum Suchen und Filtern von Universitätskursen. Zum Launchen kann das Unternehmen Serverless nutzen und sich auf die Verfeinerung der Benutzererfahrung und der Systeme konzentrieren. Durch die Verwendung einer vollständig verwalteten Hardware-Infrastruktur kann es stattdessen in Marketing investieren.

 

Was ist die elastische Lastenverteilung von Computing-Ressourcen?

Die Lastenverteilung ist der Prozess der gleichmäßigen Verteilung von Computing-Ressourcen und Workloads in einer Cloud-Computing-Umgebung. Diese erfolgt, um Verzögerungen zu reduzieren und die Verarbeitungszeit aufrechtzuerhalten, selbst wenn die Anwendung stark nachgefragt ist. Lastenverteilungen können Client-Anforderungen intelligent auf mehrere Anwendungsserver verteilen, die in einer Cloud-Umgebung ausgeführt werden.

Elastic Load Balancing ermöglicht es Benutzern, die Anwendungsleistung und -Zuverlässigkeit zu maximieren. Es kann eingehenden Anwendungsdatenverkehr automatisch auf mehrere Ziele verteilen, z. B. Amazon-EC2-Instances, Container, IP-Adressen, AWS-Lambda-Funktionen und virtuelle Server. Es kann die sich ändernde Last des Anwendungsdatenverkehrs bewältigen, Kosten senken und die Anwendung je nach Bedarf effizient hoch- oder herunterskaliern

E-Commerce: Ein Beispiel für elastische Lastenverteilung

Beispielsweise führt ein Online-E-Commerce-Shop eine Anwendung zum Sortieren der besten Angebote des Tages aus. Als Anwendung mit intensiver Computing-Nutzung verwendet sie Cloud Computing und Lastenverteilung, um die Nachfrage zu verwalten. Dies verwendet dann automatisch zusätzliche Verarbeitungs-Ressourcen an Wochenenden, Weihnachten und anderen saisonalen Spitzen, wenn die Nachfrage steigt. An anderen Tagen wird das Computing herunterskaliert, wenn die Nachfrage nachlässt. Ohne die Lastenverteilung müsste das Geschäft selbst an schwachen Tagen Spitzen-Nutzungsraten zahlen, was die Gewinnmargen verringern würde.

Was sind Computing-Services?

Computing-Services werden auch als Infrastructure-as-a-Service (IaaS, Infrastruktur als Service) bezeichnet. Computing-Plattformen wie AWS Compute stellen eine virtuelle Server-Instance sowie Speicher und APIs bereit, mit denen Benutzer Workloads auf eine virtuelle Maschine migrieren können. Benutzern wird Rechenleistung zugewiesen und sie können ihre Computerressourcen wie gewünscht starten, stoppen, darauf zugreifen und konfigurieren.

So wählen Sie zwischen verschiedenen AWS-Computing-Services

Die Auswahl der besten AWS-Infrastruktur hängt von den Anforderungen Ihrer Anwendung, dem Lebenszyklus, der Codegröße, der Nachfrage und den Computing-Anforderungen ab. Schauen Sie sich diese drei Beispiele an:

  1. Wenn Sie eine Auswahl an On-Demand-Instances bereitstellen möchten, die eine breite Palette unterschiedlicher Leistungsvorteile in Ihrer AWS-Umgebung bieten, würden Sie Amazon Elastic Compute Cloud (EC2) verwenden.
  2. Wenn Sie als Container gepackte Docker-fähige Anwendungen in einem Cluster von EC2-Instances ausführen möchten, können Sie Amazon Elastic Container Service (Amazon ECS) verwenden.
  3. Wenn Sie Ihren eigenen Code mit nur Millisekunden an Computing-Ressourcen als Reaktion auf ereignisgesteuerte Auslöser in einer Serverless-Umgebung ausführen möchten, können Sie AWS Lambda verwenden.

Was sind die Vorteile von AWS-Computing-Services?

AWS Compute-Servicesbieten die breiteste und umfassendste Funktionalität für das Computing. Zu den wichtigsten Vorteilen der Nutzung von AWS-Computing gehören:

Das richtige Computing für Ihre Workloads

Amazon EC2 (Amazon Elastic Compute Cloud) bietet eine detailliertere Kontrolle für die Verwaltung der Anwendungsinfrastruktur mit der Wahl von Prozessoren, Speicher und Netzwerk. Amazon Elastic Container Services (Amazon ECS) bieten Auswahl und Flexibilität zum Ausführen von Containern.

Integrierte Sicherheit

AWS bietet deutlich mehr Sicherheits-, Compliance- und Governance-Services sowie wichtige Funktionen als der nächstgrößte Cloud-Anbieter. Das AWS Nitro System verfügt über integrierte Sicherheit auf Chipebene, um die Instance-Hardware kontinuierlich zu überwachen, zu schützen und zu verifizieren.

Kostenoptimierung

Bei AWS Compute bezahlen Sie nur für die Instances oder Ressourcen, die Sie benötigen, so lange Sie sie nutzen, ohne langfristige Verpflichtung oder komplexe Lizenzierung.

Flexibilität

AWS bietet mehrere Möglichkeiten, Anwendungen schnell zu entwickeln, bereitzustellen und auf den Markt zu bringen. Amazon Lightsail ist beispielsweise ein benutzerfreundlicher Service, der Ihnen alles bietet, was Sie zum Entwickeln einer Anwendung oder Website benötigen.

Um festzulegen, welcher AWS Compute-Service am besten für das Wachstum Ihres Unternehmens geeignet ist, sollten Sie sich mit unserem Expertenteam in Verbindung setzen oder sich noch heute für ein kostenloses AWS-Konto registrieren.

Nächste Schritte auf AWS

Zusätzliche produktbezogene Ressourcen ansehen
Weitere Informationen zu AWS-Computing-Services 
Registrieren Sie sich für ein kostenloses Konto

Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.

Registrieren 
Beginnen Sie mit der Entwicklung in der Konsole

Beginnen Sie mit der Entwicklung mit AWS in der AWS-Managementkonsole.

Anmelden