26
Top 5 ways to run your legacy containers on Google Cloud
If your private environment is using Docker and you want to migrate your containers to Google Cloud, this article can help you to choose the right Google Cloud Computing service.
There are many reasons for using public cloud technology like:
All of these motivations can turn into big challenges if you choose the wrong cloud computing service.
I have met customers trying to adapt their legacy on a Google Cloud computing service by ignoring the network, security, and devops aspects. This method is not a lift & shift migration. The lift & shift is a journey, it needs a migration plan, cloud adoption, migration path and a clear vision!
I also met customers moving their containerized application to an orchestrator thinking it was a lift & shift migration. They expected minor or no modifications or refactoring needed. This strategy is an
improve and move
migration and it's also a journey that requires more time.As a last example, I met a customer wanted to move their containerized application to a serverless, networkless service while maintaining communication with their on-premises environment. A worthless strategy.
When you move to Google Cloud or any other public cloud provider, only your workloads and data will be migrated, your current network, some security patterns and devops practices will remain on your private environments. In Google Cloud, you will need to embrace new best practices and patterns if you want to see your workloads running in production with the initial reasons that motivated you to choose Google Cloud.
In this article, we take an example of a containerized application that needs to be migrated to Google Cloud taking into account many aspects such as network, security, cost and devops challenges.
I explained in a previous post Serverless is not (always) Networkless! that we can represent Google Cloud services in 2 categories:
The first category is represented by the following computing services:
The second category is represented by the following computing services:
A container application can be deployed on Cloud Run, App Engine flexible, Kubernetes Engine Standard, Kubernetes Engine Autopilot or Compute Engine.

I would say: don't migrate to Google Cloud if you plan to use Compute Engine to host your containerized application. However, if you still want to host your existing containerized application in Compute Engine, you should be aware of the following constraints:

If you want to host your existing containerized application in App Engine flexible you should be aware of the following constraints:

If you want to host your existing containerized application in this Kubernetes Engine mode you should be aware of the following constraints:

If you want to host your existing containerized application in this Kubernetes Engine mode you should be aware of the following constraints:

If you want to host your existing containerized application in Cloud Run you should be aware of the following constraints:
- you need Kubernetes for basic usage, so choose Kubernetes Engine Autopilot.
- you have strong knowledge of Kubernetes, so choose Kubernetes Engine Standard.

That's all folks!
Thanks for reading this post :-)
26