- Notifications
You must be signed in to change notification settings - Fork1
Run a cloud exit assessment on your infrastructure to gain insights into the challenges and constraints of a potential cloud exit.
License
escapecloud/cloudexit
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
EscapeCloud Platform:https://escapecloud.io
ExitCloud.io (One-Time Assessment):https://exitcloud.io
Read our release blog:https://escapecloud.io/introducing-cloudexit-open-source-for-smoother-cloud-exit-planning/
Release Date: November 20th, 2024
cloudexit is an open-source tool that empowers cloud engineers to conduct comprehensive cloud exit assessments. It helps identify and evaluate the risks associated with their cloud environment while providing actionable insights into the challenges and constraints of transitioning away from their current cloud provider. By leveraging EscapeCloud Community Edition, organizations can better prepare for a potential cloud exit, ensuring a smoother and more informed decision-making process.
# Optional: Set up a virtual environmentpython3 -m venv ./venvsource venv/bin/activate# Install required dependenciespython3 -m pip install -r requirements.txt
To conduct the assessment, the following role assignments or policies must be attached to the generated credentials:
Cloud Provider | Required Permissions |
---|---|
Microsoft Azure | Reader & Cost Management Reader |
Amazon Web Services | ViewOnlyAccess & AWSBillingReadOnlyAccess |
Once you have installed the required dependencies, you can use 'cloudexit' interactively via the console or by providing configuration files for a streamlined workflow:
python3main.py# Run with manual input for AWS:python3main.pyaws# Run with a configuration file for AWS:python3main.pyaws--configconfig.json# Run with an AWS CLI profile:python3main.pyaws--profilePROFILE# Run with manual input for Azure:python3main.pyazure# Run with a configuration file for Azure:python3main.pyazure--configconfig.json# Run with Azure CLI credentials:python3main.pyazure--cli
The results are saved in the reports folder. Simply open the index.html file in the newly generated folder.
Each assessment creates a new folder named after its timestamp, containing both raw and standardized data.
The following parameters are common across configuration files for different cloud providers. They define the scope and context of the cloud exit assessment:
Cloud Provider | Value |
---|---|
Microsoft Azure | 1 |
Amazon Web Services | 2 |
Google Cloud Platform | TBD |
Alibaba Cloud | TBD |
Strategy | Value |
---|---|
Repatriation to On-Premises | 1 |
Hybrid Cloud Adoption | TBD |
Migration to Alternate Cloud | 3 |
Type | Value |
---|---|
Basic | 1 |
Basic+ | TBD |
AWS Example Configuration:
{ "cloudServiceProvider": 2, "exitStrategy": 3, "assessmentType": 1, "providerDetails":{ "accessKey":"AKAAXASJHMTOST9YTLHE", "secretKey":"", "region":"eu-central-1" }}
Using a configuration file for the required parameters.
Azure Example Configuration:
{ "cloudServiceProvider": 1, "exitStrategy": 3, "assessmentType": 1, "providerDetails":{ "clientId":"a5d7a310-26a4-115f-b679-ca01f0d73b75", "clientSecret":"", "tenantId":"38986009-9ded-42b3-b187-55f1cb61560a", "subscriptionId":"1299bf8a-8ca8-478b-8659-c62e62cd7baa", "resourceGroupName":"test-project" }}
Using a configuration file for the required parameters.
This project is licensed under theGNU Affero General Public License v3.
Contributions are welcome!
Feel free to reach out for any questions or feedback.
About
Run a cloud exit assessment on your infrastructure to gain insights into the challenges and constraints of a potential cloud exit.