nw  

Automatisiertes Accounting auf Amazon Webservices (AWS)

Zusammenfassung

Die Verwaltung des Lebenszyklus von AWS Accounts innerhalb der FHNW ist mühsam und zeitaufwendig. Die Überwachung der einzelnen Accounts ist schwierig, und die Kosten für die Abrechnung sind unnötig hoch. AWS bietet konsolidierte Abrechnungen und Mengenrabatte, jedoch kann die Fachhochschule diese Vorteile mit dem aktuellen Vorgehen nicht vollständig ausschöpfen. Die Anwendung "Automated Accounting" soll diese Probleme erleichtern. Das Endprodukt ermöglicht es Administratoren oder Entwicklern, Ressourcen im Code zu konfigurieren und diese über eine CI/CD-Pipeline zu deployen. Dazu gehören verschiedene Arten von Accounts, welche konfigurierbaren Richtlinien folgen. Diese werden mit SSO Accounts verknüpft über welche sich dann die Endbenutzer authentifizieren.

Schlüsselbegriffe

AWS, Terraform, CI/CD, Automation, IaC, Governance

Zielsetzung

Das Ziel ist es, ein Programm zu entwickeln, das den gesamten Lebenszyklus von AWS-Konten automatisiert verwaltet. Basierend auf Infrastruktur-as-Code (IaC) Prinzipien und dem GitOps-Paradigma, soll diese Lösung Erstellung, Änderung und Schliessung von Konten ermöglichen. Bevor mit der Implementierung begonnen wird, soll eine klare Governance Strategie entwickelt werden. Der Fokus liegt auf der Implementierung einer CI/CD Pipeline für vollautomatisches Deployment und der sorgfältigen Auswahl der passenden IaC-Tools und AWS-Dienste. Am Ende des Projekts wird das Produkt an die Corporate IT übergeben und soll dort eingesetzt werden.

Ausgangslage

Die gegenwärtige Situation sieht vor, dass AWS-Konten auf manuelle Weise erstellt und verwaltet werden. Dieser Prozess ist nicht nur zeitaufwändig, sondern auch anfällig für Fehler. Diese können unbeabsichtigt oder durch fehlendes Wissen auftreten. In der aktuellen Vorgehensweise werden die Konten einzeln und individuell erstellt. Darüber hinaus erfolgen die Abrechnungen für die verschiedenen Institute oder Projekte getrennt voneinander. Dies hat zwei erhebliche Nachteile: Erstens führt es zu höheren Kosten, und zweitens gibt es keine klare Übersicht über alle verwendeten Ressourcen. AWS bietet Mengenrabatte an, die bei einem solchen Ansatz nicht genutzt werden können, da jeder Account momentan seine eigene AWS-Organisation unterhält.

Ergebnisse

Um dieses Problem zu lösen, wurde eine IaC Anwendung entwickelt. Diese Anwendung automatisiert den gesamten Lebenszyklus der AWS-Konten mithilfe einer CI/CD Pipeline über anpassbare Konfigurations-Dateien. Durch dies werden manuelle Eingriffe minimiert und gleichzeitig die Genauigkeit und Effizienz erhöht. Bei einer solchen Anwendung werden die benötigten Ressourcen in Form von Code definiert und dann durch ein IaC Tool automatisch erstellt. Durch eine gründliche Evaluation wurden die geeigneten Tools dafür ermittelt und implementiert. Terraform in Kombination mit GitLab stellte sich dabei als besonders robust heraus und wurde daher zur Lösung verwendet. Des Weiteren wurde eine Governance Strategie entwickelt, die sowohl auf den aktuellen IT-Richtlinien der FHNW als auch auf den technischen Möglichkeiten von AWS basiert. Diese Governance Regeln werden durch verschiedene Mechanismen innerhalb der Anwendung durchgesetzt. Dazu gehören Service Control Policies, welche als Richtlinien für die verschiedenen Konten dienen. Durch sie wird definiert welche Aktionen ein spezifisches Konto ausführen darf und was nicht. Meta Daten in Form von Tags werden an die Kontos angehängt, um nach diesen später in der Kostenabrechnung aufzuschlüsseln. Das Endprodukt ermöglicht es Entwicklern, Accounts und Organisationseinheiten automatisch und zentral zu verwalten über Code Anpassungen. Die konzipierten Governance Richtlinien unterstützen dabei die Verwaltung der Anwendung.

Projektdaten
Projekttyp Projektdauer Aufwand Teamgrösse
Informatik P5 16. Februar 2023 - 16. Juni 2023 180 Stunden pro Person 2 Studierende
Auftraggeber
Fachhochschule Nordwestschweiz FHNW
Bahnhofstrasse 6
5210 Windisch

https://www.fhnw.ch/
Projektteam
Chris von Felten
Informatik, 8. Semester

chris.vonfelten@students.fhnw.ch

Lukas Krebs
Informatik, 8. Semester

lukas.krebs@students.fhnw.ch

Kontakt
Prof. Dr. Sebastian Graf
Dozent für Public Cloud Infrastrukturen und agilen Softwarebetrieb am Institut für Mobile und Verteilte System FHNW

sebastian.graf@fhnw.ch

<< zurück