We have been working on multy.dev, an open-source cloud agnostic API that makes it easy to deploy the same infrastructure to any cloud provider using native managed services.<p>The motivation was the realisation that, even when using Terraform, migrating infrastructure code requires an end-to-end re-write. Even though most core resources are the same in any major cloud, developers need to learn a new provider to deploy the same infrastructure when moving providers.<p>We are still in early days of development and currently support the core services from AWS and Azure:<p>- Networking (virtual_network, subnet, route_table, security_group, network_interface, public_ip)<p>- Compute (virtual_machine, managed kubernetes)<p>- Database (managed MySQL databases)<p>- Vault (managed secrets)<p>- Storage (managed storage)<p>- Abstraction of cloud differences (Azure VM public vs AWS EC2 private by default)<p>- Deployment through Terraform<p>We’re looking for feedback from other developers about our approach. Let us know your thoughts!<p>GitHub: <a href="https://github.com/multycloud/multy" rel="nofollow">https://github.com/multycloud/multy</a>
This is a really good idea! I've worked with both Azure and AWS - we've mainly used Powershell scripts and both their SDKs to deploy resources.<p>For AWS we were still using the sdks / cli to deploy but for Azure we went to bicep (Azure's api really sucked as it kept being updated very often and caused the Az module to stop working).<p>I can see value in this as it grows!
I'm trying to make this live too here: <a href="https://github.com/cloudytool/cloudy" rel="nofollow">https://github.com/cloudytool/cloudy</a>. My idea is to give a user cloud-specific javascript templates with a production-ready cluster infrastructure. Looking for contributors :)
The use of the word ”agnostic” implies skepticism towards cloud solutions and that your stack knows nothing about any cloud provider. I don’t think that’s the way either is.