Slide 1

Slide 1 text

Patrick Koch AVL List GmbH (Headquarters) Public Common Cloud Migration Pain Points and how to overcome them based on practical experience

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Public Introduction

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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.”

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Public Once upon a time ... What happened before the cloud?

Slide 8

Slide 8 text

Patrick Koch | | 04 November 2022 | / 8 Public Traditional Use Case: The Engine Test Bed

Slide 9

Slide 9 text

Patrick Koch | | 04 November 2022 | / 9 Public Data Processing Use Case

Slide 10

Slide 10 text

Public Why do we need to migrate to the cloud…

Slide 11

Slide 11 text

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 ..

Slide 12

Slide 12 text

Public The Pain Points

Slide 13

Slide 13 text

Patrick Koch | | 04 November 2022 | / 13 Public Cloud Migration Strategy Pain Point 1

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

Patrick Koch | | 04 November 2022 | / 15 Public Pain Point 2 Starting with a too complex implementation

Slide 16

Slide 16 text

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)”

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

Patrick Koch | | 04 November 2022 | / 21 Public Start lightweight: use e.g. a Serverless Service Azure Container Instance

Slide 22

Slide 22 text

Patrick Koch | | 04 November 2022 | / 22 Public Pain Point 3 Manual Provisioning

Slide 23

Slide 23 text

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?

Slide 24

Slide 24 text

Patrick Koch | | 04 November 2022 | / 24 Public Use Infrastructure as Code Approach Terraform Configuration File Azure Kubernetes Service

Slide 25

Slide 25 text

Patrick Koch | | 04 November 2022 | / 25 Public Pain Point 4 Costs

Slide 26

Slide 26 text

Patrick Koch | | 04 November 2022 | / 26 Public

Slide 27

Slide 27 text

Patrick Koch | | 04 November 2022 | / 27 Public Estimate the costs using tools

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

www.avl.com Public Thank you Mulțumesc

Slide 31

Slide 31 text

Patrick Koch | | 04 November 2022 | / 31 Public Picture Sources https://icons8.de/icons/set/job https://icons8.de/icons/set/home-town https://icons8.de/icons/set/contact https://icons8.de/icons/set/twitter https://icons8.de/icons/set/linkedin https://icons8.de/icons/set/blog https://www.genardmethod.com/blog/ your-speechs-introduction-how-to- make-it-powerful https://www.gotech.world/ https://www.avl.com Slide 1 Slide 3 Slide 4 https://www.avl.com Slide 5

Slide 32

Slide 32 text

Patrick Koch | | 04 November 2022 | / 32 Public https://pixabay.com/de/photos/geb%C 3%A4ude-kran-baustelle- ger%C3%BCstbau-1804030/ https://pixabay.com/photos/car- citroen-france-vintage-vehicle- 2184905/ Windows: https://commons.wikimedia.org/wiki/File:Windows_ Logo_(1992-2001).svg GCP: https://cloud.google.com AWS: https://de.wikipedia.org/wiki/Amazon_Web_Service s Azure: https://www.itprotoday.com/iaaspaas/microsoft- azure-cloud-platform-what-works-what-s-needed PCs: https://www.impulse.de/wp- content/uploads/2015/10/gebrauchte- hardware_fotolia620-620x340.jpg Python: https://www.python.org/ Linux: https://upload.wikimedia.org/wikipedia/commons/d /dd/Linux_logo.jpg Slide 6 Slide 7 Slide 10 Picture Sources www.avl.com https://www.facebook.com/watch/?v= 577695086079773 Slide 8 https://encrypted- tbn0.gstatic.com/images?q=tbn:ANd9 GcSwpKr5N7wBrSzgpFB1_Xddu677Rzo jYMB7EQ&usqp=CAU www.avl.com Slide 11

Slide 33

Slide 33 text

Patrick Koch | | 04 November 2022 | / 33 Public Picture Sources https://learn.microsoft.com/de- de/azure/cloud-adoption- framework/migrate/ https://www.projekt- promotion.at/artikel/das- containerhaus-die-sparsame-und- nachhaltige-wohnalternative https://www.mdr.de/mdr- garten/pflegen/kakteen-kaktus-pflege- jahr-winterruhe-sommer-giessen- duengen-100.html Slide 12 Slide 14 Slide 16

Slide 34

Slide 34 text

Patrick Koch | | 04 November 2022 | / 34 Public Picture Sources AKS Logo: https://learn.microsoft.com/en-us/ Azure Container Instance Logo and Screenshot Microsoft - Azure Portal https://portal.azure.com https://learn.microsoft.com/de- de/azure/cloud-adoption- framework/migrate/ AKS Logo: https://learn.microsoft.com/en-us/ FileShare Logo: Microsoft - Azure Portal https://portal.azure.com ACR Logo: Microsoft - Azure Portal https://portal.azure.com Container Icon: https://icons8.de/icons/set/container Screenshot: Microsoft - Azure Portal https://portal.azure.com Slide 17, 18, 19, 20 Slide 21 Slide 24 Screenhots: Microsoft - Azure Portal https://portal.azure.com Slide 23 and Slide 26 Screenhot: https://azure.microsoft.com/en- us/pricing/calculator/ Slide 27

Slide 35

Slide 35 text

Patrick Koch | | 04 November 2022 | / 35 Public Picture Sources Terraform: https://commons.wikimedia.org/wiki/File:Terraform_Logo.svg Azure DevOps: https://visualstudio.microsoft.com/de/subscriptions/ Azure Pipeline: https://azure.microsoft.com/de-de/blog/topics/data-warehouse/ Azure Services: https://www.portal.azure.com Azure: https://www.itprotoday.com/iaaspaas/microsoft-azure-cloud-platform-what- works-what-s-needed Slide 28