Skip to content

cloud-barista/cloud-migrator

Repository files navigation

Cloud Migration Integration Platform

Integrated mirror for all subsystems in cloud migration integration platform (Cloud-Migrator)

Introduction

This project develops a cloud migration technology that facilitates the transfer of your IT assets to the cloud, thereby accelerating your successful SaaS transformation.

Our technology scans all your IT assets, including infrastructure, software, and data, and then migrates all of these at once.

This repository serves as an integrated archive for major cloud migration features. The included repositories are listed in the root directory.

The main subsystems and tools we include are:

  • CB-Spider: Connects all clouds in a single interface, facilitating dynamic multi-cloud integration. It offers unified APIs for the dynamic connection and control of multi-cloud resources and services.

  • CB-Tumblebug: Manages multi-cloud infrastructures, integrating various heterogeneous cloud infrastructure resources in the form of a single cloud.

  • CM-Honeybee: Collects and aggregates information from source computing environment, including about intrastructure, software, and data.

  • CM-Beetle: Executes computing infra migration to the target cloud infrastructure and recommends an optimal configuration of the target.

  • CM-Grasshopper: Executes software migration onto the target cloud infrastructure and manages software packages.

  • CM-Centipede: Executes data migration onto the target cloud infrasturcuture and manages performance and stability on data migration.

  • CM-Damselfly: Specifies and manages model specifications, versions, and user models for cloud migration.

  • CM-Cicada: Manages migration workflows to perform automated or optimized migrations.

  • CM-Ant: Evaluates and predicts cost/performance of target cloud infrastructure.

  • CM-Mayfly: Provides an operation tool for Cloud-Migrator platform runtime.

  • CM-Butterfly: Provides a web-based GUI portal and a REST-based open interfaces.

Note - Source code of CM-Centipede would not be released and archived in this repository for the time being.

Getting Started

To start with the Cloud-Migrator, follow these detailed steps:

  1. Select the tool you need:
    • CB-Spider for integrating different cloud platforms into a single interface.
    • CB-Tumblebug for deploying and managing cloud infrastructures.
    • CM-Honeybee for scaning and analyzing IT assets.
    • CM-Beetle for migrating infrastructure.
    • CM-Grasshopper for migrating softwares.
    • CM-Centipede for migrating data.
    • CM-Damselfly for managing migration models.
    • CM-Cicada for managing migration workflows.
    • CM-Ant for evaluating target cloud infrastructure.
    • CM-Mayfly for up and running and operating the entire Cloud-Migrator platform.
    • CM-Butterfly for providing Cloud-Migrator portal and open interface.
  2. Access the repository: Navigate to the README.md file of each tool repository, following the the provided upstream repository links.
  3. Explorer the various information: Take a look at docs, guides, instructions, including prerequisites, dependencies, and step-by-step installation process.

Contribution

Contributions are always welcome!

To contribute this project, we'd like you to look at the following three things:

  1. Explore issues: Visit the GitHub Issue of each upstream repository and explore existing issues or feature requests.
  2. Join discussions: Engage in discussions on existing issues or open new ones to share your ideas and contributions with the developer community.
  3. Propose your ideas: Create and submit Pull Requests to propose your ideas. Once reviewed and approved, the ideas will be merged into the project.

Contact

For any questions or feedback regarding the Cloud-Migrator, please visit the GitHub Issues of each upstream repository.

Update all subsystems

This script is used for updating Git submodules to a specific tag and optionally committing those changes. It reads a list of submodule URLs from an external file, checks each submodule, updates it to a specified tag, and then commits the change if the user agrees. - README in m-cmp/update-submodules.sh

Thanks to the M-CMP Community for providing this script

Update submodules

Click to see prerequisites

Prerequisite (before running the script):

  • All repositories must have a tag.
  • submodules.md must be updated and committed.

(Optional) Set your user.name and user.email

# Set git global user email and name
git config --global user.email "[email protected]"
git config --global user.name "Your Name"

(Optional) Update submodules.md and commit it

# Open
vim submodules.md

# Modify repository urls and save

# Commit the updates
git add .
git commit -m "Edit `submodules.md`

(Optional) Initialize submodules if right after cloning

git submodule update --init --recursive

Update all submodules:

# Download the script quietly and save as update-submodules.sh
wget -q -O update-submodules.sh https://raw.githubusercontent.com/m-cmp/m-cmp/main/update-submodules.sh

# Make the script executable
chmod 775 update-submodules.sh

# Execute the script
./update-submodules.sh