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