Moving more than 10 applications from on-prem servers to OpenShift
This is my own work in my day job as a DevOps engineer at a global logistics company. It isn't a BVS contract.
The situation
The applications ran on on-prem servers. The work was to move them onto OpenShift, get them running in the test environment, and promote them to production.
What I did
- The same path for every app. Set up the namespace, split monoliths where it made sense, write the Dockerfiles, set up the routing, wire up the pipeline, then build and troubleshoot until it runs.
- Routing and TLS for each app. Each app got its own routing and TLS setup. I also manage the nginx and the routing.
- GitOps deploys. Each app deploys from Git through the pipeline, not by hand.
Why each app got its own routing and TLS
On a server, an app often shares a web server, a certificate and an open network with everything else on the box. On OpenShift each app gets its own route, its own decision about where TLS ends, and its own rules about what it may talk to. It's more setup per app. It also means one app's change or mistake stays with that app, and each one could go to production when it was ready instead of waiting on the rest.
The result
More than 10 applications moved to the OpenShift test environment, and 7 promoted to production.
The apps deploy through the developer platform I built, which cut namespace onboarding and deployment from 4 to 5 days to hours. That foundation is what kept each new app from starting over.
The steps and what breaks along the way are in how to migrate an application to Kubernetes and OpenShift. The platform the apps deploy through is in the developer platform case study.