I'm attempting to reduce the amount of steps in getting my app to the cloud and potentially moving it around various cloud service providers as I try them out. Containerization appears to be the central principle here, but I need some advice on best practices:
I've got a webapp that I'm serving on localhost using Flask and mod-wsgi-express. The pages use AngularJS routes and ajax to retrieve statistics from a PostgreSQL database and graph them using D3.
I'm preparing to move this app to my Google Cloud account where Postgres is already running, then utilize Kubernetes to run a few of the modules as services. What I'm unclear on is:
Should I be Kubernetes-izing my app ON my machine while I finalize the development, using something like minikube? If so, why?
Once my app is in the cloud running on Kubernetes, is it possible to then Docker-ize this and eventually move it to another cloud hosting provider (which may not support Kubernetes) in the future like AWS? Or must it be Docker-ized first? or as a parallel project to getting the app into Google Cloud?
Google Cloud allows you to setup Virtual Machines with CentOS/Apache, etc. So I know the webapp can run there, I just don't want to get trapped in using Google Cloud forever in case another service comes along with better tools.