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.
We are still in early days of development and currently support the core services from AWS and Azure:
- Networking (virtual_network, subnet, route_table, security_group, network_interface, public_ip)
- Compute (virtual_machine, managed kubernetes)
- Database (managed MySQL databases)
- Vault (managed secrets)
- Storage (managed storage)
- Abstraction of cloud differences (Azure VM public vs AWS EC2 private by default)
- Deployment through Terraform
We’re looking for feedback from other developers about our approach. Let us know your thoughts!