<p>Specific to Docker based deployment, what are the differences between those two? Since Google App Engine Flexible now also supports Dockerfile based deployment and it is also fully-managed service, seems it's more preferred option rather than configuring Kubernetes deployment on Container Engine, isn't it?</p>

<p>What are the use cases where it's more preferred to use Google Container Engine over App Engine Flexible?</p>

<p>They are different things. App Engine Flexible is focused on application development - i.e. you have an application and you want to be deployed and managed by Google). On the other hand, Kubernetes is more about having your own infrastructure. Obviously, you can also deploy applications in Kubernetes but, as it's your "own" infrastructure, you are the one to directly manage how both the and the application will behave  (create services, create scalability policies, RBAC, security policies...). </p>

<p>In this sense, Kubernetes is more flexible in what you can achieve. However, as a developer, you may not be interested in the infrastructure at all, only that your application works and scales. For this kind of profile, App Engine Flexible is more suitable.</p>

<p>If, on the other side, want to manage a complete Container infrastructure (more SRE profile), then Kubernetes is for you.</p>
