amazon-web-servicesgoogle-cloud-platformpaasiaas

migrate between cloud hosting providers


In Cloud hosting world, is there such thing as develop once, deploy to multiple hosting platforms? Specifically referring to AWS and Google Cloud.

I aim to easily migrate from one cloud provider to another. Like from AWS to Google Cloud to Heroku to DigitalOcean and back if necessary.

One option is to use docker containers but then you've to deploy against IaaS, but that becomes expensive in costing. PaaS is I guess way cheaper but there's the proprietary format barrier(like Google App Engine's app format, which is hard to migrate towards AWS and by itself imposes many constraints on the webapp code).

I thought of Docker containers. And found this blogpost, which uses coldbrew-cli and deploys Docker containers to Amazon EC2 Container Service. But again that feels like IaaS, like not cheap in costing.

Are there any other options out there? Or perhaps answer lies in abstracting the web services layer, so that it can be swapped easily with AWS instead of Google App Engine. Is this even possible?


Solution

  • I think i have what you are looking for:

    IaC https://www.terraform.io/

    It allows you to switch across cloud provides but you have to well define the structure and the variables to exactly match your needs.

    In case you have Cloud Function/Lambdas, use this one also:

    https://serverless.com/