Serverless hat die Cloud-Computing-Welt im Sturm erobert und verzeichnete in den letzten Jahren ein massives Wachstum und sehr positive Prognosen für die Zukunft. Laut aktuellen Prognosen wird der Markt bis 2028 mit einer durchschnittlichen jährlichen Wachstumsrate von über 20 % wachsen .

Im Wesentlichen erschließt die serverlose Architektur das volle Potenzial cloudbasierter Technologie durch IT-Automatisierungssoftware und ermöglicht es Unternehmen, ihr Wachstum voranzutreiben, anstatt Zeit und Ressourcen für die Verwaltung der IT-Infrastruktur aufzuwenden.

Obwohl dies vielversprechend klingt, sind serverlose Cloud-Plattformen immer noch zustandslos und zentralisiert. Daher müssen Anwendungen dieses Manko bei der Speicherung des Zustands beheben und vermeiden, einer Anbieterbindung zu unterliegen.

Internet-Computer bieten eine weitere Ebene der Sicherheit, Kontrolle und des Vertrauens – alles durch Dezentralisierung, ohne dass eine einzelne Partei die Hardware oder Software kontrolliert, und darüber hinaus sind Internet-Computer für einen zustandsbehafteten Betrieb konzipiert.

In diesem Artikel beschreiben wir, wie Internet-Computer-Blockchains Serverless-Computing-Funktionen mit zwei wichtigen zusätzlichen Vorteilen bieten können: Dezentralisierung und Statefulness.

Was ist serverlos?

Serverless ist ein neuartiges Cloud-Computing-Paradigma, das schnelle und flexible Entwicklungszyklen ermöglicht, ohne dass die zugrunde liegende Infrastruktur berücksichtigt werden muss (Bereitstellung und Skalierung der richtigen virtuellen Maschinen, Installation und Wartung von Software und Frameworks), wodurch die Gesamtbetriebskosten gesenkt werden.

Serverless gibt es in vielen Formen, die relevanteste in unserem Fall ist Functions as a Service (FaaS), bei der große Codebasen in kleine Funktionen mit sehr kurzen Laufzeiten (Millisekunden bis Minuten) und Funktionen pro Nutzung aufgeteilt werden Basis kostenpflichtig (d. h. basierend auf der Laufzeit) plus einer festen Gebühr pro Anruf. Das letzte wichtige Merkmal, das erwähnt werden muss, ist die hervorragende Skalierbarkeit, um bis zu Tausende von Instanzen derselben Funktion in kurzer Zeit zu starten.

Internet Computing als serverlose Plattform

Wenn Sie einen kurzen Blick auf die Architektur von Internet Computer werfen, werden Sie schnell feststellen, dass es serverlose Funktionen und sogar zusätzliche Vorteile bietet.

Heutzutage werden FaaS-Funktionen als Container oder einfach als Code (Python, Javascript, Java, Rust usw.) verpackt und stellen einen einzelnen Endpunkt bereit, der direkt von externen Benutzern oder anderen Funktionen aufgerufen werden kann.

Container-Smart-Contracts auf Internet-Computern können auch in verschiedenen Sprachen programmiert werden, darunter Rust, Motoko, JavaScript oder Python, und können mehrere Endpunkte bereitstellen, die für jeden Container unterschiedliche Funktionen bereitstellen.

Die folgende Tabelle fasst die wichtigsten serverlosen Funktionen und die entsprechenden Internetcomputer sowie die Vorteile der Blockchain gegenüber cloudbasierten serverlosen Systemen zusammen:

图片
Tabelle 1. Wichtige serverlose Funktionen im Vergleich zu Internet-Computerfunktionen, wobei Dezentralisierung, Zustandsbezogenheit und Vertrauen zusätzliche Vorteile von Internet-Computern darstellen.

Wie Sie der Tabelle entnehmen können, erfüllen Internetcomputer alle Anforderungen an eine serverlose Umgebung. Entwickler wissen es vielleicht nicht, aber sie führen serverlosen Code bereits mit fast der gleichen Effizienz aus wie das, was herkömmliche Cloud-Anbieter bieten. Dasselbe.

In einigen Dimensionen (z. B. Speicher) übertreffen Internetcomputer sogar die von herkömmlichen Cloud-Anbietern bereitgestellten Funktionen. Die wichtigsten Funktionen, die wir für Entwickler hervorheben möchten, sind jedoch: zustandsbehaftet und dezentral, traditionell serverlos. Die Cloud bietet diese beiden Funktionen nicht.

In Tabelle 2-3 laden wir den technisch versierten Leser ein, sich mit den technischen Aspekten zu befassen, die den Internet-Computer zu einer wettbewerbsfähigen serverlosen Plattform machen. Dabei ist es wichtig zu beachten, dass der Internet-Computer über zwei Arten der intelligenten Vertragsausführung verfügt – Aktualisierungsmodus und Im Abfragemodus stellt ersterer zustandsbehaftete Aufrufe dar, während letzterer zustandslos ist, genau wie allgemeines serverloses Computing.

Tabelle 2. Wichtige Funktionen für die Erstellung großer serverloser Anwendungen. Statefulness ist ein weiterer Vorteil von Internetcomputern.
图片
Tabelle 3. Detaillierte Plattformanalyse laufzeitbezogener Funktionen.

Die Beibehaltung des Zustands nach der Funktionsausführung ist eine seit langem gesuchte Funktion in der Serverless-/FaaS-Welt und sehr schwierig zu implementieren, da sie oft im Widerspruch zur nahtlosen Fan-Out-Skalierbarkeit steht, die derzeit in der Cloud verfügbar ist.

Glücklicherweise wurden Internetcomputer von Grund auf mit Blick auf Statefulness entwickelt und bieten Entwicklern diese Funktionalität, ohne dass manuelle Eingriffe wie das Speichern von Daten auf einer externen Speicherschicht oder Datenbank erforderlich sind, sodass alle Variablen oder Daten gespeichert werden bleibt nach Aufruf des Smart Contracts auf dem Internetrechner automatisch bestehen.

Dezentralisierung ist ein weiteres wichtiges Merkmal, das häufig übersehen wird. Moderne serverlose Produkte werden derzeit von mehreren großen zentralisierten Clouds bedient, was zu einer Anbieterbindung führt, bei der Entwicklercode und -daten nur so sicher sind wie ihr Anbieter und anfällig für geografische Störungen einfache Änderungen der Lieferantenrichtlinien.

Internetcomputer sind vollständig dezentralisiert, wobei Knotenmaschinen an verschiedenen geografischen Standorten laufen und unter starken Konsensgarantien arbeiten, die sogar byzantinische (böswillige) Ausfälle tolerieren können.

图片

Internetcomputer und traditionelle serverlose Plattformen

Um die Leistung der Internet-Computer-Blockchain im Hinblick auf serverlose Clouds zu bewerten, führten wir einen CPU-intensiven Benchmark-Computing-Prime-Test auf dem Internet-Computer und einer der drei besten serverlosen Plattformen durch. Bei kleineren Eingaben war der Internet-Computer besser als der herkömmliche serverlose Der Server ist schneller und bei größeren Eingaben nur halb so schnell wie herkömmliche (siehe Ergebnisse unten).

Das ist sehr ermutigend und zeigt, dass Internet-Computing im Vergleich zu herkömmlichen zentralisierten Clouds an Bedeutung gewinnt, auch wenn es noch ein langer Weg ist. Weitere Informationen finden Sie in unseren aktuellen, von Experten begutachteten Artikeln des renommierten Unternehmens USENIX ATC-Konferenz:

  • usenix.org/system/files/atc23-arutyunyan.pdf

图片
Abbildung 1. Beschleunigung im Vergleich zu den drei besten serverlosen Plattformen

Leistung verbessern

Zusätzliche integrierte Funktionen wie Dezentralisierung und Statefulness führen bei der Bewältigung großer Arbeitslasten zu einer geringeren Leistung von Internetcomputern (siehe Abbildung 2). Diese Funktionen sind zwar leistungsstark und wichtig, schwächen jedoch auch die reine Leistung.

图片
Abbildung 2. Dezentralisierung und zustandsbehafteter Overhead von Internetcomputern

Die Ingenieure und Forscher von DFINITY werden weiterhin nach Möglichkeiten suchen und erforschen, die Computerleistung im Internet zu steigern und zu verbessern. Einige Verbesserungsbereiche könnten die Erhöhung der Parallelität oder das Ersetzen der aktuellen Speicherschicht durch einen protokollstrukturierten Merge-Tree-Ansatz sein, um die Checkpoint-Zeiten zu verkürzen.

Die Nutzung der vollen Leistungsfähigkeit zusammengesetzter Abfragen zur Unterstützung komplexerer Anwendungen wird sich auch positiv auf die Leistung auswirken, um eine horizontale DAPP-Skalierung zu ermöglichen und den Client-Code zu vereinfachen, wodurch der Aufruf und die replizierte Ausführung von Abfragen über mehrere Subnetze hinweg ermöglicht werden sind auf dem Weg.

Erstellen Sie serverlose Anwendungen auf Internetcomputern

图片

Führen Sie Enterprise Pilot auf Internetcomputern aus

IC-Inhalte, die Ihnen wichtig sind

Technologiefortschritt |. Projektinformationen |

Sammeln und folgen Sie dem IC Binance Channel

Bleiben Sie mit den neuesten Informationen auf dem Laufenden