Skip to content

peterhack/Monolith_to_Microservices

Repository files navigation

Monolith to Microservices

ticketmonster

In this module you'll learn how to migrate a monolithic application to the cloud and how to fearlessly break it up into microservices. Therefore, we want to walk you through the different stages of identifying and extracting a microservice, as well as strangling it around its origin – the monolith. For this purpose, the module provides step-by-step instructions and labs showing the best practices we have identified for migrating a monolith to the cloud. This module goes along with a blog post series, which you can find here. Please take a look at the different blog posts to learn more about certain migration steps.

Prepare Environment for Labs

  1. Clone the repository from monolith to microservices

    git clone https://github.com/dynatrace-innovationlab/monolith-to-microservice-openshift.git
    
  2. Create the project in OpenShift

    oc login <OurClusterIP:port>
    
    • User: userXX (XX is your assigned number)
    • Password: ask instructor
  3. After the successful login, create your own project:

    oc new-project <project-XX>
    
  4. Set up a management zone for your OpenShift project

    1. Login to the Dynatrace tenant: tenant-url (Please ask instructor for Dynatrace tenant and login credentials.)
    2. Go to Settings, Preferences, and click on Management zones.
    3. Click Create management zone and set name to project-XX (XX is your assigned number).
    4. Click Add new rule and set rule applies to Process groups.
    5. As condition define: Kubernetes namespace > begins with > enable Case sensitive > name of your project project-XX
    6. Enable both checkboxes: Apply to underlying hosts of matching process groups and Apply to all services provided by the process groups
    7. Finally, click Save.

Troubleshooting

Some useful OpenShift CLI commands:

  • oc get pods: retrieve all pods
  • oc get services: retrieve all services
  • oc get routes: get all exposed routes
  • oc delete all -l app=<yourappname>: delete an app and all assigned resources to this app
  • oc logs <pod-name>: get the logs of a pod
  • oc rsh <pod-name>: open a remote shell on this pod

About

Ticketmonster m2m workshop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published