Architektur-Überlegungen
In On-Premise-Umgebungen setzen Kunden oft ein Zentralteam für Technologiearchitektur ein. Dieses ist anderen Produkt- oder Feature-Teams vorgeschaltet, damit diese nach bewährten Methoden arbeiten. Technologiearchitektur-Teams setzen sich oft aus Fachleuten mit unterschiedlichen Aufgabengebieten zusammen [z. B. Technical Architect (Infrastruktur), Solutions Architect (Software), Data Architect, Networking Architect und Security Architect]. Oft verwenden diese Teams TOGAF oder das Zachman Framework als Teil einer Enterprise-Architekturfunktion.
AWS verteilt Fähigkeiten lieber auf einzelne Teams, anstatt die Kompetenz in einem Zentralteam zu konzentrieren. Wenn die Entscheidungsbefugnis auf mehrere Teams verteilt wird, geht das mit Risiken einher. So muss beispielsweise sichergestellt sein, dass die Teams internen Standards gerecht werden. Um diese Risiken aufzufangen, verwenden wir zwei Methoden. Erstens haben wir Vorgehensweisen« [ nach denen Dinge, Prozesse, Standards und gemeinhin anerkannte Normen gehandhabt werden können ] » , die darauf abzielen, jedes Team mit dieser Fähigkeit auszustatten. Dazu setzen wir Experten ein, die dafür sorgen, dass die Teams die vorgegebenen Standards übertreffen. Zweitens implementieren wir Mechanismen.« [ ] » die automatisch kontrollieren, ob Standards eingehalten werden. Hinter diesem breit aufgestellten Ansatz stehen die Amazon Führungsprinzipien. Er unterstützt und etabliert eine Kultur für alle Rollen, die vom Kunden aus arbeitet« [ und ist ein grundlegender Bestandteil unseres Innovationsprozesses. Unsere Arbeit richtet sich ganz nach dem Kunden und dessen Wünschen. ] » Kundenfixierte Teams richten die Produktentwicklung auf Kundenwünsche aus.
In Zusammenhang mit Architekturen bedeutet das: Wir erwarten von jedem Team, dass es Architekturen erstellen und nach bewährten Methoden arbeiten kann. Um neuen Teams zu diesen Fähigkeiten zu verhelfen bzw. um bestehende Teams leistungsfähiger zu machen, nehmen wir sie in eine virtuelle Community auf, in der Principal Engineers ihre Entwürfe begutachten und sie an die bewährten AWS-Methoden heranführen. Die Community der Principal Engineers hat die Aufgabe, bewährte Methoden sichtbar und verständlich zu machen. Dies geschieht beispielsweise durch Mittagsvorträge, in denen es um die Anwendung bewährter Methoden an praktischen Beispielen geht. Die Vorträge werden aufgezeichnet und können für das Onboarding neuer Teammitglieder eingesetzt werden.
Wir haben bislang mehrere Tausende Internet-ähnliche Systeme eingerichtet und dabei einen Erfahrungsschatz aufgebaut, aus dem sich die bewährten AWS-Methoden herauskristallisiert haben. Wir bevorzugen, bewährte Methoden mit Hilfe von Daten zu definieren. Wir setzen dafür aber auch Fachexperten (z. B. Principal Engineers) ein. Principal Engineers sind direkt dabei, wenn sich neue bewährte Methoden abzeichnen. Als Community können sie sicherstellen, dass die Teams danach arbeiten. Im Laufe der Zeit werden diese bewährten Methoden formalisiert in unsere internen Prüfprozesse sowie in Compliance-Mechanismen aufgenommen. Well-Architected ist die kundenseitige Implementierung unseres internen Prüfprozesses. Darin ist die Denkweise der Principal Engineers für Zuständigkeitsbereiche vor Ort (z. B. Solutions Architecture, interne Engineering-Teams) festgeschrieben. Well-Architected ist ein skalierbarer Mechanismus, mit dem Sie von diesen Erkenntnissen profitieren können.
Wenn so vorgegangen wird wie in einer Community aus Principal Engineers (mit verteilten Architekturzuständigkeiten), kann unserer Ansicht nach eine Well-Architected Enterprise-Architektur zustande kommen, die auf die Kundenwünsche ausgerichtet ist. Technologievordenker (z. B. CTO oder Entwicklungsleiter), die all Ihre Workloads nach den Prinzipien des Well-Architected-Ansatzes prüfen, können die Risiken Ihres Technologieportfolios aufzeigen. Sie identifizieren teamübergreifende Themen, die Ihre Organisation mit Hilfe von Mechanismen, Trainings oder Mittagsvorträgen angehen könnte. Allesamt Gelegenheiten für Ihre Principal Engineers, ihr Wissen zu bestimmten Themen an mehrere Teams weiterzugeben.