Categories: Open SourceSoftware

AWS setzt auf Rust

Amazon Web Services (AWS) hat die Gründe dargelegt, warum seine Entwickler Rust als eine energieeffizientere Programmiersprache bevorzugen. Vor gerade einmal sieben Jahren erreichte die Programmiersprache Rust die Version 1.0 und ist damit eine der jüngsten Sprachen, die auch für große, in C und C++ geschriebene Codebasen vielversprechend ist. Heute setzen Amazon, Google und Microsoft auf die Sprache, die ursprünglich als persönliches Projekt von Graydon Hoare begann, bevor sie 2010 zu einem Forschungsprojekt bei Mozilla wurde.

Rust ist nicht so populär wie Java, JavaScript oder Python, aber es ist zu einer wichtigen Sprache für die Entwicklung von Systemen wie dem Linux-Kernel, Windows, Chrome und Android geworden. AWS hat Rust schon früh unterstützt, ist Gründungsmitglied der Rust Foundation und wirbt laufend um neue Mitarbeiter für Rust.

Rust hilft Entwicklern, eine Reihe von speicherbezogenen Fehlern zu vermeiden, die bei C/C++ üblich sind und die Unternehmen letztendlich Sicherheitsupdates kosten. Die Sprache erhielt ihre öffentlichkeitswirksamste Unterstützung, als Microsoft bekannt gab, dass es mit ihr für Windows experimentiert, vor allem um Speicherfehler zu vermeiden.

In einem Beitrag von Shane Miller, Rust-Befürworter und Software-Ingenieur bei AWS, und Carl Lerche, leitender Ingenieur bei AWS, wird jedoch hervorgehoben, dass es bei Rust nicht nur um Speichersicherheit und die Verringerung von Sicherheitsfehlern geht, sondern dass es sich um eine viel umweltfreundlichere Sprache als Python und Java handelt. Damit unterstützt sie Amazons Bestreben, seine Rechenzentren umweltfreundlicher zu gestalten. Das Unternehmen hat sich zum Ziel gesetzt, seine Rechenzentren bis 2025 vollständig auf erneuerbare Energien umzustellen.

Zu den AWS-Diensten, die auf Rust basieren, gehören Firecracker, die Technologie hinter der serverlosen Plattform Lambda für containerisierte Anwendungen, Amazon Simple Storage Service (S3), Elastic Compute Cloud (EC2), das Content-Delivery-Netzwerk CloudFront und Bottlerocket, ein Linux-basiertes Container-Betriebssystem.

Rechenzentren machen 1 % des weltweiten Energieverbrauchs aus, was etwa 200 Terawattstunden Energie pro Tag ausmacht, und auch die verwendeten Programmiersprachen können sich auf den Energieverbrauch auswirken.

„Es ist keine Überraschung, dass C und Rust effizienter sind als andere Sprachen. Schockierend ist jedoch das Ausmaß des Unterschieds. Eine breite Einführung von C und Rust könnte den Energieverbrauch von Computern um 50 % senken – selbst bei einer konservativen Schätzung“, sagt Miller und verweist auf eine Studie, die die relative Energieeffizienz von Sprachen wie C, Googles Go, Lua, Python, Ruby und dem alten Fortran zeigt.

„Rust bietet die Energieeffizienz von C ohne das Risiko eines undefinierten Verhaltens. Wir können den Energieverbrauch um die Hälfte reduzieren, ohne die Vorteile der Speichersicherheit zu verlieren“, erklärt Miller und verweist auf die Leistung einer Anwendung des Cybersicherheitsunternehmens Tenable, die zuvor in JavaScript geschrieben war und jetzt in Rust geschrieben ist. Die Rust-Anwendung übertrifft JavaScript bei der CPU-Leistung, indem sie die Latenzzeit um die Hälfte und den CPU-Verbrauch um 75 % und den Speicherverbrauch um 95 % reduziert.

Die beliebte Messaging-App Discord ist ebenfalls auf Rust umgestiegen, nachdem sie ursprünglich auf Python, Googles Go und Elixir aufgebaut war.  „Da Go eine Garbage-Collection-Sprache ist, muss der Garbage-Collector bei der Erstellung und Freigabe von Objekten immer wieder die Ausführung des Programms stoppen und einen Garbage-Collection-Durchlauf durchführen“, erklärt Miller.

Das Umschreiben dieses Dienstes in Rust ermöglichte es, den Dienst 10 Mal schneller zu machen und die Latenzzeiten deutlich zu reduzieren, was wiederum zu weniger Servern und damit zu weniger Energie führt.

„Rust ist nicht die erste effiziente Sprache. C gibt es schon seit langem, aber Rust ist die erste Mainstream-Programmiersprache, die effizient ist, ohne die Sicherheit zu beeinträchtigen. 70 % aller schwerwiegenden Sicherheitslücken, die mit C und C++ geschrieben werden, sind auf unsicheren Speicher zurückzuführen, und Rust bietet Effizienz, ohne dass man das Gefühl hat, mit dem Feuer zu spielen“, betont Miller.

Trotz allem hat Rust auch Nachteile, vor allem ist es schwer zu erlernen. Erfahrene Entwickler brauchen 3 bis 6 Monate, um mit Rust produktiv zu werden, so Miller und Lerche, unterstützt durch den Zugang zu Experten.

ZDNet.de Redaktion

Recent Posts

Gefahren im Foxit PDF-Reader

Check Point warnt vor offener Schwachstelle, die derzeit von Hackern für Phishing ausgenutzt wird.

2 Tagen ago

Bitdefender entdeckt Sicherheitslücken in Überwachungskameras

Video-Babyphones sind ebenfalls betroffen. Cyberkriminelle nehmen vermehrt IoT-Hardware ins Visier.

2 Tagen ago

Top-Malware in Deutschland: CloudEye zurück an der Spitze

Der Downloader hat hierzulande im April einen Anteil von 18,58 Prozent. Im Bereich Ransomware ist…

2 Tagen ago

Podcast: „Die Zero Trust-Architektur ist gekommen, um zu bleiben“

Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…

3 Tagen ago

Google schließt weitere Zero-Day-Lücke in Chrome

Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…

3 Tagen ago

Hacker greifen Zero-Day-Lücke in Windows mit Banking-Trojaner QakBot an

Microsoft bietet seit Anfang der Woche einen Patch für die Lücke. Kaspersky-Forscher gehen davon aus,…

3 Tagen ago