(Artikel mit AMPERE -Computing -Serien beschleunigt Cloud Computing, Teil 1)
traditionell Bereitstellen von Webanwendungen bedeutet, dass Sie große monolithische Anwendungen verwenden, indem sie Server verwenden, die auf der X86 -Architektur im Unternehmenszentrum eines Unternehmens basieren. Die Migration von Anwendungen in die Cloud beseitigt die Notwendigkeit, Rechenzentren zu überkonfigurieren, da Cloud-Ressourcen auf der Grundlage von Echtzeitanforderungen bereitgestellt werden können. Gleichzeitig bedeutet die Migration in die Cloud auch einen Übergang zu komponentierten Anwendungen (auch als Microservices bezeichnet). Dieser Ansatz ermöglicht es Anwendungen, problemlos auf potenziell Zehntausende oder sogar Millionen von Benutzern zu skalieren.
Verwenden eines Cloud-nativen Ansatzes können Anwendungen vollständig in der Cloud arbeiten und die einzigartigen Funktionen der Cloud nutzen. Unter Verwendung einer verteilten Architektur können Entwickler beispielsweise nahtlos skalieren, indem sie mehr Instanzen von Anwendungskomponenten erstellen, anstatt immer größere Anwendungen auszuführen. Viele große Unternehmen (wie Netflix, Wikipedia usw.) haben verteilte Architektur auf die nächste Ebene gebracht und Anwendungen in eigenständige Microservices eingebrochen. Dies vereinfacht das Ausmaß des Designs, der Bereitstellung und des Lastausgleichs. Weitere Informationen zum Zerlegen von Monomer-Anwendungen finden Sie im Phoenix-Projekt und für Best Practices bei der Entwicklung von Cloud-nativen Anwendungen finden Sie in den zwölf Elementanwendungen.
Der herkömmliche X86 -Server basiert auf einer gemeinsamen Architektur, die hauptsächlich in persönlichen Computerplattformen verwendet wird. Benutzer müssen in der Lage sein, verschiedene Arten von Desktop -Anwendungen gleichzeitig auf einer einzelnen CPU auszuführen. Aufgrund dieser Flexibilität ermöglicht die X86 -Architektur erweiterte Funktionen und Kapazitäten, die für Desktop -Anwendungen nützlich sind. Für viele Cloud -Anwendungen sind diese Funktionen jedoch nicht erforderlich. Unternehmen, die Anwendungen in der X86-basierten Cloud ausführen, müssen jedoch weiterhin für diese Funktionen bezahlen, auch wenn sie sie nicht verwenden.
Um die Nutzung zu verbessern, verwendet der X86 -Prozessor die Hyperthreading -Technologie, um einen Kern zu ermöglichen, zwei Threads auszuführen. Während Hyperthreading eine stärkere Nutzung der Kernkapazität ermöglicht, kann es auch dazu ermöglichen, dass ein Thread die Leistung eines anderen beeinflusst, wenn die Ressourcen des Kerns überbeansprucht werden. Insbesondere wenn diese beiden Threads um dieselbe Ressource konkurrieren, bringt dies die erhebliche und unvorhersehbare Latenz in den Betrieb. Es ist schwierig, eine App zu optimieren, wenn Sie nicht wissen (und keine Kontrolle haben), mit der sie den Kern teilen wird. Hyperthreading kann als Versuch angesehen werden, Rechnungen zu bezahlen und Sportspiele gleichzeitig zu beobachten. Die Rechnung dauert länger, und Sie schätzen das Spiel nicht wirklich. Es ist am besten, die Aufgaben zu trennen und zu isolieren, indem Sie zuerst die Rechnung ausfüllen und sich dann auf das Spiel konzentrieren oder die Aufgaben zwei Personen zuweisen (von denen einer kein Fußballfan ist).
Hyperthreading erweitert auch die Sicherheitsangrifffläche der Anwendung, da die Anwendung in einem anderen Thread möglicherweise Malware ist, die versucht, Seitenkanalangriffe auszuführen. Wenn Sie Anwendungen in verschiedenen voneinander isolierten Fäden behalten, wird Overhead und zusätzliche Latenz auf Prozessorebene eingeführt.
Um die Effizienz und die Einfachheit zu verbessern, benötigen Entwickler Cloud -Ressourcen, die speziell entwickelt wurden, um ihre spezifischen Daten effizient zu verarbeiten (nicht alle anderen Daten). Zu diesem Zweck kann eine effiziente Cloud-native Plattform typische Betriebstypen von Cloud-nativen Anwendungen beschleunigen. Um die Gesamtleistung zu verbessern, bieten native Cloud -Prozessoren mehr Kerne zur Optimierung der Microservice -Ausführung, anstatt größere Kerne zu erstellen, die Hyperthreading benötigen, um immer komplexere Desktop -Anwendungen auszuführen. Dies führt zu einer konsequenteren und deterministischeren Latenz, unterstützt die transparente Skalierung und vermeidet viele der Sicherheitsprobleme, die durch Hyperthreading auftreten, da sie natürlich isoliert sind, wenn Anwendungen auf ihrem eigenen Kern laufen.
Um Cloud-native Anwendungen zu beschleunigen, hat Ampere Altra- und Altra Max 64-Bit-Cloud-native Prozessoren entwickelt. Ein einzelnes 1U -Chassis bietet eine beispiellose Dichte von bis zu 128 Kernen auf einem einzelnen IC und verfügt über zwei Slots, die bis zu 256 Kerne in einem einzelnen Rack aufnehmen können.
Ampere Altra und Ampere Altra Max Cores sind um die Architektur (ISA) der ARM -Anweisungen ausgelegt. Obwohl die X86-Architektur ursprünglich für allgemeine Desktops entwickelt wurde, hat sich ARM aus der Tradition eingebetteter Anwendungen entwickelt, bei denen deterministisches Verhalten und Stromeffizienz stärker betroffen sind. Aus dieser Basis sind Ampere -Prozessoren für Anwendungen ausgelegt, bei denen Stromverbrauch und Kerndichte wichtige Konstruktionsüberlegungen sind. Insgesamt bieten Ampere-Prozessoren eine äußerst effiziente Grundlage für viele Cloud-native Anwendungen, wodurch hohe Leistung, vorhersehbare und konsequente Reaktionsfähigkeit und höhere Stromversorgungseffizienz ermöglicht werden.
Für Entwickler bedeutet die Tatsache, dass Ampere -Prozessoren ARM ISA implementieren, dass es bereits ein breites Ökosystem für Software und Tooling für die Entwicklung gibt. Im zweiten Teil dieser Serie werden wir behandeln, wie Entwickler vorhandene Anwendungen nahtlos auf die ampere Cloud native Plattform migrieren können, die von CSPs führt, um ihre Cloud -Vorgänge sofort zu beschleunigen.
Ein wesentlicher Vorteil des Ausführens auf Cloud-nativen Plattformen ist eine geringere Latenz, was zu einer konsistenten und vorhersehbaren Leistung führt. Beispielsweise unterscheidet sich der Microservice -Ansatz grundlegend von den aktuellen Monomer -Cloud -Anwendungen. Daher ist es nicht überraschend, dass ein grundlegend anderer Ansatz für die Optimierung der Servicequalität und der Nutzungseffizienz erforderlich ist.
Mikrodienste zerlegen große Aufgaben in kleinere Komponenten. Der Vorteil besteht darin, dass Microservices spezialisiert werden können, sie eine höhere Effizienz liefern können, z. B. eine höhere Cache -Nutzung zwischen Operationen als allgemeinere monolithische Anwendungen, die versuchen, alle erforderlichen Aufgaben zu erfüllen. Obwohl Mikrodienste in der Regel weniger Rechenressourcen pro Komponente verwenden, sind die Latenzanforderungen pro Schicht viel strenger als typische Cloud -Anwendungen. Mit anderen Worten, jeder Microservice erhält nur einen kleinen Teil des Latenzbudgets, der für die vollständige Anwendung verwendet werden kann.
Vorhersehbare und konsistente Latenz ist aus einer Optimierungsperspektive von entscheidender Bedeutung, da die Latenz von Worst-Case dann ist, wenn die Reaktionsfähigkeit jedes Microservice so unterschiedlich ist wie die Hyperthread-X86-Architektur. Die gute Nachricht ist, dass es auch bedeutet, dass selbst eine kleine Menge an Verbesserungen der Microservice -Latenz zu erheblichen Verbesserungen führen kann.
Abbildung 1 zeigt die Leistungsvorteile des Ausführens einer typischen Cloud -Anwendung auf einer nativen Cloud -Plattform wie Ampere Altra Max im Vergleich zu Intel Icelake und AMD Mailand. Ampere Altra Max bietet nicht nur eine höhere Leistung, sondern auch eine höhere Leistung/Watt -Effizienz. Die Abbildung zeigt auch, wie Ampere Altra Max einen Vorteil gegenüber Intel Icelake (13%) hat, um die für Cloud-nativen Anwendungen erforderliche stabile Leistung zu liefern.
Abbildung 1: Native Plattformen wie Ampere Altra Max bieten im Vergleich zu Intel Icelake und AMD Mailand überlegene Leistung, Leistungseffizienz und Latenz.
Auch wenn CSPs den Stromverbrauch ihrer Rechenzentren abwickeln, sind sich viele Entwickler der zunehmenden Anliegen der öffentlichen und des Unternehmens der Interessengruppen, wie Unternehmen Angesichtsfragen angehen, bewusst. Im Jahr 2022 wird geschätzt, dass Cloud -Rechenzentren 80% des gesamten Stromverbrauchs des Rechenzentrens ausmachen1. Nach Angaben von 2019 wird der Stromverbrauch in Rechenzentren voraussichtlich bis 2030 verdoppeln.
Es ist offensichtlich, dass Nachhaltigkeit für die langfristige Entwicklung der Cloud von entscheidender Bedeutung ist, und die Cloud-Industrie muss mit der Einführung effizientere Energietechnologien beginnen. Durch die Reduzierung des Stromverbrauchs werden auch die Betriebskosten gesenkt. In jedem Fall werden Unternehmen, die heute als erste ihren CO2 -Fußabdruck reduzieren, erstellt, wenn solche Maßnahmen obligatorisch werden.
Tabelle 1: Vorteile der Cloud-nativen Verarbeitung mithilfe der Ampere-Cloud-native Plattform im Vergleich zu herkömmlichen X86-Wolken.
Cloud -native Technologien wie Ampere ermöglichen es CSPs, die Rechendichte in Rechenzentren weiter zu erhöhen (siehe Tabelle 1). In der Zwischenzeit bieten native Cloud -Plattformen überzeugende Leistungen/Preis-/Leistungsvorteile, sodass Entwickler die täglichen Betriebskosten senken und gleichzeitig die Leistung verbessern können.
Im zweiten Teil dieser Serie werden wir detailliert beschreiben, was Sie benötigen, um vorhandene Anwendungen auf eine Cloud-native Plattform zu senken und Ihre Vorgänge zu beschleunigen.
Bitte lesen Sie das Ampere Computing Developer Center für relevantere Inhalte und die neuesten Nachrichten.
Das obige ist der detaillierte Inhalt vonBeschleunigung der Cloud: Cloud Native werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!