Horizontale und vertikale Skalierung im Vergleich: Was eignet sich am besten für APIs?

Durch die horizontale Skalierung werden weitere Maschinen zu einem System hinzugefügt, sodass die Last verteilt wird. Vertikale Skalierung aktualisiert CPU, RAM und Speicher eines einzelnen Computers. Die Auswahl hängt von der Systemarchitektur und den Anwendungsanforderungen ab.

Der Bedarf für eine Anwendungsprogrammierschnittstelle (API) ist in der Regel nicht statisch. Er wird mit der Zeit nach oben und unten gehen. In bestimmten Fällen, wie beispielsweise in der Ferienzeit, wenn der Traffic stark zunimmt, muss eine API möglicherweise ein deutlich höheres Volumen an Anfragen bewältigen als zu anderen Zeiten. Um einer solchen Zunahme des Traffics gerecht zu werden, muss die Nutzung von APIs skaliert werden. Systemadministratoren haben zwei Möglichkeiten, eine API zu skalieren. Sie können mit horizontaler Skalierung, d. h. dem Hinzufügen von mehr API-Instanzen zu einem Cluster, oder mit vertikaler Skalierung, d. h. einer Erhöhung der Rechenkapazität des Rechners, der die API unterstützt, in Aktion treten. In diesem Artikel werden die Unterschiede zwischen den beiden untersucht und beleuchtet, welche Art für die API-Skalierbarkeit am besten geeignet ist.

Horizontale Skalierung

Die horizontale Skalierung, auch bekannt als „Aufskalierung“, ist der Prozess der Bereitstellung zusätzlicher virtueller Maschinen (VMs), sodass mehr API-Kapazität zur Bewältigung einer erhöhten Last zur Verfügung steht. (Eine Senkung der Kapazität wird als „Skalierung nach innen“ bezeichnet.) Je mehr Kapazität erforderlich ist, desto mehr VMs können Systemadministratoren dem Cluster hinzufügen. Eine spezielle Ressourcenverwaltungssoftware ist jedoch erforderlich, um die Last von API-Aufrufen zu verwalten, sie an die richtige VM-Instanz im Cluster weiterzuleiten und die Balance aufrechtzuerhalten.

Vertikale Skalierung

Vertikale Skalierung ist der Prozess, bei dem einem einzelnen Knoten Ressourcen hinzugefügt werden. Sie steht im Gegensatz zur horizontalen Skalierung, bei der Knoten hinzugefügt werden. Vertikale Skalierung, auch Skalierung nach oben oder unten genannt, bedeutet das Hinzufügen von Ressourcen wie CPU-Kapazität (Central Processing Unit), Arbeitsspeicher oder Speicher zu einem Server. Bei APIs umfasst die vertikale Skalierung in der Regel das Hinzufügen von Rechenkapazität zu der VM, die die API hostet.

Wenn eine API beispielsweise auf einer VM gehostet wird, der ein CPU-Kern und 512 Megabyte Random Access Memory (RAM) zugewiesen wurden, könnte die Skalierung nach oben für diese API bedeuten, dass die Anzahl der Kerne und der Arbeitsspeicher verdoppelt werden. Die API hätte dann zwei dedizierte CPU-Prozessorkerne und 1.024 MB RAM. Mit dieser neuen Konfiguration sollte die API in der Lage sein, ungefähr die doppelte Last zu bewältigen, obwohl Einschränkungen bei der Netzwerkbandbreite, der Speichergeschwindigkeit und anderen Faktoren die Auswirkungen der vertikalen Skalierung verringern können. Bei der vertikalen Skalierung gibt es auch eine Herausforderung im Ressourcenmanagement, aber spezielle Software kann dieses Problem in der Regel bewältigen.

Warum die Zustandslosigkeit von APIs für die Skalierung wichtig ist

APIs werden in der Regel als zustandslos konzipiert, d. h. sie speichern keine Anfragedaten oder bewahren keine Informationen zwischen den Sitzungen auf. Diese zustandslose Natur ist entscheidend, wenn Skalierungsmethoden in Betracht gezogen werden. Zustandslose APIs erfordern keine Datenreplikation über Instanzen hinweg, wodurch die horizontale Skalierung effizienter und einfacher zu implementieren ist. Systemadministratoren können VMs nach Bedarf hinzufügen oder entfernen, ohne die API-Vorgänge zu beeinträchtigen, da der API-Client nicht auf bestimmte Serverinstanzen angewiesen ist.

Es ist nichts falsch daran, zustandsbehaftet zu sein. Tatsächlich kann dies für die gewünschte Funktion der Anwendung von entscheidender Bedeutung sein. Die Ausführung der horizontalen Skalierung für eine zustandsbehaftete Anwendung ist jedoch wesentlich komplizierter. Dies würde das Kopieren gespeicherter Daten aus der Originalversion der Anwendung in neue Instanzen erfordern.

Eine zustandslose Anwendung oder API hingegen ist eine Anwendung, die keine Anfragedaten speichert. Sie speichert keine Sitzungsdaten im Speicher. Bei jedem Start einer Sitzung ist es so, als ob die Anwendung den Client zum ersten Mal trifft. Nach dem Ende der Sitzung heißt es „auf Wiedersehen“, ohne sich an die Sitzung zu erinnern.

Horizontale Skalierung ist für eine zustandslose Anwendung möglich, da es keine Rolle spielt, welche VM auf API-Aufrufe reagiert. Der API-Client kann eine unendliche Anzahl von VMs aufrufen, die die API hosten, und das wird keine Rolle spielen. Systemadministratoren können beliebig viele VMs hinzufügen oder entfernen, ohne den Betrieb der API zu beeinträchtigen.

Horizontale Skalierung, die richtige Wahl für APIs

Da APIs zustandslos sind, stellt die horizontale Skalierung die richtige Möglichkeit dar, sie zu skalieren. Das Hinzufügen weiterer VMs zur Erhöhung der Kapazität funktioniert gut mit zustandslosen APIs. Administratoren können VM-Cluster erstellen, die sich bei steigendem API-Bedarf skalieren lassen.

Darüber hinaus ist es zwar möglich, APIs vertikal zu skalieren, aber eine horizontale Skalierung ist vorzuziehen, da die Probleme mit der Ressourcenzuweisung bei vertikaler Skalierung diese erschweren. Im Gegensatz dazu funktioniert die horizontale Autoskalierung problemlos mit APIs. Wenn Systemverwaltungstools einen Anstieg des API-Traffics erkennen, können sie automatisch VMs hinzufügen, um mehr Instanzen der API in einem Cluster zu hosten. Dies ist bei vertikaler Skalierung etwas schwieriger, da die automatische Skalierung bei vertikaler Skalierung nicht gut funktioniert.

Die Nachfrage nach APIs wird sich im Laufe der Zeit unweigerlich ändern. Die API-Kapazität muss nach oben oder unten skaliert werden. Horizontale und vertikale Skalierung sind beide Optionen für APIs. Die Zustandslosigkeit von APIs in Verbindung mit der relativ einfachen horizontalen automatischen Skalierung macht die horizontale Skalierung zum richtigen Ansatz für die Skalierung von APIs.

Verteilte Systeme und Microservices-Architektur

In einem verteilten System, in dem APIs Teil einer Microservices-Architektur sind, erweist sich die horizontale Skalierung als besonders vorteilhaft. Jeder Mikroservice kann unabhängig von seiner spezifischen Last und seinen Anforderungen skaliert werden. Dieser modulare Ansatz ermöglicht eine effizientere Nutzung von Ressourcen und eine bessere Fehlertoleranz, da Ausfälle in einem Mikroservice keine Auswirkungen auf andere haben.

Darüber hinaus passt die horizontale Skalierung in einer Microservices-Architektur zu den Prinzipien verteilter Systeme, in denen verschiedene Dienste über mehrere Knoten hinweg bereitgestellt werden. Dadurch wird sichergestellt, dass das System auch in Spitzenzeiten mit wechselnden Lasten umgehen und eine optimale Performance erzielen kann.

Minimierung von Ausfallzeiten durch Skalierungsstrategien

Ausfallzeiten sind ein wichtiges Problem bei der Skalierung von APIs, da jede Dienstunterbrechung zu Umsatzeinbußen und Kundenunzufriedenheit führen kann. Die horizontale Skalierung minimiert Ausfallzeiten, da Systemadministratoren Server hinzufügen oder entfernen können, ohne die Verfügbarkeit der API zu beeinträchtigen. Im Gegensatz dazu kann es bei der vertikalen Skalierung erforderlich sein, den Server neu zu starten oder vorübergehend offline zu stellen, wodurch die Dienste unterbrochen werden können.

API-Anbieter können die horizontale Skalierung nutzen, um einen kontinuierlichen Betrieb zu gewährleisten, insbesondere während geplanter Wartungsarbeiten oder unerwarteter Trafficspitzen. Durch die Verteilung der Last auf mehrere Server sorgt die horizontale Skalierung dafür, dass die API auch dann reaktionsschnell und verfügbar bleibt, wenn einzelne Server für Upgrades oder Reparaturen offline geschaltet werden müssen.

Häufig gestellte Fragen

Die horizontale Skalierung wirkt sich positiv auf die Performance einer API aus. Dieser Ansatz beinhaltet das Hinzufügen weiterer Server zu Ihrer Infrastruktur und die Verteilung der Last auf diese. Dadurch kann das System mehr gleichzeitige Anfragen verarbeiten, was zu besseren Reaktionszeiten und einer verbesserten Gesamtperformance führt. 

Neben den Performancevorteilen trägt die horizontale Skalierung zur Redundanz und Zuverlässigkeit des Systems bei. Wenn ein Server ausfällt, leitet der Load Balancer den Traffic an die verbleibenden Server weiter, die nahtlos übernehmen können, um einen kontinuierlichen Betrieb zu gewährleisten. Dies entspricht den Best Practices für die API-Sicherheit und verbessert die Resilienz des Systems gegen potenzielle Ausfälle.

Bei der vertikalen Skalierung werden die Ressourcen eines einzelnen Servers aktualisiert, um die Performance zu verbessern. Dadurch kann die Verarbeitungsgeschwindigkeit für API-Anfragen verbessert werden, da ein leistungsstärkerer Server eine höhere Last bewältigen kann. Es ist jedoch wichtig, zu beachten, dass die vertikale Skalierung an den Punkt stoßen kann, an dem die Nachteile die Vorteile überwiegen. Es gibt Beschränkungen für die Aufrüstung einer einzelnen Maschine. Über einen bestimmten Punkt hinaus steht der Performancegewinn möglicherweise nicht proportional zur Investition.

Beim Vergleich der horizontalen und vertikalen Skalierung ist die Abwägung des potenziellen Nutzens gegen die Risiken von entscheidender Bedeutung. Denken Sie auch an Auswirkungen auf die REST-API-Sicherheit und stellen Sie sicher, dass das System ausfallsicher ist.

Es ist wichtig, den Unterschied zwischen horizontaler und vertikaler Skalierung zu verstehen, um zu bestimmen, wann die einzelnen Skalierungen zu verwenden sind.

In folgenden Fällen sollten Sie vertikale Skalierung verwenden: 

  • Ihre Webanwendung befindet sich in einem frühen Stadium oder hat nur eine leichte Last, die ein einzelner leistungsstarker Server effektiv bewältigen kann. Dies gilt insbesondere dann, wenn die Nachfrage nach API-Aufrufen gering ist.
  • Die Anwendung oder API unterstützt verteiltes Computing nicht gut. Wenn die Architektur oder das Design nicht den horizontalen Skalierungsprinzipien entspricht, kann die vertikale Skalierung eine geeignete Alternative sein. 

In folgenden Fällen sollten Sie horizontale Skalierung verwenden: 

  • Ihre Anwendung wächst, und die Nachfrage wird wahrscheinlich steigen. Durch horizontale Skalierung kann sich die Infrastruktur an sich ändernde Lasten anpassen, indem nach Bedarf weitere Server hinzugefügt werden. 
  • Sie müssen eine hohe Verfügbarkeit und Redundanz gewährleisten. Die horizontale Skalierung bietet Redundanz, wodurch das System widerstandsfähiger gegenüber Ausfällen wird und auch bei Ausfall eines oder mehrerer Server einen kontinuierlichen Betrieb gewährleistet.

Die Kosteneffektivität der horizontalen Skalierung im Vergleich zur vertikalen Skalierung hängt von Faktoren wie den spezifischen Anforderungen der Anwendung, der Bereitstellungsumfang und dem Gesamtbedarf ab. Die vertikale Skalierung ist in der Regel kostengünstiger, da Sie beim Skalieren nur ein oder zwei neue Komponenten kaufen. Allerdings ist sie weniger kosteneffektiv, wenn Sie sich den Grenzen der Serverkapazität nähern.

Warum entscheiden sich Kunden für Akamai?

Akamai ist das Unternehmen für Cybersicherheit und Cloud Computing, das das digitale Leben unterstützt und schützt. Unsere marktführenden Sicherheitslösungen, überlegene Threat Intelligence und unser globales Betriebsteam bieten ein gestaffeltes Sicherheitskonzept, um die Daten und Anwendungen von Unternehmen überall zu schützen. Die Cloud-Computing-Lösungen von Akamai bieten als Full-Stack-Gesamtpaket Performance und erschwingliche Preise auf der weltweit am stärksten verteilten Plattform. Globale Unternehmen vertrauen auf Akamai für die branchenführende Zuverlässigkeit, Skalierbarkeit und Expertise, die sie benötigen, um ihr Geschäft selbstbewusst auszubauen.

Verwandte Blogbeiträge

Wir stellen vor: Akamai DNS Posture Management
Die neue Lösung Akamai DNS Posture Management löst die Herausforderungen einer fragmentierten DNS-Infrastruktur: Transparenz, Nachvollziehbarkeit und Handlungsfähigkeit.
Compliance-Einblicke: Wie man die laterale Netzwerkbewegung stoppt und die Autorisierung erhöht
Stoppen Sie die laterale Netzwerkbewegung, bevor sie beginnt. Erfahren Sie, wie Sie mit mehrstufiger Sicherheit, Mikrosegmentierung und intelligentem API-Schutz Compliance-Vorschriften erfüllen können.
Ausgesperrt und erpresst: Der Kampf einer Stadt gegen Cyberkriminalität
Lesen Sie, wie ein Plan und eine gewisse Vorbereitung entweder den Schweregrad eines Ransomware-Angriffs verringern oder den Angriff ganz verhindern können.