Toyota Automotive

Projektzusammenfassung
Extrahierung fachlicher Funktionen aus einer monolithischen Desktop-Software sowie deren Überführung in eine cloudfähige Microservice-Architektur in zwei Phasen mit initialer Bereitstellung auf einer On-Premise-Kubernetes-Infrastruktur und anschließender Migration in die AWS Cloud auf Basis von Amazon ECS und AWS Batch sowie Aufbau einer standardisierten CI/CT-Pipeline zur automatisierten Qualitätssicherung und zum reproduzierbaren Deployment.
Projektinhalt
Planung und Umsetzung der Migration von einer monolithischen Desktop-Architektur in eine Microservice Architektur mit Kubernetes, Amazon ECS sowie AWS Batch zur Sicherstellung einer strukturierten und risikoarmen Transformation
Aufbau einer skalierbaren Zielarchitektur in der AWS Cloud mit Amazon ECS und AWS Batch zur Ausführung paralleler sowie langlaufender Rechenprozesse
Strukturierung der Deployments in Basis- und Anwendungs-Stacks innerhalb von Kubernetes zur Trennung stabiler Infrastrukturkomponenten von häufig veränderten Applikationsbestandteilen
Beratung und Befähigung der Entwicklerteams hinsichtlich Containerisierung mit Docker, Entwicklung von Microservices sowie architektonischer Unterschiede zwischen Kubernetes und Amazon ECS zur Sicherstellung eines einheitlichen Zielbildes
Aufbau einer standardisierten Entwicklungsumgebung in Form einer Dev-VM mittels Ansible zur Reduzierung von Konfigurationsabweichungen und Beschleunigung der Einarbeitung neuer Teammitglieder
Fachliche Entkopplung der monolithischen Anwendung in eigenständige Microservices sowie Containerisierung mit Docker zur Ermöglichung isolierter Deployments und unabhängiger Skalierung
Konzeption und Implementierung eines Integrationslayers auf Basis von Spring Boot und Apache Camel zur schrittweisen Entkopplung monolithischer Fachlogik, Orchestrierung von Service-Kommunikation sowie Anbindung bestehender und neuer Schnittstellen innerhalb der Migrationsarchitektur
Aufbau und Betrieb einer On-Premise-Kubernetes-Infrastruktur inklusive RBAC sowie Namespace-Isolation zur Bereitstellung einer mandantenfähigen und abgesicherten Entwicklungsumgebung
Entwicklung und Pflege von Infrastructure-as-Code-Definitionen mit AWS CDK in TypeScript sowie AWS CloudFormation zur standardisierten Bereitstellung mehrerer Stages in der AWS Cloud
Einführung und Integration einer Container-Registry mit Amazon ECR sowie Synchronisierung mit Harbor mittels Skopeo zur Vereinheitlichung der Image-Verteilung zwischen On-Premise- und Cloud-Umgebungen
Aufbau sowie Verwaltung von PostgreSQL-Datenbanken innerhalb der Zielarchitekturen zur Sicherstellung konsistenter Datenhaltung und performanter Verarbeitung
Etablierung zentraler GitLab CI/CD-Pipelines zur Automatisierung von Build-, Test- und Deployment-Prozessen sowie Integration von Unit-, Integrations- und UI-Tests mit Cypress, inkl. Sicherheitsprüfungen mit Trivy zur Absicherung der Softwarequalität
Implementierung des KEDA Autoscalers innerhalb der Kubernetes-Umgebung zur bedarfsgerechten Skalierung von Services auf Basis variierender Workloads
Aufbau eines zentralen Monitorings mit Prometheus und Grafana sowie eines Logging-Stacks mit Loki zur Erhöhung der Transparenz und Reduzierung von Analysezeiten bei Störungen
Implementierung von AWS X-Ray zur Analyse verteilter Service- Kommunikation und Identifikation von Latenzen innerhalb der Cloud-Architektur