Migrating existing workloads between clouds is a necessity for a large number of use cases, especially for user moving from traditional virtualization technologies like VMware vSphere or Microsoft System Center VMM to Azure / Azure Stack, OpenStack, Amazon AWS or Google Cloud. Furthermore, cloud to cloud migrations, like AWS to Azure are also a common requirement.
Project Coriolis™ addresses exactly those requirements, in particular migrating Linux (Ubuntu, Red Hat / CentOS, Oracle Linux, SUSE, Debian, Fedora) and Windows virtual machine, templates, storage and networking configurations.
There are some tricky scenarios where Coriolis excels: to begin with, virtual machines need to be moved between different hypervisors, which means including new operating system drivers and tools, for example cloud-init / cloudbase-init in the OpenStack use case, LIS kernel modules on Hyper-V and Azure and so on.
The goal of this project is to make sure that the process is completely seamless for the user and Cloudbase Solutions has a large experience and track record in addressing those scenarios, so the next natural step was to ensure it can be fully automated!
Scalability and fault tolerance
What about having multiple tenants migrating hundreds of virtual machines in parallel? To address that, Coriolis is based on a microservices architecture with scalability and fault tolerance as a primary goal in mind.
Identity management is based on Keystone, to allow easy integration with OpenStack, Active Directory and Azure, offering easy project based multi-tenancy.
Last but not least, security plays an important role. Where do we store the secrets containing the credentials required to connect to a cloud in a secure way? For this we are primarily leveraging OpenStack’s Barbican project, Azure Key Vault or other market standard solutions thanks to a flexible interface.
We’re also leveraging lots of OpenStack Oslo components for most of the services, from the WSGI based APIs down to AMQP messaging.
Coriolis provides a simple and powerful REST API, that can be consumed with a web, command line or custom interface.
Additionally, Coriolis can allow hybrid scenarios where the target cloud is used for handling workload expansions on a public cloud while still maintaining an on-premise infrastructure.
Where can I learn more?
Command-line client tools are available on Pypi.
Here’s also a set of Youtube videos showing how to use Coriolis to migrate Windows Server, Ubuntu, RHEL, SUSE, CentOS and Debian virtual machines from VMware vSphere to OpenStack.
What about the name?
The Coriolis effect is a force that in meteorology affects the migration of air masses (and thus, clouds) forming the familiar rotating patterns visible in satellite images. Since this project is about cloud migrations, that’s how it started and the name stuck!