Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Software Quality Days 2023 - Common Cloud Migra...

Software Quality Days 2023 - Common Cloud Migration Pain Points and how to overcome them - based on practical Experience

here are different obstacles and challenges which you’re facing when starting almost from scratch with the cloud migration of your application. They are related to architectural aspects: what about the structure, what about the components, which have to be provisioned and hosted in the cloud? Which services of the cloud provider should be used: e.g.: Serverless services or a Kubernetes service?

They are related to technical issues - probably common mistakes: inappropriate deployment rules of workloads, scheduling problems of Kubernetes pods...

They can be referred to financial aspects: what costs arise by hosting the application in the cloud? How can they get monitored, respectivelly estimated?

We'd like to reveal our approaches to overcome those issues, based on practical experience.

Patrick Koch

May 25, 2023
Tweet

More Decks by Patrick Koch

Other Decks in Programming

Transcript

  1. Public Common Cloud Migration Pain Points and how to overcome

    them based on practical experience Patrick Koch
  2. Patrick Koch | | 24 May 2023 | / 4

    Public What happened before the cloud? Once upon a time ... and it‘s still 1 AVL and the legacy software application 2 Introduction Today’s Agenda 3 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 mistakes ;) 4 Q&A 6
  3. Patrick Koch | | 24 May 2023 | / 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.”
  4. Patrick Koch | | 24 May 2023 | / 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
  5. Patrick Koch | | 24 May 2023 | / 9

    Public Data Processing with the Desktop Application
  6. Patrick Koch | | 24 May 2023 | / 11

    Public An evolution happens – why even more automation, and more data? 2021 .. 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 ..
  7. Patrick Koch | | 24 May 2023 | / 13

    Public Cloud Migration Strategy Pain Point 1
  8. Patrick Koch | | 24 May 2023 | / 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
  9. Patrick Koch | | 24 May 2023 | / 15

    Public Pain Point 2 Starting with a too complex implementation
  10. Patrick Koch | | 24 May 2023 | / 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)”
  11. Patrick Koch | | 24 May 2023 | / 17

    Public The goal of the first implementation Azure Container Registry Azure Kubernetes Service Azure Virtual Machine Azure File Share Container 1 2 3 4
  12. Patrick Koch | | 24 May 2023 | / 18

    Public The faults 1. ACR not properly attached with AKS 2. Missing statements in Workload 3. Wrong Firewall Settings
  13. Patrick Koch | | 24 May 2023 | / 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
  14. Patrick Koch | | 24 May 2023 | / 20

    Public The faults 1. ACR not properly attached with AKS 2. Missing statements in Workload 3. Wrong Firewall Settings
  15. Patrick Koch | | 24 May 2023 | / 21

    Public Start lightweight: use e.g. a Serverless Service Azure Container Instance
  16. Patrick Koch | | 24 May 2023 | / 22

    Public Pain Point 3 Manual Provisioning
  17. Patrick Koch | | 24 May 2023 | / 23

    Public Manual Provisioning of the resources e.g.: Creating a Kubernetes Cluster in Azure Can you reproduce your environment after the destruction?
  18. Patrick Koch | | 24 May 2023 | / 24

    Public Use Infrastructure as Code Approach Terraform Configuration File Azure Kubernetes Service
  19. Patrick Koch | | 24 May 2023 | / 25

    Public Pain Point 4 Costs
  20. Patrick Koch | | 24 May 2023 | / 27

    Public Estimate the costs using tools
  21. Patrick Koch | | 24 May 2023 | / 28

    Public Automated Resource Provisioning in Azure with ADO Pipelines and Terraform Terraform Configurations Azure Azure DevOps Pipeline
  22. Patrick Koch | | 24 May 2023 | / 29

    Public Data Processing using an automated way in Azure
  23. Patrick Koch | | 24 May 2023 | / 30

    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
  24. Patrick Koch | | 24 May 2023 | / 32

    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.software-quality- days.com/ https://www.avl.com Slide 1 Slide 3 Slide 4 https://www.avl.com Slide 5
  25. Patrick Koch | | 24 May 2023 | / 33

    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 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 Slide 8 Engine Test Bed: avl.com Battery Cell: https://www.avl.com/en/testing- solutions/e-mobility-testing/battery-testing/avl- battery-cell-ts Slide 11
  26. Patrick Koch | | 24 May 2023 | / 34

    Public Picture Sources https://learn.microsoft.com/de- de/azure/cloud-adoption- framework/migrate/ https://www.pexels.com/photo/man- jumping-on-intermodal-container- 379964/ https://pixabay.com/de/photos/kaktee n-garten-mallorca-2462159/ Slide 12 Slide 14 Slide 16
  27. Patrick Koch | | 24 May 2023 | / 35

    Public Picture Sources AKS Icon: https://learn.microsoft.com/en- us/azure/architecture/icons/ Azure Container Instance Icon: https://learn.microsoft.com/en- us/azure/architecture/icons/ Screenshot: Microsoft - Azure Portal https://portal.azure.com Azure VM Icon: https://learn.microsoft.com/en- us/azure/architecture/icons/ AKS Icon: https://learn.microsoft.com/en- us/azure/architecture/icons/ Azure Share Icon: https://learn.microsoft.com/en- us/azure/architecture/icons/ ACR Icon: https://learn.microsoft.com/en- us/azure/architecture/icons/ 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
  28. Patrick Koch | | 24 May 2023 | / 36

    Public Picture Sources Terraform Icon: https://registry.terraform.io/providers/hashicorp/tfe/latest Azure DevOps Icon: https://learn.microsoft.com/en-us/azure/architecture/icons/ Azure Icon: https://de.m.wikipedia.org/wiki/Datei:Microsoft_Azure_Logo.svg Slide 28