Code Assessment
Transformation gewachsener Data-Science-Workloads in eine containerisierte, überwachte Betriebsumgebung.
+++++++++++++++++++++++*++++++++**++**+****+**********+++**++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++++++++++++++++++===+============= +++++++++++++++++++++++++++++++++++*+++++++++++++++++++++@*++++++++++++++++++++++++++++++++++=+++++++++++++++++++++++++++++++++++++++++++===+================ ++++++++++++++++++++++%++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++++++#+++++++++++++++++++++++++#++++++++++++++++==+=================== +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++++++====+====================== +++++++++++++++++++++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#++++++=======+===================-===== +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++%*+++++++++++++++++++++==++========+===================*======== ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*========+=============================== +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++============================================ ======+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=*+++++++++++++++++++++++++==++++++++++++==============================*================== =================+++=+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=++++++++================================*===================== ===================+++==+=+++++++++++++++++++++++++++++++++++++++++++++*++++++++++++++++++++++++=++================================+=====-=================== ===================+======================+++++++++++++++++++++++++++++==++==**=++++++++++++++=+++============+==*==============*============================ ==================================================++=+==============+%=+@@%*%@%*++==+=====++++==+======================+===================================== =========================================#%@@@@@@@@@@@@@@@@@@@@@@%+=+=+==+*=+==========================+@%%=++++%========================================-=== ===============-===================@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#*+++=##++===*==================-=+==============+===================================-=-===-= ===============-================@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++++++=================+=========*================================================---===----- ----===========-=+============-@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++===@=+=*==================+====================-=========================--==---------- =============================-@@##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@++++%@+=========================%=======+=====================*=-======--=----=-=------=-----= ---------====-==============-@@@@@@@@@@@%%%%%%%%%%%%%%%@@@@@@*+++*@%@%*-=================+=====#==========+=-=+==========+=-=:---------------@@@+@@@@@@@@@=-% ---------------==-=-----==-**@@@%%%%%%%=@@@@@@@@@@@@@@@@@@@@@+**#@-@%#***=================-=-==#+=============---=----------=:-----=-------@%@@@@@@@@@%@@@*+* ------------=--==----=-*#@@+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@+#%@@#=%%**+++=-==================*================-------+=-@--:----------=-=@@@@@@@@@@@@@@@+@@ ------------@-=+*@:.@=@@%:%%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%++*@@@@%*##**++++=-----------------=*------==--==@=----===--------.---------===+%@@@@@%%@@@%@@=++= ------------@+==:#.:#@%**++%#.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@:+*@@@@%###***+++*+-*===------------+----------------------------++---==-------+@@@@@@@*=%*##=#+*# ------------@==+-@@+@@#*@@##%#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==*@@@@%%#%++++#*++=@****===--------+:---------------+%*@%++*#:---:------------+#@@@@@@%@@@@@@@@@@ --:--==-----%=-=:*.::@%*#=@*#+*@@@@@@@@@@@@@@*@@@@@@@@@@@@-+=*@@@@@@@@@@@%%@++*@@@@*@**====%:--+:--=##@@@%%@@@@@@@@@@-=-=*=-=:@@=--+-@#+*%*@@@@@@@@@@@@@@@@@@ @@@@@+@@@%@%#=-+.=+:-@@--@:*+++@*@@@@*#@@@@@@@+++=@@@@@@@@+=+*@@@@@@@@%**+#@*+*@@@@@%@@@@@=++++=++=+=+=:..:@@@@@@@@@@+--:=--@:@@@@@@@@@@@@@%@@@@@@@@@@@@@@@@@ @###%@##%%@@#=++.@::--:@++**##**@@@@@@@@@@@@@@=-%@@@@@@@@=+++@@@@@@@@@@@@@@%%#%@@@@=***%%%@%@@@@@@%+@@#+==+++++%+++++++++@++++=++==+========%=++=+=====++++@@ %@%***@%%#@%#=++.**@**+#@:@*#@*@@@@@@@@@@@@@@@*@@@@@@@@%@++++@@@@#@@@@@@@@@@@@:@@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @%%#*#*@@@@@**#+:-:#++.#@#===@@@@@@@@@@@@@@@@@@@@@@=+.-@++++@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@=@##@@@@@%@@@@@@@@@+@@@@@@@@@@@@@@@@@@@@@@@@%@%@@@@@@*@@@@@@@ :-:--#==-=====@*:==+==+*@@@@=@@@+*@@#####***#@@@@@@@@#%@++++@@@@@@@@@@@@@@@%@@@@+@#@@@@@@@@@@@@@+@@#%@@@@#%%**+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%@@@@@@+@@@@@@@@@ :-::-#==++***#%+:@+@%%%@##*=+**@@@@@@@@@@@@%%%#@@@@@@@@@+++@#@%@@@##@@*@%%@%##@@%@%%%%@+:+@@@@@@%%%#@@@@@@@@@@@@+=-:::::%@-:=::------===++**%#%%%%%%%#####*@@ **#**###:=+##-#*:##%##*@@+#+-@*@@@@@@@@@@@@@@@@@@@@@@@@++++@@@###@@%@%%###@*-#@@@@%%+..:-**+****#**************@#####****@##@###############@#*#############@ *#*#++-:*+**++#*.==+++*%#+====-@@@@@@@@@@@@@@@@#@@@@@@@++++++*#%@@%%%%##%#%*+.@=*++++++*##*+******+********+#@@@@@@@@@@@@@@@@@@#*========+++===+===+++++++++@ ==#================-=:@@%%###**%@@@@@@@@@@@@@@@@@@@@@@++++@@@%**@%@%@%%#+-:+++%++++++++++++++%@@@@@=++++++++=+====+===+==+++*+++++++++**%@@@@@@@@@@@@@@@@@@*# =====================@#@##########################@@@@*+**@@@@@@@@@@@%.%++++++%+++++++++@++++++++=+++=========++++#++++++++#++%#+++++++++++++=+++==+==+=====@ +@@##@@%+-===========@@#%############@@*-==-=@@@#%%+@@*##*@@@@@@@@@@**+++++#++%++*%@+++++++++++++=========+++*#++=++++=%++#%+++++++++++++++++=-++============ ==============++=@@@@@@%#########################@@@@####@@@@@@@@@+***++++++++@@++++++++++++++++========++++#+++++++++@++%#+++++++++++++++%@@@@==+=========== =======-@@@@@@@@@@@@@@=%%%######################@=+@@####@@@@@@@+*+@+*+++++++++++++++++++++++++=+=====+++++%@+++++=+++%*++**++++++++++++++++++++-#=*========= ==#@@@@@@@@@@@@@@@@@@@@@%%%#####################@==@##**@@@@@@+*@#**+++++++**++++++++++++++++++++=====+=++++%++++++++++*%++*#@+++++++++++++++++++++=@-=++++== @@-@@@%%@@#@@@@@@@@@@%*%%#%#####################@%@@##**@@@=*********+++*+++++++++++++++++++++++=++=+++=+++++@+++++++++++*#+++*#++++++++++++++++++++++++-@-=+ -=-=@@+**=@+@@@@@@@@%@@@%%%%###################@@@@%%##***#**********+++++++++++++=+++++++++++++++=++++++++++*#*+++++++++++=@=++@#%**+++++++++++++++++++++++= ===+*@@#*+*+@@@@@@@@@@@++%%%#########################*%***************++++++++++=++++++++++++=++++====+++++++++%@**++++++++++=@#+++@*@+++++++++++++++++++++++ ==+===@@@@@@@@@@@@@@@@@@%%%%%########################****************+++++++++++++*%@@@%*+++++++++++++++++++++++*#%+++*+++++++++*@#*++%%%*+++++++++++++++++++ ========*@@@@@@@@@@@@@@@@%%%%%#######################%*************++++++++++++++++++++++++=*#@@@@#*++++++++++++++#@#+++*+++++++++++@%+*++#%+**+*++++++++++++ ===========@@@@@@@@@@@@@@%%%%%#%####################***********+++*++++++++++++=++++++++++++++++++=+=**@@@@@#+++++*+@@#**+++++++++++**+@#*+++%#@*+*+++**+*+++ ============+#@@@@@@@@@@@@%%%%%#######################******%**+**+++++++++++++++++++++++++++++*+++++++++++++++*%@@@@@@@@+++++++++++++*++*@%++**##%***+++++++ ===========+=+==+@@@@@@@@@@@@@@@%%####################***@+#+**+**++++++++++++++++++++++++++++++++++*+++++++++++++++++**@@@@@@@@@@%*++++=++++@@*#**+%#@+****+ ====+=++==+=++=+++=++@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@==@+*+**+*++++++++++++++++++++++++++++++++++++++++++=+++++*++++++++*@%@********%@@@@@@@#*+@@#***+##@@** ==+++==+====+=++++*%#%@=++*+=@@@@@@@@@@@@@@@@@@@@@**+%@@*+++*+*+*+++*+++++++++++++++++++*++++++++++=+++++++++++++++=+++++++*#%@++*++**+++++*++*#@@@@@@@@%*+#% +=====+=+++=+++=%##%%+++++=@*@*+++**++++*+++*+++**+*@@@***+++++++++++++++++++++++++++*++++++++++++++*++=++*+=++++++++++**+++++*%@%*****++*+++++++++**++@@%@@@ =+===++++++==%##%%++*+++@@**+++*+*++++**+++++++++++@@@+**+*++*++*+*++++++*+++++++++**+++=++++=*++++++++*+++++++++++=++++++*++*+**@@@*=*++++**+#++*+++*+++*@@@


/ Kunde
/ Ausgangslage
Gewachsene Workloads, personenabhängiges Wissen
Die Data-Science- und Energiewirtschafts-Workloads von Primeo Energie – interaktive Python-Werkzeuge für Preis-, Prognose- und Reportingdaten sowie zeitgesteuerte Datenverarbeitungen – waren über Jahre gewachsen: personenabhängiges, kaum dokumentiertes Wissen, Codekopien und enge Kopplung, Orchestrierung über Crontab und von Hand gestartete Instanzen, keine CI/CD-Pipelines und kaum Tests.
/ Was wir geliefert haben
Vom Skript-Zoo zur containerisierten Betriebsumgebung
Wir planten und realisierten die Überführung in eine strukturierte Entwicklungs- und Betriebsumgebung – entlang einer Roadmap mit sieben Phasen, ohne Betriebsunterbruch und ohne Big Bang.
- —Zielarchitektur in Ausbaustufen mit Phasenplan, Risiko- und Kostenbetrachtung
- —Containerisierung der Workloads und Betrieb auf Kubernetes
- —Git-basierter Lieferprozess: GitLab-CI/CD-Pipelines, automatisierte Tests, GitOps-Deployment mit Argo CD
- —Infrastructure as Code mit Terraform; strikt getrennte Entwicklungs-, Test- und Produktionsumgebung
- —Observability zuerst: zentrale Logs, Metriken und Alerting; Data-Quality- und Data-Freshness-Framework für kritische Datenlieferungen
- —Zentrale Authentifizierung über OAuth2 Proxy und OIDC
- —arc42-Dokumentation, Prozessrichtlinien, Onboarding- und Schulungsunterlagen
/ Vorgehen
Shadow Mode und gestaffelte Umschaltung
Jede Veränderung war vor der Umschaltung validiert und danach umkehrbar: Alt- und Neusystem verarbeiteten dieselben Eingangsdaten parallel, die Ausgaben wurden automatisiert verglichen und mit dem Fachbereich validiert. Umgeschaltet wurde pro Workload – mit Rückfallebene und bereitliegendem Rollback-Plan. Wegwerf- Testumgebungen und Pilot-Workloads mit tiefem Geschäftsrisiko hielten das Risiko von Fehlinvestitionen klein.
/ Ergebnis
Nachvollziehbar gebaut, aktiv überwacht
Die Workloads laufen als dauerhaft betriebene Container statt als individuell gestartete Instanzen. Build, Release und Betrieb sind über Pipeline und Registry getrennt, verteilte Codekopien durch eine Codebasis pro Tool ersetzt. Logs und Metriken werden zentral gesammelt, kritische Datenlieferungen aktiv überwacht – und interne Entwicklerinnen und Entwickler arbeiteten von Beginn an mit, damit das Wissen im Team bleibt.
/ Tech Stack
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++**++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++******#++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*******+++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++::*+++++++:=++++++++++++++++++++++********++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=+++*+=*++:+++++++++++++++++++++****++###++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.::::::::*:+++++++++++++++*******+++=##+++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-@::::::.@::-+++++++++*********+++++++=##+++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%=++++++++++++++++++++++++:@::::::@::::=+++++++#*****++++#=++++++=##+++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++@@@@@@@@++++++++++++++++++*+++:::::::#::-*@@-*++++****+++++++##*+++++=##+++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++=@@@@@@@@@@@@++++++++++++++++++#*#@@@@@@@@@:+:@@*.%******++++++++##*++++++##+++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@*@@@@+++++++++++++++++#*#++@@@@@@:@:+++*@@@*--#++++++++++##*++++++##+++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++=@@@@@@@@@@#*@@*%@@@@++++++++++++++#*#+++++@@@@@@:===@@@@@%%:-==++++++++##*++++++#++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++@@@%@@@@@@**@#*@@+*@@@@+++++++++++++**#++++++*-@@@:=@@@@@@@@%::::+@=++++++##*++++++++++=*+++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@**@@**@@*#@@@@##*#++++++#*#+++++++++:::.@@%@@@@=+::::@@%%@@@@+++###++++++++****+++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@%@@@@@*@@**@@@@@@@@******#++***++++++++++=::+@@@@@+.:::::@@%@+*@@@.:+###+++++++*****+++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++#@@@@@@@@@@@@=+++=@@@@**@@:.@@@=@+@@+=****#**++++++++++%:+::::.+:::::::--@@@@=-:::@:::%#+++++++*****+++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++@@@@@@@@@@@@@+==++++@@@@@@@@@=--.:.@::::++++***++++++++++:::+:::::::::::-=++@@@@*+=-::::.:@@=+++++*****+++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++@@@@@@@@@@@@@@@@++=@@@@@@@@@@#@@@@@%@@@+--*::::::::*+++++++:::++##:::::::+++++++*@+*++++==--@@@@+++++*****+++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%+#@@=:@-@@@@@+=:@.::::::::::@@::+%+++######+++++++++%+++++++@@@@@-%+++++*****++*+++++***++++++++++++++++++++++++ ++++++++++++++++++++=@@@@@@@@@%@@@@@@@@@@@@@@@@@@*@@@@%+++#*:@+--*+==@===+++=.@:::-@@@@@-++++==#####+++++%-=*++***+*:%::-+==++++****==+++++*****++++++++++++++++++++++++ ++++++++++++++++++++@@@@@@*%@@@@@@+@+*@@@@@@@@@@@@@@@@++++++=::::-*@@@@=+======+@@@@##@@++++=====####=+++=@#+++***+*::::-===++++***====++++*****++++++++++++++++++++++++ ++++++++++++++++++++@@@@@@@@@+%##*@++@@@@@@@@@@@%@@@@++++++++******@@@@+=...-=====@@@@*...++++=*+@@%%%@@@@@#@++*+*+*-::-==++++++***====++++*****++++++++++++++++++++++++ +++++++++++++++++++++@@@@@@@@%***@@@@@@#@@@@#@@@@@@@++++************@@@%........*......:++++++++@**+@@@@**@+=+@*+++-::--==++++++***====++++*****++++++++++++++++++++++++ +++++++++++++++++++++@@@@@@@@++@@@@@@@@@@@@*@@@@@@@+++**************@@@@:.:..:.......:..**++***::@@%@@@@====-@%:++++:-:==+++++++***====++++*****++++++++++++++++++++++++ ++++++++++++++++++++++@@@@@@@@@@@@@@@=@@%@*@@#@@@@#+********+******+*@@@@+......:..::*..++*****.:---:==%#-:--=++::.:-#==++++++++***====++++*****++++++++++++++++++++++++ +++++++++++++++++++++++@@@@@@#@@@@+@*@+@@@@@@@@@@++*********+***+++++@@@@....:*.-........*+**:*:@--===#:::::==@@@@@@@@@:+==+++++***====++++***++++++***+++++++++++++++++ +++++++++++++++++++++++@@@@@@@*@%@@+@@%@@@@@@@+++***********+++++++===@@@+.-......*#........::--%@@@+%:::-#@@=+-=@-@@@@:::::++++**+====++++***++++*****+++++++++++++++++ ++++++++++++++++++++++++@@@@@@@@@@#@@@@@@@@@++******+****++++*++++===@@@@@..-..#.....:=..::::=.@@@@@@=--#@@@+:=@.::@@@@+#::::::=**+====++++***++++****+:.+++++++++++++++ ++++++++++++++++++++++++@@@@@@@#@@@@@@@#@@+++**********+++++++====@@@@@@@@.....:#:...:=...:::--@@@@@@@@@@@@@@@@::=:-:@@.+:::=:::::::===++++*++++++****+:::::.+++++++++++ +++++++++++++++++++++++++@@@@@@@@@@+@@@@@+++**********++++++++=@@@@@@@@+*..*-.....:#.::.:::#::::-@@@+:@@@@@@+@:-*::=#:-:==::*::.+:::::::++++++++++****+:::::::-+++++++++ +++++++++++++++++++++++++=@@@@@@@@@@@@**************+++++++@@@@@@@@@==....-:.:+*--==#-::*::*:.::#:::*:@@@@@@+#*##::-*-.:%-:::::::+:-:::::::*++++++****=::::-++++++++++++ ++++++++++++++++++++++++++@@@@@@@@@@%@+***********++++++@@@@@@@@@+....:...-.-----------*--:::+.*::::.::-@@@@*==+==+#:=++.::+::.:..::::-::::::::+++**#:::*+++++++++++++++ +++++++++++++++++++++++++++@@@@@@@@@@@@********++++++@@@@@@@@*+..*....-...=.====-----------*:::::::*::::.::::::+.:.=+=::::..:.:-.::===++-::*:::::::::+++++++++*+++++++++ +++++++++++++++++++++++=...@@@@@@@@@@@@********++=@@@@@@@@+*...=...=.+.....-========-----------%-::::::#::::+::..:::::=..:..::+===+:=::-.::::::::.+++++++++*++++++++++++ ++++++++++++++++++++........@@@@@@@@#@@@***+++@@@@@@@@@+:...:...-.:.....=*...++========-----------=%.::::+:=::.::::.:::::..:==++++::+.::::::::.=++++++++++++++++++++++++ +++++++++++++++++:...........@@@@@@@@@@@**+@@@@@@@@++......:-...+....-+.....-+..:++========------------+.:::.:.::*::++++*===+++::%:::::::::.+++++++++*++++++++++++++++++ +++++++++++++++++:---........@@@@@@@@@%@@@@@@@@@+#..+..:.=..:.......-....:......=:.:=++========-----------=%.::::+:=::.::::.:::::..:==++++::+.::::::::.=++++++++++++++++ +++++++++++++++++:------=....:@@@@@@@@@@@@@@@+:.:.....:.+.....-.-.......-...:=.........:++-========-----------%::*::::*.:=:::::::::::-+++++++++*++++++++++++++++++++++++ +++++++++++++++++++++:-------.@@@@@@@@@@@*+-......=.*.....:-+:....:.=....-=...........----+++*=========--------.::#..:::::::::::::=++++++++*++++++++++++++++++++++++++++ +++++++++++++++++++++++++------@@@@@@@+#.......+........+:....:-=.....=...........-------+++++++**========---::::::::::::::::::+++++++++*+++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++*------::.....**=......-.:....::+.....-+...........-------++++++++++++++++========.:::::::::::::+++++++++*++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++--------......*#:.=...:=:......=-...........------*++++++++++++++++++++**--=======::::::.+++++++++*+++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++:-------......**.......==.:.........:------+++++++++++++++++++++++++++++*-=======++++++++++*++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++-------:......**:=...........------:+++++++++++++++++++++++++++++++++++**-====+++++**+++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++*-------...............-------++++++++++++++++++++++++++++++++++++++++++++=++**++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++-------=........------*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++:-------.------++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++-------:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Wir bauen nicht nur AI. Wir sorgen dafür, dass sie langfristig euch gehört – technisch und wirtschaftlich.