What is migrating?
You may have a few applications that need to migrate to Kubernetes. Let’s discuss a few methods of onboarding existing services into Kubernetes.
There are three methods for migrating to Kubernetes:
- A traditional lift and ship
- Breaking your monolith application into microservices
- Containerizing portions of your application
Containerizing the Application Service:
For standard 3-three tier applications, you may be able to do a lift and ship into Kubernetes by creating a container image to be deployed on Kubernetes. This is the least amount of effort required to migrate into kubernetes. This means you may not have the best performance and or be making changes to the service often.
This requires containerizing independent services within your application. This gives scale to your teams and makes the most of Kubernetes as you can scale separate services, implement health checks, monitoring and additional security over components.
Containerizing portions of your application
Some applications are not good candidates for containers. You may find that only a portion of your application fits into the container ecosystem. In this case, be aware of this dependency between your existing application and the services that broke out and migrated to Kubernetes. A great way to combat this dependency is to integrate 12-factor app methodologies to optimize services living in Kubernetes.