CloudLaunch
An end-to-end cloud infrastructure automation platform. Provision a real Azure VM, deploy a containerised web application, and observe every operation streamed live — all from a single interface, with no manual cloud console interaction.
| Resource | Name | Type | Detail |
|---|---|---|---|
| Loading plan… | |||
CloudLaunch — Engineering Overview
A cloud infrastructure automation backend built without infrastructure-as-code frameworks. Azure resources are managed via direct SDK calls, SSH automation is handled via Paramiko, and real-time log streaming is implemented over native WebSocket — no third-party abstractions.
System Architecture — Request Flow
run_in_executor() bridges the queue read back to the async event loop — keeps the event loop unblocked.DefaultAzureCredential. Credentials are loaded from environment variables only — not stored in code or state files.asyncio.to_thread would work mechanically but obscures the blocking nature of the calls.
Explicit daemon threads make the concurrency model clear: one thread per job, tied to the
operation lifetime. The WebSocket handler re-enters the async world only for the queue read,
via run_in_executor().
run_in_executor(),
which blocks a thread-pool thread rather than the event loop. A heartbeat ping is sent every
15 seconds to keep the connection alive. Clients that connect late receive the full log history
replayed immediately on join.
BaseProvider interface defines
provision(), deploy(), destroy(), and get_status().
AzureProvider implements it. The API layer calls a factory function and never
imports cloud SDK modules directly. Adding a second cloud provider requires one new file —
the API, CLI, and dashboard have no changes.