DeployMe is a proprietary cloud infrastructure-as-a-service (IaaS) platform that revolutionizes application deployment and lifecycle management. Unlike traditional cloud providers (AWS, Azure, Heroku), DeployMe offers a specialized, developer-first approach with intelligent automation, standardized workflows, and unprecedented operational simplicity.
DeployMe is an intelligent cloud deployment agent and infrastructure management platform that automates the entire application lifecycleβfrom code commit to production deployment, monitoring, and maintenance. Built with JavaScript, Express.js, and modern DevOps principles, DeployMe serves as a unified control plane for deploying and managing thousands of application instances across multiple environments.
Unlike traditional cloud platforms that offer unlimited flexibility at the cost of complexity, DeployMe enforces standardized patterns that ensure consistency, reliability, and operational efficiency across your entire application portfolio.
Every repetitive task is automated. Deployments trigger on Git events, health checks run automatically, rollbacks execute instantly, and monitoring requires zero configuration.
DeployMe focuses on doing the essential tasks exceptionally well rather than being a Swiss Army knife of cloud features.
Modern organizations face a deployment paradox:
Impact: Deploy 70x more frequently with 90%+ less time spent on deployment activities
Impact: 50% more time for feature development instead of infrastructure management
Impact: 90%+ reduction in total cost of ownership
| Cost Component | Azure/AWS | Heroku | DeployMe | Savings |
|---|---|---|---|---|
| Compute Resources | $336,000 | $162,000 | $24,000 | 75-95% |
| DevOps Team | $400,000 | $250,000 | $36,000 | 60-92% |
| Monitoring Tools | $36,000 | Included | Included | 100% |
| Deployment Tools | $20,000 | Included | Included | 100% |
| Downtime Cost | $50,000 | $30,000 | $2000 | 80-96% |
| Total Annual Cost | $792,000 | $442,000 | $62,000 | 85-93% |
Business Value: Dramatically reduce deployment coordination overhead and enable true continuous deployment.
Technical Implementation:
Feature: Execute operations on all services with single-button clicks for rapid system-wide management.
Initializes or restarts all registered services across all environments. Performs sequential startup with dependency checking and health verification.
Graceful shutdown of all running services with connection draining to prevent request loss. Ordered shutdown respecting dependencies.
Hot reload of configurations without downtime. Environment variable refresh across all instances with zero-interruption.
Full platform deployment of latest versions with coordinated deployment sequence and automated rollback on any failure.
Feature: Manage individual application instances with precision control and real-time operations.
Feature: Instant rollback to any of the last 7 successful builds with zero downtime.
| Column | Description | Use Case |
|---|---|---|
| PID | Process identifier | System-level tracking |
| Name | Instance identifier | Clear naming: p-plat-authorizers-svc-instance-1 |
| Branch | Deployment environment | Quick environment identification |
| Status | Instance health | online, stopped, errored, starting |
| CPU | CPU utilization % | Performance monitoring |
| Memory | Memory consumption | Resource optimization |
| Uptime | Running duration | Reliability tracking |
| App URL | Direct link | Quick access to application |
| Actions | Control dropdown | Instance-level operations |
Feature: Support for both standard Git workflows and custom branch strategies.
Purpose: Interactive management console for all platform operations
Purpose: Manages application process lifecycle using PM2
Purpose: Automatic load balancing and traffic routing
Auto-Configuration Example:
upstream plat_authorizers_svc {
server 127.0.0.1:3001; # instance-1
server 127.0.0.1:3002; # instance-2
server 127.0.0.1:3003; # instance-3
}
server {
listen 80;
server_name api.yourdomain.com;
location /authorizers {
proxy_pass http://plat_authorizers_svc;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
# Health check
proxy_next_upstream error timeout http_500;
}
}
DeployMe uses a two-tier configuration system that separates platform-level standardization from application-level customization.
{
"{github-repo-name}": {
"appName": "string", // Deployed app name prefix
"branchCheck": boolean, // Enable/disable branch validation
"isMultipleBranchAllowed": boolean, // Allow concurrent branch deployments
"isCustomPortEnabled": boolean, // Allow manual port declaration use case
"PORT": number, // When isCustomPortEnabled is true only
"isAllowedTestApp": boolean, // Enable 'test' branch (β stage)
"isAllowedAiApp": boolean, // Enable 'ai' branch (β stage)
"instances": [
{
"extendEnvName": "agent-system", // Mono Repo use case where one repo serves multiple apps
"extendAppName": "agent-system", // Mono Repo use case where one repo serves multiple apps
"type": "app" | "cron", // Instance type
"buildCommand": "string" | "USE_DEFAULT_COMMAND",
"startCommand": "string" | "USE_DEFAULT_COMMAND",
"concurrency": { // Only for type: "app"
"production": number, // Number of replicas
"stage": number,
"development": number
},
}
]
}
}
{
"sabi-authorizer": {
"appName": "plat-authorizers-svc",
"branchCheck": true,
"isMultipleBranchAllowed": true,
"isAllowedTestApp": true,
"isAllowedAiApp": true,
"instances": [
{
"type": "app",
"extendEnvName": "authorizer-engine",
"extendAppName": "authorizer-engine-01",
"buildCommand": "USE_DEFAULT_COMMAND",
"startCommand": "USE_DEFAULT_COMMAND",
"concurrency": {
"production": 4,
"stage": 2,
"development": 1
}
},
{
"type": "app",
"extendEnvName": "authorizer-app",
"extendAppName": "authorizer-app-01",
"buildCommand": "USE_DEFAULT_COMMAND",
"startCommand": "USE_DEFAULT_COMMAND",
"concurrency": {
"production": 4,
"stage": 2,
"development": 1
}
},
{
"type": "cron",
"buildCommand": "USE_DEFAULT_COMMAND",
"startCommand": "npm run cron:cleanup"
}
]
},
"sabi-backup-retention-system": {
"appName": "plat-backup-retention-svc",
"branchCheck": true,
"isMultipleBranchAllowed": false,
"isAllowedTestApp": false,
"isAllowedAiApp": false,
"instances": [
{
"type": "app",
"buildCommand": "mvn clean package",
"startCommand": "java -jar target/app.jar",
"concurrency": {
"production": 3,
"stage": 1,
"development": 1
}
}
]
}
}
The deployed application name. Convention: plat-{service-name}
Enable strict branch validation. true: Only allowed branches can deploy
Allow concurrent branch deployments. true: Can have production, stage, and development
deployed simultaneously
Enable 'test' branch support. true: 'test' branch deploys to stage deployment section
Enable 'ai' branch support. true: 'ai' branch deploys to stage deployment section
Array of instance types to deploy (app or cron)
USE_DEFAULT_COMMAND: Use language-specific defaults or specify custom command
Number of replicas per environment (app type only)
platform-environments/
βββ production/
β βββ sabi-authorizer.env
β βββ sabi-backup-retention-system.env
β βββ data-exchange-service.env
β βββ ... (all other apps)
βββ stage/
β βββ sabi-authorizer.env
β βββ ...
βββ development/
β βββ sabi-authorizer.env
β βββ ...
βββ test/ (routes to stage deployment)
β βββ ...
βββ ai/ (routes to stage deployment)
β βββ ...
βββ main/ (single instance deployments)
βββ ...
# Database Configuration
DATABASE_URL=postgresql://user:[email protected]:5432/authorizers
DATABASE_POOL_SIZE=20
DATABASE_SSL=true
# Redis Configuration
REDIS_URL=redis://prod-redis.example.com:6379
REDIS_PASSWORD=
# Application Configuration
NODE_ENV=production
PORT=3000
LOG_LEVEL=info
MAX_REQUEST_SIZE=10mb
# External Services
AUTH_SERVICE_URL=https://auth.example.com
NOTIFICATION_SERVICE_URL=https://notifications.example.com
# Feature Flags
ENABLE_NEW_AUTH_FLOW=true
ENABLE_RATE_LIMITING=true
# Monitoring
SENTRY_DSN=https://[email protected]/project
NEW_RELIC_KEY=
When USE_DEFAULT_COMMAND is specified, DeployMe uses language-specific defaults:
| Language | Build Command | Start Command |
|---|---|---|
| Node.js | npm install or yarn install | npm start or node index.js |
| Java (Maven) | mvn clean package -DskipTests | java -jar target/*-SNAPSHOT.jar |
| Java (Gradle) | gradle build -x test | java -jar build/libs/*-SNAPSHOT.jar |
| Python | pip install -r requirements.txt | python main.py or gunicorn app:app |
| .NET | dotnet build --configuration Release | dotnet run --configuration Release |
Developer commits code and pushes to GitHub repository (production, stage, development, test, ai, or main branch)
GitHub sends POST request to DeployMe webhook endpoint with payload including branch, commit hash, repo name, and author
For type: APP
For type: CRON
Example Instance Entry:
| PID | Name | Branch | Status | CPU | Memory | Uptime |
|---|---|---|---|---|---|---|
| 4157352 | p-plat-authorizers-cron-instance-1 | production | online | 1.90% | 2.22 GB | 2025-09-27T14:09:59.742Z |
| 4155846 | p-plat-authorizers-svc-instance-1 | production | online | 0.00% | 1.09 GB | 2025-09-27T14:09:45.446Z |
| 4156223 | p-plat-authorizers-svc-instance-2 | production | online | 0.00% | 872.92 MB | 2025-09-27T14:09:49.521Z |
Available via Action Dropdown:
| S/N | PID | Name | Branch | Status | CPU | Memory | Uptime | App URL | Actions |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 631159 | d-plat-authorizers-cron-instance-1 | development | online | 1.30% | 1.49 GB | 2025-09-30T09:24:06.725Z | View App | |
| 2 | 630453 | d-plat-authorizers-svc-instance-1 | development | online | 0.00% | 918.29 MB | 2025-09-30T09:24:00.278Z | View App | |
| 3 | 51337 | d-plat-data-exchanges-cron-instance-1 | development | online | 1.30% | 1.85 GB | 2025-09-30T03:01:52.736Z | View App | |
| 4 | 51485 | d-plat-data-exchanges-svc-instance-1 | development | online | 1.30% | 2.65 GB | 2025-09-30T03:01:55.589Z | View App |
| Feature | DeployMe | AWS (ECS/EKS) | Azure App Service | Heroku |
|---|---|---|---|---|
| Setup Complexity | 3 steps, 15 mins | Days to weeks | Hours to days | Moderate |
| Deployment Speed | 3-8 minutes/30secs for full/cache build | 10-20 minutes | 10-15 minutes | 5-10 minutes |
| Rollback Time | 30-60 seconds | 5-10 minutes | 3-5 minutes | 2-3 minutes |
| Cost (50 apps/year) | $10k | $610K | $550K | $510K |
| Multi-App Deployment | Native support | Manual scripting | Manual scripting | Limited |
| Live Env Editing | Real-time UI | CLI/Console | Portal | CLI |
| Learning Curve | Minimal | Steep | Moderate | Easy |
1.1 Create platform-setup/app.json
{
"your-first-app": {
"appName": "plat-first-app-svc",
"branchCheck": true,
"isMultipleBranchAllowed": true,
"isAllowedTestApp": true,
"isAllowedAiApp": true,
"instances": [
{
"type": "app",
"buildCommand": "USE_DEFAULT_COMMAND",
"startCommand": "USE_DEFAULT_COMMAND",
"concurrency": {
"production": 3,
"stage": 2,
"development": 1
}
}
]
}
}
1.2 Create platform-environments structure
# Create directory structure
mkdir -p platform-environments/{production,stage,development,test,ai,main}
# Create environment files for your app
touch platform-environments/production/your-first-app.env
touch platform-environments/stage/your-first-app.env
touch platform-environments/development/your-first-app.env
1.3 Populate environment files
# platform-environments/production/your-first-app.env
NODE_ENV=production
PORT=3000
DATABASE_URL=postgresql://prod-db.example.com/myapp
REDIS_URL=redis://prod-redis.example.com:6379
LOG_LEVEL=info
git add .
git commit -m "Initial deployment"
git push origin development
// Node.js example
app.get('/health', (req, res) => {
res.status(200).json({
status: 'healthy',
timestamp: new Date().toISOString(),
version: process.env.APP_VERSION
});
});
// β BAD - Hardcoded
const dbUrl = 'postgresql://prod-db.example.com/myapp';
// β
GOOD - Environment variables
const dbUrl = process.env.DATABASE_URL;
// package.json
{
"scripts": {
"build": "npm run build:cache",
"build:cache": "npm ci --prefer-offline"
}
}
// app.json
{
"concurrency": {
"production": 4, // 4 Γ 1GB = 4GB
"stage": 2, // 2 Γ 1GB = 2GB
"development": 1 // 1 Γ 512MB
}
}
| Metric | Warning | Critical |
|---|---|---|
| CPU Usage | > 80% for 5 minutes | > 95% for 2 minutes |
| Memory Usage | > 85% | > 95% |
| Error Rate | > 5% | > 10% |
| Response Time | > 1000ms | > 3000ms |
# .gitignore
.env
.env.local
*.key
*.pem
secrets/
config/production.json
| Department | Purpose | |
|---|---|---|
| General Inquiries | [email protected] | General questions and information |
| Sales | [email protected] | Pricing, demos, enterprise inquiries |
| Technical Support | [email protected] | Technical issues and troubleshooting |
| Security | [email protected] | Security vulnerabilities and concerns |
| Partnerships | [email protected] | Partnership opportunities |
DeployMe represents a paradigm shift in cloud infrastructure management, moving away from the complexity and overhead of traditional cloud platforms toward a developer-first, automation-centric approach.
Unlike general-purpose cloud platforms, DeployMe is laser-focused on the deployment and management use case, resulting in a vastly superior experience.
DeployMe enforces just enough standardization to ensure consistency while providing flexibility where it matters.
At 60% lower TCO than traditional clouds, DeployMe offers compelling economics while maintaining enterprise-grade reliability.
Every feature is designed with developer productivity in mindβfrom multi-app deployments to live env editing to instant rollbacks.
Standard technologies (Docker, PM2, NGINX) mean you can migrate away if needed. Your applications remain portable.
Start your DeployMe journey today
| Term | Definition |
|---|---|
| Application Instance | A single running copy of an application (e.g., API server, cron job) |
| Artifact | Compiled/built application code ready for deployment |
| Branch | Git branch (production, stage, development, test, ai, main) |
| Concurrency | Number of replicated instances for an application type |
| Cron Instance | Scheduled job that runs at specified intervals |
| Health Check | Automated endpoint test to verify application health |
| Load Balancer | NGINX server that distributes traffic across instances |
| PM2 | Process manager that supervises application instances |
| Replica | Copy of an application instance for load distribution |
| Rollback | Reverting to a previous version of an application |
| Upstream | NGINX term for a group of backend servers |
| Webhook | HTTP callback triggered by Git events |
p-plat-{app-name}-{type}-instance-{number}
p: Prefix for production namespaceplat: Platform identifier{app-name}: Application name from config{type}: Instance type (svc, cron)instance-{number}: Instance identifier (1, 2, 3, ...)Example: p-plat-authorizers-svc-instance-1
{github-repo-name}.envsabi-authorizer.env
# Deploy Application
POST /api/deploy
{
"applications": ["sabi-authorizer", "data-exchange-service"],
"branch": "production"
}
# Rollback Application
POST /api/rollback
{
"application": "sabi-authorizer",
"branch": "production",
"artifactVersion": "v1.2.3-20250927"
}
# Get Instances
GET /api/instances?branch=production&status=online
# Update Environment
PUT /api/env/4157352
{
"LOG_LEVEL": "debug",
"ENABLE_FEATURE_X": "true"
}
Revolutionizing Cloud Infrastructure
Version 2.0 | Last Updated: September 2025
Β© 2025 DeployMe Platform. All Rights Reserved.