Blog Article:

Deploying a Multi-Cloud Application with OpenNebula

Multi-Cloud

Victor Palma

Cloud Engineer at OpenNebula Systems

Jan 23, 2025

With OpenNebula, building multi-cloud environments is a seamless and automated process. In our latest screencast, we showcase how to deploy the distributed storage solution MinIO across four strategically selected locations, utilizing three distinct providers: AWS, Equinix, and Scaleway. Thanks to OpenNebula’s advanced capabilities, the entire multi-cloud setup can be configured automatically in just 30 minutes.

Multi-Cloud
Multi-cloud infrastructure automatically deployed with OpenNebula

Why is a Multi-Cloud Setup Important for Applications? 

Multi-cloud applications leverage infrastructures from different cloud providers to enhance availability, scalability, and performance. With OpenNebula’s capabilities and its automatic provisioning tool, it is possible to create a multi-cloud scenario like the one illustrated in the following figure, where geographically distributed clusters can interact seamlessly and effectively.

One of the most compelling aspects of this setup is its adaptability to real-world demands. In a multi-cloud scenario, distributing resources across providers and regions offers several significant benefits:

  1. It minimizes the risks associated with dependency on a single provider. In our example, by spreading workloads across AWS, Equinix, and Scaleway, the system is insulated from outages or disruptions affecting any one provider.
  2. It optimizes costs and performance by allowing organizations to choose providers and regions based on specific needs, such as latency, pricing, or compliance requirements.
  3. The inherent redundancy of a multi-cloud setup ensures resilience, with the distributed system capable of maintaining operations even if one cluster experiences issues.

OpenNebula relies on two key technologies to achieve this multi-cloud setup:

  • OpenNebula Provision (OneProvision) is an integrated tool within OpenNebula that automates the provisioning of bare-metal cloud resources on public cloud providers. By streamlining the deployment process, it ensures clusters across different regions and providers are ready to support demanding workloads without manual configuration. This automation significantly reduces the complexity and time required to set up a robust multi-cloud infrastructure.
  • OpenNebula Flow (OneFlow), another core component of the platform, enables the creation and orchestration of multi-VM applications. With Flow, organizations can deploy distributed applications seamlessly across geographically dispersed multi-cloud environments. It not only facilitates the deployment process but also ensures efficient interconnection and synchronization between application components, delivering high availability and optimal performance in a distributed setup.

These integrated tools work in harmony to simplify the creation and management of complex multi-cloud architectures, resulting in the multi-cloud application shown in the diagram below.

OneFlow Multi-Cloud
Multi-cloud application deployed with OpenNebula Flow

Multi-Cloud Application Deployment with OpenNebula

Deploying a multi-cloud application with OpenNebula involves a series of steps to ensure a seamless, distributed environment across different cloud providers.  

The first step is to integrate your cloud providers into OpenNebula. For this example, we will be using AWS, Equinix, and Scaleway through OneProvision, which can be found in Sunstone.

Sunstone
Sunstone Web Portal listing all registered Providers in OpenNebula for this demo

By adding these providers to OpenNebula’s OneProvision tool, you enable OpenNebula to manage and provision resources across each configured cloud environment. Each provider is linked to your OpenNebula instance, allowing you to deploy and manage resources in different regions and data centers. 

Next, we will create provisions in the specific locations where your multi-cloud application will run. In this case, we will focus on Frankfurt, Amsterdam, Paris, and Warsaw, leveraging the different data centers offered by AWS, Equinix, and Scaleway, respectively as shown earlier. OpenNebula’s Provision tool automates the process of provisioning resources such as bare-metal hosts, virtual routers, and storage in these regions. Leveraging the capabilities of OpenNebula, we can automatically configure this multi-cloud scenario in just 30 minutes, quickly adding and configuring edge cloud instances directly from the Sunstone interface, as shown in the next image.

Frankfurt Cluster AWS
Information on Frankfurt Cluster automatically provisioned on AWS

As the final step, to demonstrate how to deploy a distributed application in a multi-cloud environment, we will use the MinIO appliance available in OpenNebula’s public marketplace. MinIO is a high-performance, distributed object storage solution.

MinIO
MinIO Multi-Node appliance on OpenNebula’s Public Marketplace

By selecting the MinIO appliance from the marketplace, we can quickly deploy a multi-VM application using OneFlow across the various clusters we set up in Frankfurt, Paris, and Warsaw. OpenNebula’s OneFlow service automatically orchestrates the deployment and management of the application, ensuring that the MinIO instances are correctly configured and interconnected across the different locations.

The OneFlow template downloaded from the OpenNebula public marketplace specified the necessary components for each location, defining the VM roles and their configurations. Each VM within the service was assigned a specific role within the MinIO distributed storage system. The template also incorporated network requirements, ensuring that  instances deployed across different clusters could communicate effectively. The screenshot below captures the final result, showcasing the successfully deployed MinIO service with all instances up and running across the four clusters.

MinIO Multi-Cloud
MinIO Multi-Cloud Cluster OneFlow Service Template

Once the OneFlow service was instantiated, OpenNebula automatically handled the deployment and synchronization of the MinIO instances across all regions. With the setup complete, accessing the public IP assigned by OneProvision for the MinIO cluster allows entry to the MinIO web portal. From this interface, we can efficiently manage the provisioned distributed storage within the multi-cloud environment described before.

MinIO Multi-Cloud Metrics
MinIO Metric Dashboard deployed automatically on a Multi-Coud Service by OpenNebula

Explore the Multi-Cloud Setup in Our Latest Screencast

To see this entire process in action, we invite you to watch our latest screencast. In it, we demonstrate the live deployment of a multi-cloud application–MinIO–showcasing every step from provisioning resources with OpenNebula Provision to orchestrating the service with OpenNebula Flow. Don’t miss the chance to see how the integrated providers simplify and automate a multi-cloud environment in OpenNebula (including the Scaleway Provider, available starting with version 7.0). Watch the full demo now and discover what’s coming next for OpenNebula!


ONEnextgen-logo

Funded by the Spanish Ministry for Digital Transformation and Civil Service through the ONEnextgen Project  (UNICO IPCEI-2023-003), and co-funded by the European Union’s NextGenerationEU through the RRF.


0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *