Patrick Koch | | 04 November 2022 | / 2 Public Today’s Agenda 3 2 Who is this guy? Introduction 1 Once upon a time ... and it‘s still What happened before the cloud? Omg, what do we need to do? Why do we need to migrate to the Cloud? Conclusion 5 The Pain Points Of course we didn‘t avoid making embarrassing mistakes ;) 4 Q&A 6
Patrick Koch | | 04 November 2022 | / 4 Public Who am I? @PK_Koch patkoch87 patrickkoch.dev Graz (Austria) DevOps Engineer Patrick Koch Icon sources: icons8.de
Patrick Koch | | 04 November 2022 | / 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.”
Patrick Koch | | 04 November 2022 | / 6 Public Evolved to platform product Container, K8s Automation Framework Web components 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. ” ~ 800 customers ~ 23000 users The application to migrate in the cloud: AVL CONCERTO
Patrick Koch | | 04 November 2022 | / 11 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 One testing unit for multiple UUTs (Battery Cells) 1 Operator for whole lab Costs per UUT are much lower UUT exchange works automated 2021 ..
Patrick Koch | | 04 November 2022 | / 14 Public Cloud Migration Strategy Decide for a strategy before starting the implementation Lift & Shift (Rehost) Whole application is taken and pushed into container not possible / would cause to much costs Refactoring Rebuild
Patrick Koch | | 04 November 2022 | / 16 Public Lift and shift to container using Azure Kubernetes Service 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)”
Patrick Koch | | 04 November 2022 | / 17 Public The goal of the first implementation Azure Container Registry Azure Kubernetes Service Azure Virtual Machine Azure File Share Container running Concerto 1 2 3 4
Patrick Koch | | 04 November 2022 | / 18 Public The faults 1. ACR not properly attached with AKS 2. Missing statements in Workload 3. Wrong Firewall Settings
Patrick Koch | | 04 November 2022 | / 19 Public The faults 1. ACR not properly attached with AKS 2. Missing statements in Workload 3. Wrong Firewall Settings nodeSelector: kubernetes.io/os: windows tolerations: - key: "kubernetes.io/os" operator: "Equal" value: "windows" effect: "NoSchedule" restartPolicy: Never backoffLimit: 4
Patrick Koch | | 04 November 2022 | / 20 Public The faults 1. ACR not properly attached with AKS 2. Missing statements in Workload 3. Wrong Firewall Settings
Patrick Koch | | 04 November 2022 | / 23 Public Manual Provisioning of the resources e.g.: Creating a Kubernetes Cluster in Azure Can you reproduce it after destroying it?
Patrick Koch | | 04 November 2022 | / 28 Public Automated Resource Provisioning in Azure with ADO Pipelines and Terraform Terraform Configurations State Files .tf .tfstate Azure Subscription ADO Pipeline
Patrick Koch | | 04 November 2022 | / 29 Public Conclusion Decide for a Cloud Migration Strategy Avoid to start with a too complex implementation – start lightweight Don‘t do manual provisioning – use Infrastructure as Code approach Be aware of the costs, monitor them