Im Februar fand in Berlin der AWS Summit statt. AWS ist ein Sammelbegriff für alle Internet-Produkte von Amazon: Hosting, Datenbanken und Datenverarbeitung, aber auch Machine Learning und Artificial Intelligence. Alles, was früher über eigene Rechner lief, kann heute in der AWS-Cloud abgewickelt werden.
Auch wir wollen uns in diesem Bereich weiterentwickeln. Weg von Servern, die gewartet werden müssen – das ist uns zu ausfallanfällig – hin zu mehr Unabhängigkeit und Skalierbarkeit. Unsere Projekte haben eine sehr große Reichweite mit Millionen von Nutzern. Da müssen wir gewährleisten, dass wir schnell und überall auf der Welt erreichbar sind und die Projekte auch wachsen können.
Großes Potenzial
Uns interessieren agile Entwicklung und Kosteneinsparungen. AWS hat großes Potenzial, da man auf diese Weise auf eigene DevOps verzichten kann, was einfach sehr teuer ist. Auch wenn ein Server down geht, läuft trotzdem alles weiter. Außerdem ist der Voice–Markt für uns relevant. Alexa läuft natürlich auf AWS. Das alles aus einer Hand zu haben, reduziert die Entwicklungskosten um mindestens die Hälfte. Man bucht nicht mehr verschiedene Services von verschiedenen Anbietern, sondern nur ein Komplettpaket bei Amazon.
Trendthema: Voice
Voice ist eines der großen Trendthemen. Auch auf dem AWS Summit erklärten Workshops und Talks, was dahintersteckt. Wenn wir: „Alexa, mach was!“ rufen, müssen die Daten von irgendwo herkommen. Aber wie werden diese Daten, die so genannten Requests, die ich an Alexa schicke, aufbereitet?
Im Grunde kann man aus verschiedenen Methoden auswählen. Wenn wir von Amazons Alexa sprechen, dann gibt es meistens eine sogenannte Lambda-Funktion. Lambda übernimmt alles, was zum Ausführen und Skalieren des Codes für hohe Verfügbarkeit erforderlich ist. Lambdas schweben in der Cloud vor sich hin und übernehmen eine bestimmte Aufgabe. Sage ich: „Hol mir das Wetter von Amazon“, dann verarbeitet eine Lambda-Funktion diese Anfrage. Das kann sich über mehrere Funktionen verteilen. Best Practice ist: Jede Lambda–Funktion erledigt nur eine Aufgabe. Die eine holt die Wetter-Daten, die nächste konvertiert diese Daten in ein verständliches Format. So entsteht ein kleiner Kreislauf.
Das kann man sich wie eine Eimer-Kette mit vielen Gliedern vorstellen. Jedes Glied hat seine spezielle Aufgabe. Es gibt nicht mehr einen großen Server, der alles macht und auf dem die Daten wie Frontend oder Informationen wie das Wetter und so weiter liegen, sondern es geht Schritt für Schritt. Das nennt man Headless Server & Microservices.
Das bedeutet, dass man gut skalieren kann. Man kann Funktionen dazu wählen, Funktionen, die man nicht mehr braucht, kann man abwählen. Am Ende bezahlt man nur die Funktionen, die auch ausgeführt werden. Eine solche Funktion wird in dem Bruchteil einer Sekunde abgeholt. Da sich alles nach Rechendauer berechnet, liegen wir bei sehr geringen Preisen: 0,0000002 USD pro Anfrage.
Von Jahren zu Stunden
Einen Case aus der Leukämieforschung fand ich in diesem Zusammenhang interessant. Forscher analysieren Genomsequenzen und schauen, wo und welche Patienten Marker für Blutkrebs haben. Da fallen in wenigen Tagen 2,5 Petabyte Daten an. Ohne AWS dauerte es zehn Jahre, um das Genom zu sequenzieren. Heute liegt man bei zwölf bis 24 Stunden pro Patient: Von Jahren runter auf ein paar Stunden. Und bald nur noch Minuten. Das ist schon eine Leistung.
Geschwindigkeit ist auch für die verschiedenen Formen künstlicher Intelligenz ganz entscheidend. TUI findet beispielsweise mithilfe von Machine Learning heraus, welche Reiseziele im Folgejahr attraktiv sein könnten. Natürlich haben sie nicht verraten, wie der Algorithmus genau funktioniert. Sie scheinen mehrere Quellen zu benutzen, um herauszufinden, welches Land gefragt sein wird und für welche Destination sie daher mehr Angebote schaffen sollten. Dank AWS können sie die enorme Rechenleistung, die sie dafür benötigen, einfach skalieren.
Ein anderes Best Practice-Beispiel stellte eine Firma vor, die komplett ohne Server auskommt. Das Unternehmen braucht sich nicht um Datenbanken, User-Management, Daten-Sicherheit und so weiter zu kümmern, sondern es bezahlt einfach nur die verbrauchte Leistung.
Man muss nicht alles selber machen
Wenn man als Unternehmen bereit ist, abzugeben und versteht, dass man nicht mehr alles selber machen muss, muss man auch kein Personal dafür bezahlen. Für Entwickler wie mich bedeutet das: Ich muss mir keinen Kopf machen, wie ich diesen oder jenen Rechner zum Laufen bekomme oder wie ich ihn am Leben halte, sondern ich kann mich hundertprozentig auf die Entwicklung konzentrieren, während die Profis von AWS die Wartungsarbeiten übernehmen.
Oft gibt es Bedenken wegen des Datenschutzes. Die Server stehen vor allem in Frankfurt im Rechenzentrum, aber auch in Berlin und an weiteren europäischen Standorten. Nur weil Amazon ein US-Unternehmen ist, heißt das nicht zwangsläufig, dass die Daten auch in den USA liegen. Die Daten sind DSGVO-konform und verfügen über die entsprechenden ISO-Standards.
Fazit
Es war ein kurzweiliges und interessantes Festival. Ich lernte Leute aus der Szene kennen, hörte Sachen, die man sonst nur online in irgendwelchen Dokumentationen liest und quatschte mit Leuten über die Technik. Es waren viele Neulinge da, die gerade mit AWS anfangen. Das war erfrischend. Nur waren die Talks leider überlaufen.
Mein Highlight war ein Bot, der auf Zuruf Cappuccino gemacht hat: „Alexa, mach mir Cappuccino!“ Das brauchen wir dringend im Büro!