Public Today’s Agenda 4 3 2 Who am I? My employer, our legacy software application Introduction 1 Once upon a time ... and it‘s still What happened before the cloud? Why the hell Windows containers? 1st Challenge – Let’s do a PoC Linux containers, finally! Next logical step What’s next? We are still at the beginning ... Conclusion & Outlook 5
Public AVL List GmbH Founded 1948 More than 11,000 worldwide 4,000 in Graz (headquarters) 45 affiliates worldwide Export quota of 97% AVL List GmbH (“AVL”) is the world’s largest independent company for development, simulation and testing in the automotive industry, and in other sectors. Drawing on its pioneering spirit, the company provides concepts, solutions and methodologies to shape future mobility trends.”
Public Who am I? Patrick Koch DevOps / Integration Engineer Software Specialized in: CI/CD, Container, K8s, Cloud • Improving CI/CD Pipelines • Containerization of the Infrastructure/Software Components • Establishing Cloud Solutions • Development and Maintenance of our intern Testing Tools • Provides good Suggestions for Department Events ;)
Public Evolved to platform product Container, K8s Automation Framework Web components AVL CONCERTO Why legacy? Started > 25 years ago Python support REST interface 2014 New Generation (unmanaged legacy (C++) and managed (C#) code). Windows® application (component & full integration in internal products) 2018 ~ 8200 files ~ 2,9 Mio LOC Linux components (data, Python) 2022 ... “A legacy system is outdated computing software and/or hardware that is still in use. ” Source of icon: https://commons.wikimedia.org/wiki/File:Windows_Logo_(1992-2001).svg ~ 800 customers ~ 23000 users
Public An evolution happens – why even more automation? 2021 .. ~ 30 years Huge testbed for single unit under test (UUT) 1 Operator per testbed Very high costs Exchanging of unit is labour-intesive How to increase the degree of automation? One testing unit for multiple UUTs (Battery Cells) 1 Operator for whole lab Costs per UUT are much lower UUT exchange works automated 2021 ..
Public Short-term approach for migrating to the cloud Run your legacy SW as a Windows container on a hybrid cloud platform! Lift & Shift (Rehost) Whole application is taken and pushed into container not possible / would cause to much costs Refactoring Rebuild
Public The mixed cloud architecture - an example What is already supported? Managed Cloud Service On Premise Public Cloud Data Server CONCERTO Message Broker VPN Report
Public Azure K8s Service – Deployment of a Kubernetes Workload Source: https://docs.microsoft.com/de-de/azure/architecture/solution-ideas/articles/migrate-existing-applications-with-aks “Easily migrate existing application to container(s) and run within the Azure managed Kubernetes service (AKS)”
Public mid-term approach for migrating to the cloud & automation Refactor core parts of your monolith and run them as Linux container Lift & Shift (Rehost) Whole application is taken and pushed into container Next logical step Refactoring Rebuild
Public Determine the core components selected for refactoring Native Data management subsytem COM .Net Managed subsytem Native application Managed GUI Native GUI COM REST Python Python pybind Python Python Python Python Native Data management subsytem
Public Outlook / Roadmap 2019 • Containerization • Concerto runs within a (Windows) Container 2020 • Deployment and Hosting at Rancher • CI/CD Pipeline Integration for Container at Azure DevOps 2021 • Proof of Concept at Microsoft‘s Kubernetes Service within Azure Cloud with Windows and Linux Container Workloads 2022 • First development of Linux container • Python Integration • Prefect as Workflow Automation •Established IaC 2023 – 202? • Become a Data Analytics Platform based on Python and Linux • SaaS • Less focus on Windows desktop
Public Key Learnings of Social and Technical Aspects DON‘T REINVENT THE WHEEL GET OUT OF YOUR COMFORT ZONE INFRASTRUCTURE AS CODE MVP FIRST ARCHITECTURE DRIVEN BY BUSINESS DON‘T COPY/REBUILD ESTABLISHED TOOLS STAY CURIOUS Neglect of cloud security Internal resistance to adoption Adopt due to wrong reasons Skills deficit WORKLOAD: PROPER DEPLOYMENT RULES AKS: CONTAINER IMAGE CAN NOT BE PULLED WHICH SERVICES TO CHOOSE? DO NOT WAIT, START IMMEDIATELY