Interview mit AWS-Verantwortlichen zu KI-Assistenten AWS unterstützt Developer mit Amazon Q und CodeWhisperer

Das Gespräch führte Michael Matzer 9 min Lesedauer

Anbieter zum Thema

Dev-Insider sprach mit AWS-Manager Chris Schlaeger über Technologien wie Nitro und Firecracker. Zudem gibt AWS-Direktor Jonathan Weiss Auskunft über die Möglichkeiten mit KI, Machine Learning und neuen Low-/No-Code-Tools.

Die AWS-Verantwortlichen Jonathan Weiss (links) und Christian Schlaeger berichten über aktuelle KI-Implementierungen des Cloud-Spezialisten.
Die AWS-Verantwortlichen Jonathan Weiss (links) und Christian Schlaeger berichten über aktuelle KI-Implementierungen des Cloud-Spezialisten.
(Bild: AWS)

Jonathan Weiss, Managing Director Amazon Development Center Germany und ein Experte für KI und ML-Themen bei AWS.
Jonathan Weiss, Managing Director Amazon Development Center Germany und ein Experte für KI und ML-Themen bei AWS.
(Bild: AWS)

Dev-Insider: Der neue KI-Assistent Amazon Q soll Entwicklerinnen und Entwickler bei ihrer Arbeit unterstützen, aber wie, in welcher Sprache und für welche Plattformen?

Jonathan Weiss, Managing Director Amazon Development Center Germany:

Amazon Q ist speziell für die berufliche Nutzung konzipiert und unterstützt als KI-Assistent Entwickler bei unternehmensspezifischen Herausforderungen, indem er auf die Daten des Unternehmens zugreift.

Amazon Q transformiert die Arbeitsweise von Entwicklern beim Aufbau, der Bereitstellung und dem Betrieb von Anwendungen und Workloads auf AWS. Die integrierte Benutzeroberfläche ermöglicht es, komplexe Fragen in natürlicher Sprache zu verfassen, das Erstellen von Dokumenten und die Interaktion mit Drittanbieter-Anwendungen. Amazon Q liefert präzise Antworten mit Quellenangaben.

So kann man beispielsweise mit Amazon Q den besten EC2-Instance-Typ für eine bestimmte Anwendung finden oder Fehler bei EC2- oder S3-Konfigurationen beheben. Auch Netzwerkprobleme lassen sich diagnostizieren, etwa wenn keine Verbindung zur EC2-Instanz möglich ist. Dabei kann Amazon Q in mehreren Sprachen antworten.

Derzeit unterstützt Amazon Q Code-Sprachen und IDEs, die als Teil des AWS Toolkits für VS Code und JetBrains verfügbar sind, sowie die Programmiersprachen Python, Java, JavaScript, TypeScript, C#, Go, Rust, PHP, Ruby, Kotlin, C, C++, Shell Scripting, SQL und Scala.

Dev-Insider: Angeblich kann das Tool ganze Apps schreiben.

Das Tool Amazon Q Code Transformation modernisiert Java-Applikationen von den Java-Versionen 8 und 11 auf 17 (LTS), doch schon bald soll das Tool in der Lage sein, Windows-basierte NET-Framework-Applikation auf Cross-Platform-NET zu migrieren.
Das Tool Amazon Q Code Transformation modernisiert Java-Applikationen von den Java-Versionen 8 und 11 auf 17 (LTS), doch schon bald soll das Tool in der Lage sein, Windows-basierte NET-Framework-Applikation auf Cross-Platform-NET zu migrieren.
(Bild: AWS)

Weiss: Für Entwickler kombiniert Amazon Q die eingebaute Expertise für Softwareentwicklung mit einem Verständnis für kundenspezifischen Code. Damit können Entwickler Fragen zur Programmlogik stellen oder darüber, wie bestimmte Aspekte des Programms funktionieren. Amazon Q kann Entwicklern dabei helfen, Code zu debuggen, zu testen und zu optimieren, und liefert dazu eine Beschreibung in natürlicher Sprache zusammen mit passendem Code, den Entwickler mit einem Klick übernehmen können.

Darüber hinaus hilft Amazon Q bei der Entwicklung neuer Features oder hilft bei der Wartung bzw. Anpassung von altem Code auf neue Programmiersprachversionen mittels eines speziellen „/transform“-Befehls. So hat vor kurzem ein Team aus fünf Amazon-Entwicklern 1.000 Applikationen mithilfe von „Amazon Q Code Transformation“ von Java 8 auf Java 17 in nur zwei Tagen aktualisiert.

Dev-Insider: Wird Amazon Q also Developer bald arbeitslos machen?

Weiss: Amazon Q wird die Arbeit von Entwicklern ergänzen und sie dabei unterstützen, produktiver und effizienter neue Anwendungen zu entwickeln bzw. bestehende Anwendungen weiterzuentwickeln.

Amazon Q, und generative KI insgesamt, bieten enorme Vorteile für die Automatisierung und Vereinfachung von mühsamen, redundanten und zeitaufwändigen Aufgaben. Dadurch können sich Entwickler stärker auf kreative Arbeiten konzentrieren, statt Zeit mit langwierigen Recherchen oder in Support-Foren zu verbringen.

Viele Entwickler investieren heutzutage Stunden in die Wartung und Aktualisierung von Anwendungen, was weniger Zeit für das Schreiben von Code oder das Erstellen neuer Anwendungen lässt. Wer ein neues Feature für eine Anwendung hinzufügen möchte, muss dafür möglicherweise Tausende von Zeilen Code ändern. Mit Q können Entwickler einen Großteil dieses Prozesses automatisieren und müssen die Vorschläge von Q dann nur noch vor der Veröffentlichung überprüfen.

Gleichzeitig ist es wichtig, dass die Entwickler weiterhin die von KI erzeugten Arbeiten verifizieren und sicherstellen, dass KI verantwortungsbewusst eingesetzt wird.

Dev-Insider: Was bedeutet dieser Trend für die Branche?

Weiss: Insgesamt können generative KI-Tools wie Amazon Q dazu führen, dass es in Zukunft mehr Software-Entwickler geben wird und helfen, neue Gruppen von Menschen für die Entwicklung von Code zu begeistern. Das kann auch helfen, dem Fachkräftemangel in der IT zu begegnen oder neue Anwendungsbereiche für die Digitalisierung zu öffnen, bei denen heute zu wenig Entwickler zur Verfügung stehen.

Dev-Insider: Amazon Q und No/Low-Code-Programmierung passen offenbar gut zusammen. Auf welche Weise unterstützt Q diese Development-Ansätze?

Weiss: Amazon Q selbst ist kein No/Low-Code-Tool, sondern hilft Software-Entwicklern in ihrer Arbeit. Entwickler müssen den Code aber selbst verstehen und prüfen können. Mit Features wie Code Transformation kann Amazon Q die Entwicklung deutlich beschleunigen und dadurch kann es vielleicht wie Low-Code Programmierung wirken.

Chris Schlaeger ist Standortleiter und Geschäftsführer der Amazon Development Center Germany GmbH. Seine Teams arbeiten an der Kernel- und Betriebssystementwicklung.
Chris Schlaeger ist Standortleiter und Geschäftsführer der Amazon Development Center Germany GmbH. Seine Teams arbeiten an der Kernel- und Betriebssystementwicklung.
(Bild: AWS)

Chris Schlaeger ist Standortleiter und Geschäftsführer der Amazon Development Center Germany GmbH. Sein Team in Dresden gehört zur Amazon Development Center Germany GmbH. Daneben gibt es noch Teams in Berlin, Tübingen (Robotik) und Aachen (Alexa, Amazon Monitron und Amazon Transcribe).

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Dev-Insider: Herr Schlaeger, sind Sie der Erfinder von Nitro?

Schlaeger: Ich war definitiv mit an der Nitro-Technologieentwicklung beteiligt. Man könnte auch sagen, ohne das, was meine Organisation dazu geliefert hat, wäre das AWS Nitro System sicherlich nicht das, was es heute ist. Aber Nitro hat viele Väter. Unter anderem würde Peter DeSantis, Senior Vice President of AWS Utility Computing bei AWS, ebenfalls dazu zählen.

Der Grund, weshalb Peter DeSantis uns ab 2013 reingeholt hat, war, dass er einen neuen Hypervisor brauchte, und das ist für die Nitro-Technologie eine sehr wichtige Komponente, die vieles anders macht als die Xen-Technologie, die wir davor hatten. Der Hardware-Teil wurde von Annapurna Labs dazu geliefert, eine Firma aus Israel, die AWS vor neun Jahren gekauft hat.

Dev-Insider: Worin bestand die besondere Herausforderung bei der Entwicklung von Nitro?

Wenn man einen Hypervisor schreibt, braucht man auch Betriebssystem-Know-how. Wir haben ein Betriebssystem namens Amazon Linux. Das ist das Betriebssystem, was wir auf nahezu allen Servern, die wir haben, bei Amazon einsetzen.

Alle AWS-Dienste laufen auf Amazon Linux, und wir stellen Amazon Linux auch unseren Kunden zur Verfügung. Wenn man zum Beispiel eine EC2-Instanz startet und nichts weiter angibt, dann kriegt man die aktuelle Version von Amazon Linux als Betriebssystem. Es ist auch Teil meiner Organisation, nämlich als Operating System-Teil. Nitro, der Hypervisor, basiert auf KVM, denn KVM ist Teil des Linux-Kernels.

Dev-Insider: Der Trend geht erstens in Richtung Low-Code/No-Code und zweitens hin zu Generativer KI. Was entwickelt Amazon in dieser Richtung?

Schlaeger: Zum einen haben wir eine ganze Reihe Dienste, die es unseren Kunden und Nutzern vereinfachen, ihre Workloads in die Cloud zu bringen. Wir wollen, dass die Kunden – welches Geschäft auch immer sie haben, eines, das irgendwo so ein bisschen oder auch viel IT im Hintergrund braucht –, produktiver und effizienter arbeiten können, ohne allzu tiefes Know-how haben zu müssen.

Programmieren in irgendeiner Form muss man eigentlich immer. Aber da gibt es jetzt natürlich große Unterschiede. Man kann auf der einen Seite das Ganze, wie Großteile meines Teams, in C oder sogar Assembler machen, oder man kann sich das jetzt weitestgehend automatisch generieren lassen. Hier trifft jetzt der KI-Bereich den Programmierbereich, wie zum Beispiel im Tool Amazon CodeWhisperer.

Dev-Insider: Ist CodeWhisperer eine Art Vorschlagsinstrument, das Ideen aufgreift und Empfehlungen erteilt?

Ein Beispiel für ein „Hello World“-Programm in Amazon CodeWhisperer.
Ein Beispiel für ein „Hello World“-Programm in Amazon CodeWhisperer.
(Bild: AWS)

Schlaeger: CodeWhisperer kann Codevorschläge, die von Codefragmenten bis hin zu vollständigen Funktionen reichen, generieren. Natürlich kommt es immer darauf an, was man genau realisieren möchte, wie viel man automatisiert haben möchte. Weil AWS jetzt Vorschläge in Klartext annehmen kann, muss der User nicht mehr zwangsläufig programmieren können.

Natürlich ist es immer noch sinnvoll zu verstehen, was der Code, der generiert wird, auch tut. Aber man hat zumindest eine gute Grundlage, um erst mal loszulegen. Und das erleichtert die Arbeit; das reine Tippen wird einem weitgehend abgenommen.

Dev-Insider: Hilft der Einsatz von SageMaker bei der KI-Programmierung?

In Amazon SageMaker Studio können Nutzer nun ihre bevorzugten IDEs wie etwa JupyterLabs, R Studio oder Visual Studio einbinden und direkt starten. Dies erlaubt auch die Nutzung von Open-Source-Code, etwa aus GitHub.
In Amazon SageMaker Studio können Nutzer nun ihre bevorzugten IDEs wie etwa JupyterLabs, R Studio oder Visual Studio einbinden und direkt starten. Dies erlaubt auch die Nutzung von Open-Source-Code, etwa aus GitHub.
(Bild: AWS)

Schlaeger: Amazon SageMaker ist eine Machine-Learning-Werkbank, mit deren Hilfe man seine eigenen Modelle entwickeln kann. Der Nutzer gibt Trainingsdaten vor, kann dann AI-Komponenten auswählen und prüfen, wie dann die Ergebnisse nach dem Training sind.

Das Ganze lässt sich noch feintunen, und dann kann man zur Inferenz übergehen – also in die Anwendung des Modells, das man entwickelt hat – und dann gegebenenfalls mit neuen Trainingsdaten nochmal verfeinern, ohne tiefes Wissen über ML-Modelle haben zu müssen. Trotzdem erhält man gute Anwendungen, die auf ML-Basis arbeiten. (Zu Amazon Q siehe oben.)

Dev-Insider: Wie geht es mit Nitro weiter?

Schlaeger: Es ist eine Technologie, die wir als fundamentale Basis entwickelt haben, um weiter skalieren zu können. Wir wollten eine bessere Performance als bei Xen ermöglichen. Das haben wir sehr gut geschafft.

Wir wollten das Thema Sicherheit noch weiter stärken, und zwar dadurch, dass bei Nitro kein Operator – also Amazon-Mitarbeiter – mehr Zugriff auf die eigentlichen Nitro-Maschinen haben muss. So können wir sicherstellen, dass die Daten, die der Kunde innerhalb der Instanz typischerweise im Klartext vorliegen hat, für Amazon nicht mehr sichtbar sind.

Wir können mit eigener Hardware-Probleme ganz anders lösen als zuvor: mit Chips und CPUs. Durch diesen Prozess, eigene Hardware entwickeln zu können, sind wir in der Lage, auch sehr komplexe ML-Maschinen zu steuern.

Wenn man 16 GPUs, oder auch unsere Chips Inferentia oder Trainium, in so ein ML-System packt, dann erhält man eine hochkomplexe Architektur, die über den Bus quasi mit dem Speicher vom Hauptsystem kooperieren muss. Das lässt sich über PCI-Express und solche Systeme beherrschen.

Sie stabil zu steuern, erfordert indes eine Unmenge an Know-how und Erfahrung. Das sind Dinge, die wir im Laufe der Zeit gelernt haben. Mit unseren eigenen Chips können wir unseren Kunden leistungsfähige ML-Plattformen zur Verfügung stellen: die P- und die G-Instanztypen, die speziell für Machine Learning geeignet sind, aber General-Purpose-GPUs drin haben, oder die Trn-Instanz für Trainium oder Inferentia für Inferenz. Wir unterstützen in den P- und G-Instanzen auch Nvidia GPUs. Unter der Haube steckt immer Nitro drin.

Dev-Insider: Wo liegen dann jeweils die Vorteile für den Entwickler?

Schlaeger: All dies ist für den Softwareentwickler relevant. Es kommt darauf an, was man machen will, für seine Applikationen, also auch im Bereich Machine Learning. Wenn man jetzt CUDA-basiert arbeitet, kommt man um Nvidia nicht drum herum, ganz gleich, welche CPU da drunter ist. Man könnte auch die Graviton-CPU bzw. eine entsprechende Instanz nehmen. Dazu muss man die entsprechende Software als Arm-Software haben.

Mit einer Intel-CPU plus Nvidia-GPU ist man gut bedient, aber wir wollen natürlich auch selbst die Innovation treiben können und haben deswegen Trainium und Inferentia entwickelt. Damit hat man die Möglichkeit, auch andere Hardware zu machen bzw. zu nutzen, die speziell für Deep-Learning-Anwendungen optimiert ist.

Dev-Insider: Welche Funktion hat Firecracker innerhalb von Nitro?

Schlaeger: Rust hat Vorteile, die gerade sicherheitsrelevante Fehler von vornherein ausschließen. Und deshalb haben wir Rust eingesetzt, etwa um Firecracker zu entwickeln.

Firecracker ist eine Art Hypervisor für Lightweight Workload: ein Virtual Machine Monitor (VMM). Wenn man keine komplette VM mit dem gesamten Betriebssystem starten möchte, was durchaus ein paar Sekunden dauern kann, sondern wenn man wie im Fall von AWS Lambda ein kleines Snippet Code ausführen will, weil ein Event es getriggert hat, dann kann man innerhalb von Millisekunden die komplette Umgebung zur Verfügung stellen.

Man braucht typischerweise ein bis zehn Sekunden zum Starten einer EC2 Instanz und auch entsprechend viel Speicher. Für AWS Lambda wäre das völlig inakzeptabel. Wenn ich so ein Lambda-Event habe, will ich innerhalb von Millisekunden, dass dieses ausgeführt wird.

Dev-Insider: Firecracker ist also sehr wichtig für IoT-Anwendungen?

Schlaeger: Wenn man dafür Lambda verwendet, dann schon. Wir haben Firecracker speziell für Lambda entwickelt, daher basiert Lambda auf Firecracker. Lambda hat typischerweise Ausführzeiten bis maximal zehn Sekunden.

Dev-Insider: Wie wird die AWS-Angebotspalette für Entwickler in zwölf Monaten aussehen? Können Sie bestimmte Trends oder Stoßrichtungen nennen? Wird es z.B. mehr Echtzeitanwendungen geben, die auf TimeSync aufbauen?

Weiss: Generell ist es unser Ziel, Software-Entwicklung zu vereinfachen und zu beschleunigen. Wir wollen es möglichst einfach machen, selbst komplexe Anwendungen auf AWS laufen zu lassen. Dafür werden wir unser Angebot auch in Zukunft ständig gemäß den Anforderungen der Entwickler weiterentwickeln, damit wir deren tägliche Arbeit weiterhin bestmöglich unterstützen. Wir denken, dass Kunden insbesondere mithilfe von KI in der Software-Entwicklung in Zukunft noch produktiver sein können, besseren Code schreiben und so mehr Zeit für andere kreative Aufgaben gewinnen werden.

(ID:49876775)