Interview mit Glenn Gore von AWS 19.02.2018, 07:26 Uhr

«Wir sind selbst eine Firma von Programmierern»

Die Cloud hat die Arbeit, Stellung und Funktion von Entwicklern grundlegend verändert. Im Computerworld-Interview spricht Glenn Gore, Global Chief Architect beim Cloud-Giganten Amazon Web Services (AWS), über die gewandelte Rolle des Programmierers in der Welt von virtuellen Maschinen, Containern und Microservices
Dank der Cloud wachse für Programmierer der Einfluss in der Firmen-IT, ist Glenn Gore von AWS überzeugt.
(Quelle: Jens Stark / NMGZ)
Cloud-Umgebungen sind aus heutigen IT-Set-ups kaum noch wegzudenken. Der Siegeszug der Cloud verändert aber nicht nur die Firmen-IT. Auch die Rolle der Entwickler ändert sich dramatisch. Ihre Arbeit wird einerseits interessanter, andererseits aber auch verantwortungsvoller. Computerworld sprach mit Glenn Gore, Global Chief Architect bei Amazon Web Services (AWS), über die veränderte Welt des Programmierers sowie über die DevOps-Aufgaben von «Zwei-Pizzen-Teams» bei AWS.
Computerworld: Wie hat die Cloud die Art und Weise verändert, wie Entwickler arbeiten?
Glenn Gore: Es sind ein paar Dinge, die sich verändert haben. Das Wichtigste ist, dass Entwickler nun die Kontrolle haben über die Umgebung, in der sie Applikationen aus­rollen. Vorher konnten sie nur Anwendungen schreiben und nicht mehr. Sie mussten dann ihre Entwicklung einem weiteren Experten geben, der sie testete und Fehler zur Bereinigung meldete. Danach kam das Team, das für den Betrieb verantwortlich war, das die Applikation ausrollte. Dieser Prozess war langsam. Ein Beispiel: Hatte der Entwickler sich etwa in der Grösse der Applikation vertan, musste das Operations-Team ihm das nachträglich mitteilen und der mühsame Prozess begann von Neuem. Zu diesem Zeitpunkt war der Entwickler schon mit einem völlig anderen Projekt beschäftigt, musste sich also erst wieder in das voran­gegangene Vorhaben reindenken.
Ganz anders ist es mit der Cloud. Hier erhält der Entwickler den direkten Zugriff auf die Programmierschnittstellen (API), er kann die Applikation bereitstellen und dabei direkt Änderungen in Dingen wie Load Balancing und Skalierung vornehmen.
Das ist aber erst der Anfang. Die Vorgehensweise ermöglicht ganz neue Entwicklungskonzepte wie DevOps. Dabei wird derjenige auch für den Betrieb verantwortlich, der den Code am besten kennt, und das ist der Entwickler. Die Cloud hat also die Rolle des Entwicklers massiv gestärkt.
CW: Aus Sicht des Entwicklers: Was sind da die Unterschiede zwischen Anbietern wie AWS und Konkurrenten wie Microsoft Azure und der Google Cloud?
Gore: Mit AWS erhalten Sie vor allem das breiteste An­gebot an Dienstleistungen. Keiner der Konkurrenten hat wie wir Hunderte Services dem Entwickler zu bieten. Kommt dazu, dass wir bereits seit 2006 mit unseren Cloud-Diensten präsent sind, also auf eine gewisse Erfahrung verweisen können. Zudem erhalten Sie mit uns Zugang zu aus­gefeilten Sicherheitsdiensten und zu einer sehr stabilen und robusten Plattform. Schliesslich finden Sie bei uns einen Innovationsrhythmus, der seinesgleichen sucht. So haben wir letztes Jahr der Plattform 1400 Updates an­gedeihen lassen. Das Beste aber: Wir lieben Entwickler, da wir selbst eine Firma von Programmierern sind …

CW: Welches Feedback erhalten Sie von Programmierern? Was vermissen diese noch auf AWS?
Gore: Eine grossartige Sache an Entwicklern ist, dass sie nie ganz zufrieden sind. Sie wollen immer mehr. Das lieben wir aber an ihnen, denn es fördert unsere Innovationen!
Unsere eigene Roadmap ist im Grunde genommen von den Programmierern getrieben. Wir erhalten ständig Rückmeldungen, wo noch eine Funktion fehlt oder ein Prozess vereinfacht werden kann.
Ein grosser Bereich, der jetzt von uns aufgebaut wird, ist das Gebiet des maschinellen Lernens. Dazu gehören Dienste wie Amazon Lex für die Umwandlung von Sprache in Text – ein wichtiger Bestandteil entsprechender Chatbots – oder Amazon Polly, mit dem Text in verschiedenen Stimmen gesprochen werden kann. Hinzu kommen Dinge wie Bild- und Videoerkennung. Diese Features sind alle auf Vorschlag von Entwicklern eingeführt worden, die uns sagten, dass sie schlicht nicht die Zeit und Ressourcen haben, eigene
Maschinenlerntechniken zu programmieren. Sie wollen nur eine API haben, über die sie entsprechende Funktionali­täten in ihre eigenen Applikationen integrieren können.

Swisstopo als Paradebeispiel

CW: Welche Fähigkeiten und Kenntnisse brauchen Programmierer in einer cloudbasierten IT-Welt?
Gore: Hier hat sich tatsächlich einiges geändert. Bis vor Kurzem schauten Unternehmen bei der Rekrutierung von Entwicklern hauptsächlich auf deren computerwissenschaftliche Kenntnisse. «Können Sie programmieren?», «Verstehen Sie etwas von Algorithmen?» waren typische Fragen. Dann erkannten viele, dass die Idealbesetzung jemand ist, der nicht nur etwas von Computerwissenschaft versteht, sondern auch betriebswirtschaftliche Kenntnisse mitbringt. Es wurde also darauf geachtet, dass jemand die Business-Seite verstehen kann und deren Bedürfnisse adäquat in technische Spezifikationen und letztendlich in Programmcode übersetzen kann. Heute beobachten wir bereits eine dritte Generation: Neben den computer- und wirtschaftswissenschaftlichen Aspekten ist auch Hintergrundwissen in Data Science, Mathematik und Statistik sowie künst­licher Intelligenz nötig.
Zugegeben, noch gibt es wenige Fachkräfte, die alle Qualifikationen in der Kombination vorweisen können. Deshalb können auch jene, die solche Kenntnisse haben, entsprechend hohe Gehälter verlangen.
CW: Ziehen da die Hochschulen mit und bieten eine entsprechende Ausbildung an?
Gore: Lassen Sie es mich so sagen: Die Situation ist für alle Beteiligten eine Herausforderung. Wir arbeiten eng mit den Hochschulen zusammen. Wichtig in diesem Zusammenhang ist vielleicht auch, dass sich Studierende darüber im Klaren sind, dass auch Eigenschaften wie Kreativität
gefragt sein werden und die Bereitschaft, sich schnell auf Änderungen einzustellen.
«Eine grossartige Sache an Entwicklern ist, dass sie nie ganz zufrieden sind», meint Glenn Gore von AWS
Quelle: Jens Stark / NMGZ
CW: Können Sie eine Schweizer Firma oder Institution nennen, die das cloudbasierte Entwickeln praktiziert?
Gore: Ein interessantes Beispiel ist sicherlich SwissTopo. Sie betreiben ihre digitale Plattform auf AWS und interagieren hierüber auch mit ihren Kunden. Dank der Nutzung unserer Cloud können sie neue Features des GIS schneller ihren Kunden bereitstellen, wie etwa Geländemodellierung und Augmented-Reality-Funktionen. Auch bei diesem Beispiel gilt: SwissTopo braucht sich nicht mehr gross um den Betrieb der Plattform zu kümmern, das ist nun die Sache von AWS, sondern sie können sich ganz darauf konzentrieren, neue Funktionen bereitzustellen.
CW: Eine wichtige Branche in der Schweiz ist die Finanz­industrie, die von Gesetzes wegen ihre Kundendaten nicht im Ausland speichern kann. Ihr nächstes Rechenzentrum steht aber in Frankfurt am Main. Wie gehen Sie mit dieser Klientel um?
Gore: Wir haben Kunden aus der Finanzbranche auch aus der Schweiz. Denn die gesetzlichen Vorgaben betreffen nur ganz bestimmte Arten von Daten. So gelten die Regeln nicht für die Entwicklung und das Testen von Applikationen, diese können durchaus auch im Ausland durchgeführt werden. Daneben gibt es diverse Webseiten und -applikationen, die nichts mit dem Kerngeschäft der Banken zu tun haben, wie etwa die Marketingaktivitäten. Diese lassen sich sehr wohl auch ausserhalb der Schweiz hosten.
CW: Werden Sie somit in der Schweiz ein Rechenzentrum aufbauen, um auch jene Daten ver­arbeiten zu können, die Ihnen bislang verwehrt werden?
Gore: Hierzu gibt es bislang keine konkreten Pläne.

Wie entwickelt AWS selbst?

CW: AWS hat selbst eine riesige Anzahl Entwickler. Wie haben Sie die Entwicklung organisiert und wie unterscheidet sich Ihre Vor­gehensweise von anderen Software-Firmen oder einer klassischen IT-Abteilung in einem Unternehmen?
Gore: Sie haben recht, wir haben sehr viele Software-Ingenieure. Allerdings arbeiten sie alle in jeweils überschaubaren Teams. Wir nennen sie intern «Zwei-Pizzen-Teams», denn sie bestehen jeweils aus so vielen Leuten, dass sie mit zwei grossen Pizzen satt würden, also rund sieben bis zehn Personen. Dadurch, dass die Teams klein sind, muss die Software ebenfalls in Stücke geteilt werden, die gut zu bewältigen sind. Wird ein Team also zu gross, wird der Umfang des Projekts wieder verkleinert und wir definieren entsprechende Programmierschnittstellen (API). Das erklärt auch, warum die ganze AWS-Plattform sehr API-getrieben aufgebaut ist.
«Wir nennen unsere Teams intern 'Zwei-Pizzen-Teams', denn sie bestehen jeweils aus so vielen Leuten, dass sie mit zwei grossen Pizzen satt würden, also rund sieben bis zehn Personen», berichtet Glenn Gore von AWS
Quelle: Jens Stark / NMGZ
Daneben haben wir die DevOps-Herangehensweise verinnerlicht. Jedes dieser «Zwei-Pizzen-Teams» ist nicht nur für die Entwicklung und das Testen eines neuen Services zuständig, sondern auch für den Betrieb sowie das Security-Management. Darüber hinaus kümmern sie sich um Updates und entwickeln neue Features. Dadurch trägt jedes Team einerseits eine grosse Verantwortung, andererseits sind die Leute dann jeweils hoch motiviert. Das ist vor allem dann sehr vorteilhaft, wenn etwas nicht so funktioniert, wie es sollte. Dann kann man die entsprechenden Entwickler in die Pflicht nehmen. Diese können nicht mehr so einfach mit dem Finger auf andere zeigen.
Eine weitere Spezialität unserer Entwicklungsarbeit ist es, dass wir dieselben API und Dienste nutzen, die auch unseren Kunden zur Verfügung gestellt werden. Wir haben das Motto «Iss dein eigenes Hundefutter» verinnerlicht. Das geht bei uns so weit, dass wir den Entwicklungsteams sogar die Dienste in Rechnung stellen wie einem externen Kunden. Dadurch sind sie gezwungen, die Ressourcen zu optimieren. Praktiziere, was du predigst, lautet die Devise.
CW: Bleiben die Teams immer beieinander oder werden sie nach einem Projekt jeweils neu zusammengestellt?
Gore: Zunächst gehen wir in allen Ländern mit einem guten Bildungswesen auf die Suche nach geeigneten Mit­arbeitern. Deshalb sind wir auch in all diesen Ländern mit Niederlassungen präsent. Tatsächlich werden die Teams recht oft neu zusammengestellt, ganz einfach, um die Kenntnisse und Fähigkeiten der einzelnen Entwickler op­timal auszunutzen. Wir achten allerdings darauf, dass die Teams jeweils an einem Ort zusammenarbeiten können, also nicht geografisch verstreut sind.

Die Rolle von DevOps

CW: Sie haben wiederholt das DevOps-Konzept erwähnt. Was gibt es hier vielleicht auch aus der Kundensicht etwas zu berücksichtigen?
Gore: Wann immer ich mit Kunden über dieses Thema spreche, fällt mir auf, dass Outsourcing langsam, aber sicher Geschichte ist. Immer öfter ist von Insourcing die Rede und dem damit einhergehenden Umbau der Entwicklungsteams. Dabei sind die Kunden mit der Frage konfrontiert, wie sie eine DevOps-Kultur einführen sollen.
Dieser Kulturwandel stösst auf diverse Hindernisse. Ein Bremsklotz ist die Outsourcing-Praxis selbst, die vor allem die Kosten niedrig halten sollte. Mit DevOps werden aber ganz andere Grössen wichtig, etwa wie sehr man Entwicklungszyklen beschleunigen kann. Die Umgebung muss also wesentlich entwicklerfreundlicher werden.
Eine weitere Herausforderung wird es sein, die Organisationsstruktur aufzubrechen. Heute gibt es in vielen Firmen ein Team für Datenbanken, fürs Netzwerk, fürs Betriebssystem, fürs Rechenzentrum, für die Entwicklung, das Testing und für die Qualitätssicherung. Sie alle arbeiten über ein Ticketingsystem zusammen. Das funktioniert aber in einer DevOps-Welt nicht mehr. Hier will man ein Team, das für die Bereitstellung eines Services vom Anfang bis zum Ende eigenverantwortlich zuständig ist. Die Struktur muss also geändert werden. Schliesslich benötigt man Tools, die dieser Art und Weise der Entwicklung gerecht werden. Und hier sind wir zusammen mit unseren Kunden dran, entsprechende Werkzeuge und Verfahren zu entwickeln.
“Die Cloud hat die Rolle des Entwicklers massiv gestärkt.„
Glenn Gore
CW: Können Sie anhand eines Projekts illustrieren, wo DevOps besonders geeignet ist?
Gore: Alle Webanwendungen eignen sich dafür, so entwickelt zu werden. Denken Sie an das Frontend einer Banking-App. Hier können Sie mithilfe von DevOps sehr schnell neue Features für die Endkunden bereitstellen, wenn es sein muss im Wochenrhythmus oder täglich, wenn Sie sehr mutig sind. Dabei handelt es sich natürlich nicht immer um grosse Änderungen, vielmehr ändert eine Schaltfläche der Benutzeroberfläche oder das Design wird aufgefrischt. Ein weiteres Beispiel sehe ich im Zusammenhang mit der Einführung eines neuen Business-Modells. Hier kann dank DevOps-Methoden schrittweise vorgegangen werden. Denn vielleicht wissen Sie noch gar nicht, wie das Endprodukt wirklich aussehen soll, aber Sie haben eine Vorstellung der Richtung, die Sie beschreiten wollen. Also lancieren Sie eine vorläufige App und schauen, was Sie für Feedback erhalten. Aufgrund dessen können Sie sehr agil die Anwendung schrittweise anpassen. Auch dies ein Beispiel für die Dev­Ops-Möglichkeit, mit kurzen Release-Zyklen neue Innovationen schnell auszurollen.

Das plant AWS

CW: Worauf achten Sie, wenn Sie nach neuen Entwicklern Ausschau halten?
Gore: Wir suchen einerseits direkt bei den Hochschulen nach jungen Talenten, andererseits auch nach bereits erfahrenen Entwicklern. Das Wichtigste bei der Rekrutierung ist dann, dass sie kulturell in das Unternehmen passen. Diese Kultur haben wir anhand von 14 Leadership-Prinzipien definiert. Daneben schauen wir natürlich darauf, dass sie über exzellente Software-Entwicklungsfähigkeiten verfügen, aber auch darauf, dass sie kreativ denken und flexibel an Probleme herangehen. Was wir nicht wollen, sind Leute, die engstirnig eine festgefahrene Meinung in einer technischen Frage haben, sondern die offen für Neues sowie für andere Sicht- und Herangehensweisen sind. Zusammen­gefasst ist es also eine Mischung zwischen technischem Können und kultureller Eignung.
CW: Können Sie die Kultur, die bei Amazon gepflegt wird, anhand eines Beispiels etwas näher beschreiben?
Gore: Ein wichtiger Grundpfeiler der Kultur ist das erste der 14 genannten Prinzipien, die Kundenbesessenheit. Alles, was wir tun, muss aus dem Blickwinkel des Kunden an­gegangen werden. Das geht so weit, dass wir unsere Entwicklungszyklen nicht so nennen, sondern als «Rückwärtsschlaufen» bezeichnen. Wir wenden uns nämlich einem Problem des Kunden zu und entwickeln von dem aus­gehend eine Lösung. Teil dieses Prozesses ist es, dass wir eine interne Pressemitteilung verfassen, in der einerseits das Prob­lem des Kunden genau und präzise definiert und danach der Lösungsansatz genauso deutlich dargelegt wird. Danach schreiben wir ein FAQ, in dem die wichtigsten Punkte erklärt werden. Erst wenn diese gedankliche Vor­arbeit geleistet wurde, fangen wir an zu programmieren.
CW: Welches sind somit Entwicklungen, die Amazon derzeit verfolgt?
Gore: Die zunehmende Containerisierung der Umgebungen ist so ein Thema, die wir mit der Kubernetes-Ankündigung bedienen. In Sachen maschinellem Lernen haben wir den Service Amazon SageMaker vorgestellt. Dieser soll es Data-Science-Anwendern vereinfachen, auf Basis von maschinellem Lernen entsprechende Modelle zu entwickeln, damit zu spielen und für deren Berechnung Rechenpower anzufordern und auch wieder stillzulegen, wenn das Experiment abgeschlossen ist. Diese Hilfestellung ist sehr wichtig, denn in diesem Gebiet ist die Lernkurve noch sehr hoch.
Zur Person
Glenn Gore
Glenn Gore ist Global Chief Architect für Amazon Web Services und er­arbeitet mit Kunden architektonische Best Practices für die AWS-Cloud. Der gebürtige Aus­tralier hat bereits 20 Jahre Berufserfahrung im Technologieumfeld. Vor seiner Position als Chefarchitekt hatte er diverse Positionen im asiatischen Raum für AWS inne. Davor war er CTO beim australischen Hoster Webcentral sowie tätig bei den Providern UUNET und Ozemail.




Das könnte Sie auch interessieren