AWS EC2-Instanztypen: Herausforderungen und Best Practices für das Hosting Ihrer Anwendungen in AWS

Geschäftspartner planen neue Strategien

Wenn es um das Hosting von Anwendungen auf Amazon Web Services (AWS) geht, ist eine der wichtigsten Entscheidungen, die Sie treffen müssen, die Wahl des richtigen Amazon Elastic Compute Cloud (EC2)-Instanztyps. EC2-Instanzen sind virtuelle Maschinen, mit denen Sie Ihre Anwendungen auf AWS ausführen können. Sie gibt es in verschiedenen Größen und Konfigurationen – bekannt als Instanzfamilien – die jeweils für einen bestimmten Zweck konzipiert sind. Die Wahl des richtigen Instanzangebots und der passenden Instanzgröße für Ihre Anwendung ist entscheidend für die Optimierung der Leistung und die Senkung der Kosten. Da das Nachfrageprofil jeder Anwendung jedoch einzigartig ist – und sich im Laufe der Zeit ändern kann – lässt sich diese Aufgabe viel leichter formulieren als lösen. Eine 2xlarge-Instanz einer bestimmten Produktfamilie ist möglicherweise nicht erforderlich, aber wenn Anwendungsteams CloudOps mit der Aufrechterhaltung der Betriebszeit beauftragen, wird die größere, kostspieligere Instanzgröße attraktiv – das heißt, solange die Cloud-Rechnungen nicht explodieren.

In diesem Blogbeitrag erkunden wir die Herausforderungen bei der Auswahl des besten Amazon EC2-Instanztyps für Ihre Anwendung und geben Ihnen einige Best Practices an die Hand, um die richtige Entscheidung zu treffen. Außerdem erklären wir, wie eine Lösung wie IBM Turbonomic Ihre AWS-Cloud-Anwendungen mithilfe von maschinellem Lernen, Auto-Scaling und Automatisierung anpassen kann. Wenn Sie mit Turbonomic vertraut sind und Ihre AWS-Umgebung jetzt optimieren möchten, starten Sie noch heute Ihre kostenlose 30-tägige Testphase.

Amazon EC2-Instanztypen verstehen

EC2-Instanzen werden nach ihren Eigenschaften wie CPU, Speicher, Datenspeicher und Netzwerkkapazität klassifiziert. Jeder Instanztyp ist für bestimmte Workloads optimiert, z. B. für allgemeine Datenverarbeitung, speicherintensive Anwendung oder rechenintensive Aufgaben. Hier sind einige Beispiele für EC2-Instanztypen und deren primäre Anwendungsfall:

  • Allzweck-Instanzen (A-, T-, M- und C-Serie): Allzweck-Instanztypen sind für eine Vielzahl von Arbeitslasten konzipiert, darunter Webserver, kleine Datenbanken sowie Entwicklungs- und Testumgebungen. Zu dieser Gruppe gehört die m5-Instanz, die neueste Generation von Allzweck-Instanzen, die von Intel Xeon® Platinum 8175M oder 8259CL Prozessoren betrieben werden. Diese Instanzen bieten ein ausgewogenes Verhältnis von Rechen-, Speicher- und Netzwerkressourcen und sind für viele Anwendungen eine gute Wahl.
  • Rechenoptimierte Instanzen (C- und R-Serie): Diese Instanzen sind für rechenintensive Workloads wie Hochleistungsrechnen, Batch-Verarbeitung und wissenschaftliches Modellieren optimiert. Diese Instanzen maximieren die Rechenleistung mithilfe einer GPU und einer CPU mit hoher Kernanzahl.
  • Speicheroptimierte Instanzen (X-, Z- und R-Serie): Diese High-Memory-Instanzen sind für speicherintensive Workloads wie Hochleistungsdatenbanken, verteilte In-Memory-Caches und Echtzeit-Datenverarbeitung/Big Data Analytics optimiert.
  • Speicherplatzoptimierte Instanzen (I-, D- und H-Serie): Diese Instanzen sind für speicherintensive Workloads wie Big Data, Data Warehousing und Logverarbeitung optimiert. Sie nutzen Caching mit hoher Kapazität und Solid-State-Laufwerke (SSD), um die intensiven Lese- und Schreibaktivitäten der Workloads zu unterstützen.

Herausforderungen bei der Wahl des richtigen EC2-Instanztyps

Die Wahl des richtigen EC2-Instanztyps für Ihre Anwendung kann eine schwierige Aufgabe sein. Hier sind einige der Herausforderungen, denen Sie möglicherweise gegenüberstehen:

  • Komplexität: Bei der großen Auswahl an Instanzen kann es schwierig sein, die beste Lösung für Ihre Anwendung zu finden. Außerdem führt Amazon regelmäßig neue Instanztypen in seinen Servicekatalog ein, was darauf hindeutet, dass die beste Übereinstimmung für Ihre Anwendung heute möglicherweise nicht unbedingt die beste für Ihre Anwendung in einigen Monaten ist.
    • Wie Turbonomic hilft: Turbonomic nimmt kontinuierlich die Spezifikationen des gesamten AWS-Servicekatalogs auf und ordnet das Ressourcenverbrauchsprofil Ihrer Workloads – sowohl deren Basis- als auch prozentilbasierte Spitzen – dem passendsten Instanztyp zu.
  • Workload-Art: Welche Art von Workload wird Ihre Anwendung ausführen? Handelt es sich um eine rechenintensive Workload oder benötigt sie viel Arbeitsspeicher oder Speicherplatz? Sobald Sie eine klare Vorstellung von Ihrer Workload haben, können Sie Ihre Optionen auf Instanztypen eingrenzen, die für Ihre Workload optimiert sind.
  • Leistungsanforderungen: Benötigen Sie einen leistungsstarken Instanztyp zur Bewältigung großer Workloads oder einen kleineren Instanztyp zur Bewältigung leichter Workloads? Unterstützt die Workload eine kundenorientierte Anwendung mit geringer Latenz oder eine interne Verwaltungsanwendung? Welche Anforderungen an die Datenlokalität müssen Sie einhalten? Beachten Sie, dass die Leistung eines Instanztyps je nach Region und Nutzungsmuster Ihrer Anwendung variieren kann.
    • Wie Turbonomic hilft: Die Bestimmung des Workload-Typs in einer gesamten Hosting-Umgebung ist eine bedeutende Aufgabe, die jedoch mithilfe von Software für die Optimierung der Cloud-Kosten vereinfacht wird. Turbonomic erkennt automatisch die aktuelle und historische Auslastung der vCPU, des Arbeitsspeichers, des Speicherzugriffs (IOPS), des Nettodurchsatzes, des E/A-Durchsatzes, der Speichermenge, der Abdeckung reservierter Instanzen, des Datenbank-vMemory, der Datenbank-vCPU, der Datenbank-Speichermenge, des Datenbank-E/A-Durchsatzes, des Bestand und der RI-Abdeckung Ihrer Workload und ermittelt die beste Instanzfamilie und den besten Instanztyp zur Unterstützung der Workload.
  • Skalierbarkeit: Sie müssen sicherstellen, dass der von Ihnen gewählte Instanztyp bei Bedarf nach oben oder unten skaliert werden kann, um Änderungen des Datenverkehrs und der Workload zu bewältigen. Darüber hinaus müssen Sie wissen, wie die Anwendungen, die auf den einzelnen EC2-Instanzen gehostet werden, skalieren. Wenn die Anwendung aus Microservices besteht, müssen Skalierbarkeit und Leistungsanforderungen gemeinsam berücksichtigt werden.
    • Wie Turbonomic hilft: Je nachdem, wie die jeweilige Anwendung skaliert werden soll, kann Turbonomic die wirtschaftlichsten Scale-up-/Scale-down-Aktionen vorantreiben und sicherstellen, dass Scale-out-/Scale-in-Aktionen so kosteneffizient wie möglich durchgeführt werden.
  • Kosten: Die Kosten gehören zu den wichtigsten Überlegungen und Herausforderungen bei der Wahl eines EC2-Instanztyps. Sie müssen die Stundenkosten des Instanztyps sowie zusätzliche Kosten für Datenübertragung, Speicher und andere AWS-Dienste berücksichtigen. Darüber hinaus erhöhen die verschiedenen Preismodelle, einschließlich reservierter Instanzen und Sparpläne, die Komplexität der Kostenberechnung.

Best Practices für die Auswahl des besten EC2-Instanztyps

Nachdem Sie nun die häufigsten Herausforderungen bei der Auswahl der besten EC2-Instanz kennen, finden Sie hier einige der Best Practices, die wir unseren Kunden und Partnern empfehlen zu befolgen.

1. Verstehen Sie Ihre Workload

Der erste und wichtigste Schritt bei der Auswahl des richtigen EC2-Instanztyps besteht darin, Ihre Workload zu verstehen. Jede Anwendung hat unterschiedliche Anforderungen an CPU, Arbeitsspeicher, Netzwerk und Speicherplatz, und es ist wichtig zu wissen, was Ihre Anwendung für einen reibungslosen Ablauf benötigt.

Wenn Sie zum Beispiel eine Datenbankanwendung betreiben, benötigen Sie möglicherweise eine große Menge an RAM, um Abfragen effizient zu bearbeiten. Wenn Sie hingegen eine rechenintensive Anwendung ausführen, benötigen Sie möglicherweise eine leistungsstarke CPU.

Um Ihre Workload besser zu verstehen, können Sie Tools wie AWS CloudWatch oder Drittanbieter-Überwachungslösungen nutzen, um Daten zur Ressourcennutzung zu sammeln. Diese Daten können dann verwendet werden, um den optimalen Instanztyp für Ihre Anwendung zu bestimmen.

2. Berücksichtigen Sie die CPU

Die CPU ist eine der wichtigsten Komponenten einer EC2-Instanz, da sie die Rechenleistung der Instanz bestimmt. Wenn Ihre Anwendung eine hohe CPU-Leistung erfordert, sollten Sie nach einem Instanztyp suchen, der eine höhere Anzahl an CPUs und eine höhere Taktfrequenz aufweist.

AWS bietet eine Vielzahl von CPU-optimierten Instanztypen (Link befindet sich außerhalb von ibm.com), wie die C5-, M5- und R5-Familien, die für Hochleistungs-Rechenworkloads konzipiert sind. Diese Instanzen verfügen über die neueste Generation maßgeschneiderter AWS Graviton3 (Link befindet sich außerhalb von ibm.com) Prozessoren (erhebliche Upgrades gegenüber dem Graviton2) und sind für Anwendungen optimiert, die eine hohe CPU-Auslastung erfordern. Wenn Ihre Anwendung jedoch keine hohe CPU-Leistung benötigt, können Sie sich für einen günstigeren Instanztyp ohne GPU und mit geringerer CPU-Anzahl entscheiden, wie zum Beispiel die T3-Familie.

3. Berücksichtigen Sie den Arbeitsspeicher

Der Arbeitsspeicher ist eine weitere kritische Komponente einer EC2-Instanz, da er bestimmt, wie viele Daten die Instanz gleichzeitig verarbeiten kann. Wenn Ihre Anwendung viel Arbeitsspeicher benötigt, sollten Sie nach einem Instanztyp suchen, der über eine größere Speicherkapazität verfügt.

Wenn Ihre Anwendung jedoch nicht viel Arbeitsspeicher benötigt, können Sie sich für einen günstigeren Instanztyp mit kleinerer Speicherkapazität entscheiden, wie zum Beispiel die T3-Familie.

AWS bietet eine Vielzahl von speicheroptimierten Instanztypen (Link befindet sich außerhalb von ibm.com), wie die X1-, R4- und z1d-Familien, die für speicherintensive Workloads konzipiert sind. Diese Instanzen verfügen über große Arbeitsspeicherkapazitäten und sind für Anwendungen optimiert, die eine hohe Speicherauslastung erfordern, wie z. B. In-Memory-Datenbanken.

Wenn Ihre Anwendung jedoch nicht viel Arbeitsspeicher benötigt, können Sie sich für einen günstigeren Instanztyp mit kleinerer Speicherkapazität entscheiden, wie zum Beispiel die T3-Familie.

4. Berücksichtigen Sie das Netzwerk

Das Netzwerk ist eine weitere kritische Komponente einer EC2-Instanz, da es bestimmt, wie Echtzeitdaten zu und von der Instanz übertragen werden können. Wenn Ihre Anwendung eine hohe Netzwerkleistung erfordert, sollten Sie nach einem Instanztyp mit höherer Netzwerkbandbreite suchen.

AWS bietet eine Reihe von netzwerkoptimierten Instanztypen, wie die C5n-und HPC-Familien („High-Performance Compute“), die für netzwerkintensive Workloads konzipiert sind. Diese Instanzen verfügen über Hochgeschwindigkeits-Netzwerkschnittstellen und sind für Anwendungen optimiert, die eine hohe Netzwerkauslastung erfordern.

Wenn Ihre Anwendung jedoch keine hohe Netzwerkleistung erfordert, können Sie sich für einen günstigeren Instanztyp mit geringerer Netzwerkbandbreite entscheiden, beispielsweise für die T3-Familie.

5. Berücksichtigen Sie den Speicher

Speicher ist die letzte kritische Komponente einer EC2-Instanz, da sie bestimmt, wie viel Daten auf der Instanz gespeichert werden können. Wenn Ihre Anwendung viel Speicher benötigt, sollten Sie nach einem Instanztyp suchen, der eine größere Speicherkapazität hat (Elastic Block Store, oder EBS). Seien Sie jedoch vorsichtig – Speicher gehört auch zu den kostspieligsten Cloud-Ressourcen und kann leicht unnötige Ausgaben durch ungenutzte und nicht angeschlossene EBS Volumes verursachen.

AWS bietet eine Vielzahl von Speicher-optimierten Instanztypen an, wie die I3- und D2-Familien, die für Speicher-Workloads konzipiert sind. Diese Instanzen Funktion große Mengen an SSD-Speicher und lokalem Speicher und sind für Anwendungen optimiert, die einen hohen IOPS-Durchsatz erfordern.

Wenn Ihre Anwendung jedoch nicht viel Speicher benötigt, können Sie sich für einen günstigeren Instanztyp mit kleinerer HDD-basierter Speicherkapazität entscheiden, wie zum Beispiel die T3-Familie.

6. Berücksichtigen Sie das Preisgestaltungsmodell

AWS bietet mehrere Preisgestaltungsmodelle für EC2-Instanzen an, darunter On-Demand, Reservierte Instanzen und Spot-Instanzen. Jedes Modell hat seine eigenen Vor- und Nachteile, und Sie müssen unbedingt das Modell wählen, das am besten zu Ihrer Workload und Ihrem Budget passt.

On-Demand-Instanzen werden nach Stunden abgerechnet und erfordern keine Vorabverpflichtung. Sie eignen sich am besten für Workloads mit variabler Nachfrage oder kurzfristige Projekte.

Reservierte Instanzen bieten einen erheblichen Rabatt auf den Stundensatz im Austausch für eine einmalige Vorauszahlung. Sie eignen sich am besten für Workloads, deren Nutzung vorhersehbar ist und die eine langfristige Bindung erfordern.

Mit Spot-Instanzen können Sie auf ungenutzte EC2-Kapazitäten bieten und erhebliche Kosteneinsparungen erzielen. Sie eignen sich jedoch am besten für Workloads, die Unterbrechungen verkraften können und flexible Anfangs- und Endzeiten haben.

7. Testen und optimieren

Sobald Sie einen EC2-Instanztyp ausgewählt haben, müssen Sie Ihre Anwendung unbedingt testen und optimieren, um sicherzustellen, dass sie effizient läuft. Sie können Tools wie AWS CloudWatch oder IBM Instana nutzen, um die Leistung Ihrer Anwendung zu überwachen und eventuelle Engpässe oder Verbesserungsbereiche zu identifizieren.

Zusammenfassung

Die Auswahl des richtigen EC2-Instanztyps ist entscheidend für die Leistung und Kosteneffizienz Ihrer AWS-Infrastruktur. Indem Sie Ihre Workload verstehen, CPU-, Speicher-, Netzwerk- und Speicheranforderungen berücksichtigen, das richtige Preisgestaltungsmodell wählen sowie Ihre Anwendung testen und optimieren, können Sie sicherstellen, dass Sie das Beste aus Ihren EC2-Instanzen herausholen. 

Bedenken Sie, dass die Auswahl des besten Instanztyps keine einmalige Entscheidung ist, da sich Ihre Workload und Ihre Infrastrukturanforderungen im Laufe der Zeit ändern können. Die kontinuierliche Bewertung und Optimierung Ihrer EC2-Instanztypen kann Ihnen helfen, optimale Leistung und Kosteneffizienz für Ihre AWS-Infrastruktur zu erreichen.

IBM Turbonomic kann Ihnen helfen, diesen Prozess automatisch zu steuern, indem es kontinuierlich den Ressourcenbedarf Ihrer AWS-Anwendungen bewertet und spezifische Maßnahmen generiert, die Geld sparen und Ihre EC2-Instanzen in der richtigen Größe halten. Turbonomic nutzt maschinelles Lernen und Automatisierung, lässt sich problemlos mit Ihren AWS- und AWS-Abrechnungskonten integrieren und generiert Optimierungsmaßnahmen innerhalb von 30 Minuten.

Autor

Christopher Graham

WW Demand Strategy Manager

Turbonomic PLG