CloudLockInRisk Documentation
The first vendor lock-in assessment calculator for enterprise cloud decisions
Welcome to CloudLockInRisk
Get started with our comprehensive vendor lock-in assessment tool designed for enterprise cloud strategy.
Quick Start Guide
Sign up for early access and configure your organization profile.
curl -X POST https://api.cloudlockinrisk.com/v1/signup \
-H "Content-Type: application/json" \
-d '{"email": "admin@company.com", "org": "Your Company"}'
2. Connect Cloud Accounts
Securely connect your AWS, Azure, or GCP accounts for analysis.
# AWS Connection
aws configure set region us-west-2
zenix-cli connect --provider aws --account-id 123456789
Installation
Install CloudLockInRisk CLI
# Via npm
npm install -g @zenixlabs/cloudlockinrisk-cli
# Via Python pip
pip install cloudlockinrisk
# Via Docker
docker pull zenixlabs/cloudlockinrisk:latest
Basic Usage
# Initialize assessment
zenix-cli init --provider aws
# Run quick assessment
zenix-cli assess --services ec2,rds,s3 --output json
# Generate detailed report
zenix-cli report --format pdf --include-migration-costs
API Reference
API Base URL
https://api.cloudlockinrisk.com/v1
Authentication
All API requests require authentication using API keys. Include your API key in the Authorization header.
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Endpoints
POST
/assessments
Create a new vendor lock-in risk assessment
Request Body:
{
"provider": "aws",
"services": [
{
"name": "ec2",
"instances": 15,
"data_volume_gb": 1000
},
{
"name": "rds",
"databases": 3,
"data_volume_gb": 500
}
],
"integrations": ["iam", "vpc", "cloudformation"],
"data_types": ["pii", "financial", "healthcare"],
"compliance_requirements": ["gdpr", "hipaa"]
}
Response:
{
"assessment_id": "assess_12345",
"risk_score": 78,
"risk_level": "HIGH",
"migration_cost_estimate": {
"min": 2100000,
"max": 3500000,
"currency": "USD"
},
"critical_factors": [
"High integration complexity",
"Proprietary service dependencies",
"Data migration challenges"
],
"recommendations": [...]
}
GET
/assessments/{id}
Retrieve a specific assessment result
Response:
{
"id": "assess_12345",
"created_at": "2024-01-15T10:30:00Z",
"status": "completed",
"results": {
"overall_risk_score": 78,
"service_breakdown": {...},
"migration_roadmap": {...}
}
}
Integrations
Connect CloudLockInRisk with your existing cloud infrastructure and tools.
AWS Integration
Connect with AWS CloudFormation, Cost Explorer, and Config
Azure Integration
Integrate with Azure Resource Manager and Cost Management
GCP Integration
Connect with Google Cloud Deployment Manager and Billing
Terraform Integration
Use our Terraform provider to automatically assess infrastructure as code:
terraform {
required_providers {
cloudlockinrisk = {
source = "zenixlabs/cloudlockinrisk"
version = "~> 1.0"
}
}
}
provider "cloudlockinrisk" {
api_key = var.cloudlockinrisk_api_key
}
resource "cloudlockinrisk_assessment" "main" {
name = "production-infrastructure"
cloud_provider = "aws"
region = var.aws_region
auto_discover = true
tags = {
environment = "production"
team = "platform"
}
}
CI/CD Integration
Integrate with your CI/CD pipeline to assess lock-in risk before deployment:
# GitHub Actions
name: Cloud Lock-in Assessment
on: [push, pull_request]
jobs:
assess:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run CloudLockInRisk Assessment
uses: zenixlabs/cloudlockinrisk-action@v1
with:
api-key: ${{ secrets.CLOUDLOCKINRISK_API_KEY }}
config-file: .cloudlockinrisk.yaml
fail-threshold: 80
Risk Assessment Methodology
Our Scoring Algorithm
CloudLockInRisk uses a proprietary algorithm that analyzes 50+ factors to calculate your vendor lock-in risk score from 1-100.
Risk Factors Analyzed
Service Dependencies
- • Proprietary services usage (Lambda, Azure Functions)
- • Managed database dependencies
- • AI/ML service integrations
- • Storage service coupling
Data Architecture
- • Data volume and complexity
- • Cross-service data dependencies
- • Backup and replication strategies
- • Data format proprietary nature
Integration Complexity
- • API integrations depth
- • Custom configurations
- • Third-party service connections
- • Authentication dependencies
Compliance & Security
- • Compliance framework dependencies
- • Security service integrations
- • Audit trail configurations
- • Identity management coupling
Risk Score Interpretation
Low Risk
Minimal vendor lock-in. Easy migration possible with standard tools and services.
Medium Risk
Some dependencies exist. Migration requires planning and moderate investment.
High Risk
Significant lock-in. Migration is complex, costly, and time-consuming.
Calculation Formula
Risk Score = (
ServiceDependencyScore * 0.30 +
DataComplexityScore * 0.25 +
IntegrationDepthScore * 0.20 +
ComplianceRequirementsScore * 0.15 +
ArchitecturalCouplingScore * 0.10
) * BusinessCriticalityMultiplier
Cloud Provider Support
CloudLockInRisk supports comprehensive analysis across major cloud providers.
Amazon Web Services (AWS)
200+ services analyzed for lock-in risk
High Lock-in Risk Services
- • AWS Lambda
- • DynamoDB
- • CloudFormation
- • SageMaker
- • API Gateway
Medium Lock-in Risk
- • RDS
- • EKS
- • ElastiCache
- • CloudWatch
- • IAM
Low Lock-in Risk
- • EC2
- • S3
- • VPC
- • EBS
- • Route 53
# AWS Assessment Example
zenix-cli assess --provider aws \
--services lambda,dynamodb,rds,s3 \
--region us-west-2 \
--include-costs
Microsoft Azure
150+ services analyzed with enterprise focus
High Lock-in Risk Services
- • Azure Functions
- • Cosmos DB
- • Azure AD
- • Logic Apps
- • Power Platform
Medium Lock-in Risk
- • SQL Database
- • AKS
- • App Service
- • Service Bus
- • Key Vault
Low Lock-in Risk
- • Virtual Machines
- • Blob Storage
- • Virtual Network
- • Load Balancer
- • DNS
# Azure Assessment Example
zenix-cli assess --provider azure \
--subscription "prod-subscription" \
--resource-groups "app-rg,data-rg" \
--output detailed
Google Cloud Platform (GCP)
120+ services with AI/ML specialization analysis
High Lock-in Risk Services
- • Cloud Functions
- • Firestore
- • BigQuery
- • AI Platform
- • App Engine
Medium Lock-in Risk
- • Cloud SQL
- • GKE
- • Pub/Sub
- • Cloud Run
- • IAM
Low Lock-in Risk
- • Compute Engine
- • Cloud Storage
- • VPC
- • Persistent Disk
- • Cloud DNS
# GCP Assessment Example
zenix-cli assess --provider gcp \
--project "my-production-project" \
--regions "us-central1,europe-west1" \
--include-ml-services
Migration Cost Calculator
Accurate Cost Estimation
Our migration calculator provides detailed cost breakdowns for cloud provider migrations, helping you make informed decisions.
Cost Components
Direct Migration Costs
- • Data transfer and egress fees
- • Service reconfiguration
- • New infrastructure provisioning
- • Parallel running costs during transition
Indirect Costs
- • Developer time and resources
- • Application refactoring
- • Testing and validation
- • Potential downtime losses
Using the Calculator API
POST /v1/migration-calculator
{
"source_provider": "aws",
"target_provider": "azure",
"services": [
{
"type": "compute",
"instances": 50,
"instance_type": "m5.large",
"monthly_cost": 12000
},
{
"type": "database",
"databases": 5,
"storage_gb": 2000,
"monthly_cost": 8000
}
],
"data_volume_tb": 10,
"integrations_complexity": "high",
"migration_timeline_months": 6
}
Response Format
{
"migration_estimate": {
"total_cost": {
"min": 2100000,
"max": 3500000,
"currency": "USD"
},
"breakdown": {
"direct_costs": {
"data_transfer": 150000,
"service_migration": 800000,
"parallel_running": 400000
},
"indirect_costs": {
"development_time": 1200000,
"testing_validation": 300000,
"project_management": 200000
},
"risk_buffer": {
"percentage": 20,
"amount": 650000
}
},
"timeline": {
"estimated_months": 8,
"phases": [
{
"name": "Planning & Assessment",
"duration_weeks": 4,
"cost": 200000
},
{
"name": "Data Migration",
"duration_weeks": 12,
"cost": 950000
},
{
"name": "Service Migration",
"duration_weeks": 16,
"cost": 1800000
},
{
"name": "Testing & Validation",
"duration_weeks": 8,
"cost": 550000
}
]
}
}
}
Migration Complexity Factors
Low Complexity
- • Standard compute instances
- • Basic storage solutions
- • Minimal integrations
- • Standard databases
Medium Complexity
- • Managed services
- • Custom configurations
- • API integrations
- • Multi-region deployments
High Complexity
- • Proprietary services
- • Deep integrations
- • Compliance requirements
- • Custom ML models
Troubleshooting Guide
Need Help?
Common solutions to frequently encountered issues with CloudLockInRisk.
Authentication Issues
Problem: API Key Invalid
Error: "Invalid API key" or 401 Unauthorized
Solutions:
- Verify your API key is correctly copied without extra spaces
- Check if your API key has expired (keys are valid for 1 year)
- Ensure you're using the correct API endpoint
- Generate a new API key from your dashboard
Problem: Cloud Provider Connection Failed
Unable to connect to AWS/Azure/GCP accounts
Solutions:
# Check AWS credentials
aws sts get-caller-identity
# Verify Azure login
az account show
# Check GCP authentication
gcloud auth list
Assessment Issues
Problem: Assessment Takes Too Long
Assessment stuck or running for over 30 minutes
Solutions:
- Check assessment status:
zenix-cli status --assessment-id YOUR_ID
- Large infrastructures may take longer - be patient
- Consider running assessment in smaller chunks
- Contact support if assessment is stuck for over 1 hour
Problem: Inaccurate Risk Scores
Risk scores seem too high or too low
Solutions:
- Verify all services are correctly identified
- Check integration complexity settings
- Review compliance requirements configuration
- Update service usage patterns and data volumes
CLI Issues
Problem: Command Not Found
bash: zenix-cli: command not found
Solutions:
# Reinstall CLI
npm uninstall -g @zenixlabs/cloudlockinrisk-cli
npm install -g @zenixlabs/cloudlockinrisk-cli
# Check installation
which zenix-cli
zenix-cli --version
Problem: Permission Denied
Permission denied when running CLI commands
Solutions:
# Fix npm permissions (macOS/Linux)
sudo chown -R $(whoami) ~/.npm
# Or use npx instead
npx @zenixlabs/cloudlockinrisk-cli assess --help
Common Error Codes
| Error Code |
Description |
Solution |
| CLR_001 |
Invalid provider configuration |
Check provider credentials and permissions |
| CLR_002 |
Assessment quota exceeded |
Upgrade plan or wait for quota reset |
| CLR_003 |
Service discovery failed |
Verify IAM permissions for resource discovery |
| CLR_004 |
Migration calculation error |
Check service configuration and data volumes |
Still Need Help?
If you can't find a solution to your problem, our support team is here to help.
SDK & Libraries
Integrate CloudLockInRisk into your applications with our official SDKs and libraries.
Official JavaScript SDK for browser and Node.js applications
npm install @zenixlabs/cloudlockinrisk
Python SDK for data science and automation workflows
pip install cloudlockinrisk
Java SDK for enterprise applications and Spring Boot
<dependency>
<groupId>com.zenixlabs</groupId>
<artifactId>cloudlockinrisk</artifactId>
</dependency>
JavaScript SDK Usage
const { CloudLockInRisk } = require('@zenixlabs/cloudlockinrisk');
// Initialize client
const client = new CloudLockInRisk({
apiKey: 'your-api-key',
environment: 'production' // or 'sandbox'
});
// Run assessment
async function assessInfrastructure() {
try {
const assessment = await client.assessments.create({
provider: 'aws',
services: [
{ name: 'ec2', instances: 20 },
{ name: 'rds', databases: 3 },
{ name: 'lambda', functions: 15 }
],
integrations: ['iam', 'vpc', 'cloudformation'],
dataTypes: ['pii', 'financial']
});
console.log('Risk Score:', assessment.riskScore);
console.log('Migration Cost:', assessment.migrationCost);
return assessment;
} catch (error) {
console.error('Assessment failed:', error.message);
}
}
// Calculate migration costs
async function calculateMigration() {
const migration = await client.migrations.calculate({
sourceProvider: 'aws',
targetProvider: 'azure',
services: [
{ type: 'compute', instances: 50, monthlyCost: 12000 },
{ type: 'database', databases: 5, monthlyCost: 8000 }
],
dataVolumeTB: 10,
timelineMonths: 6
});
return migration;
}
Python SDK Usage
import cloudlockinrisk
# Initialize client
client = cloudlockinrisk.Client(
api_key='your-api-key',
environment='production'
)
# Run assessment
def assess_infrastructure():
assessment = client.assessments.create(
provider='aws',
services=[
{'name': 'ec2', 'instances': 20},
{'name': 'rds', 'databases': 3},
{'name': 'lambda', 'functions': 15}
],
integrations=['iam', 'vpc', 'cloudformation'],
data_types=['pii', 'financial']
)
print(f"Risk Score: {assessment.risk_score}")
print(f"Migration Cost: ${assessment.migration_cost:,.2f}")
return assessment
# Batch assessments for multiple environments
def batch_assess():
environments = ['dev', 'staging', 'prod']
results = {}
for env in environments:
results[env] = client.assessments.create(
provider='aws',
environment=env,
auto_discover=True
)
return results
# Generate comparative report
def compare_providers():
providers = ['aws', 'azure', 'gcp']
comparison = client.comparisons.create(
current_provider='aws',
target_providers=providers,
services=get_current_services()
)
return comparison
Java SDK Usage
import com.zenixlabs.cloudlockinrisk.CloudLockInRiskClient;
import com.zenixlabs.cloudlockinrisk.models.*;
public class CloudAssessment {
private final CloudLockInRiskClient client;
public CloudAssessment(String apiKey) {
this.client = CloudLockInRiskClient.builder()
.apiKey(apiKey)
.environment("production")
.build();
}
public Assessment runAssessment() {
AssessmentRequest request = AssessmentRequest.builder()
.provider("aws")
.addService(Service.builder()
.name("ec2")
.instances(20)
.build())
.addService(Service.builder()
.name("rds")
.databases(3)
.build())
.addIntegration("iam")
.addIntegration("vpc")
.addDataType("pii")
.build();
Assessment assessment = client.assessments().create(request);
System.out.println("Risk Score: " + assessment.getRiskScore());
System.out.println("Migration Cost: $" + assessment.getMigrationCost());
return assessment;
}
// Spring Boot integration
@RestController
public class AssessmentController {
@Autowired
private CloudLockInRiskClient client;
@PostMapping("/assess")
public ResponseEntity<Assessment> assess(@RequestBody AssessmentRequest request) {
Assessment result = client.assessments().create(request);
return ResponseEntity.ok(result);
}
}
}
Framework Integrations
React Components
Pre-built React components for risk visualization
import { RiskScoreWidget, MigrationCalculator } from '@zenixlabs/react-components';
<RiskScoreWidget
apiKey="your-key"
provider="aws"
autoRefresh={true}
/>
Django Integration
Django package for seamless integration
# settings.py
INSTALLED_APPS = [
'cloudlockinrisk.django',
]
CLOUDLOCKINRISK = {
'API_KEY': 'your-api-key',
'CACHE_TIMEOUT': 3600,
}