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

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

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

    View Slide

  2. Public
    Introduction

    View Slide

  3. Patrick Koch | | 24 May 2023 |
    / 3
    Public

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  8. Patrick Koch | | 24 May 2023 |
    / 8
    Public

    View Slide

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

    View Slide

  10. Public
    Why do we need to migrate to the cloud…

    View Slide

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

    View Slide

  12. Public
    The Pain Points

    View Slide

  13. Patrick Koch | | 24 May 2023 |
    / 13
    Public
    Cloud Migration Strategy
    Pain Point 1

    View Slide

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

    View Slide

  15. Patrick Koch | | 24 May 2023 |
    / 15
    Public
    Pain Point 2
    Starting with a too complex
    implementation

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  26. Patrick Koch | | 24 May 2023 |
    / 26
    Public

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  31. Public
    Thank you!

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide