microsrv:~$
Console

microsrv

a cloud for developers

The affordable, developer-friendly cloud.

SSH access, a hostname, and TLS are available out of the box — no nginx and certbot setup required. VMs run on interruptible capacity from major clouds, which keeps costs down, and live migration preserves running processes, volumes, IP addresses, and connections.

Traffic flowing

HTTPS and the private connection are active

With sufficient notice before a host is shut down, microsrv migrates both VMs in sequence while external and private traffic remains active.

> how it works

The cloud can reclaim a host. Your application keeps running.

You create VMs, connect over SSH, and deploy services as usual — hostname and TLS work out of the box. VMs run on spare capacity from major cloud providers, which makes them about 25% cheaper than standard rates, while the orchestrator manages host changes and preserves volumes and network identity.

01

The host changes. The VM keeps running.

Live migration transfers memory and running processes to a new host. Your workload keeps running without restarting or losing its in-memory cache, while network connections and addresses remain unchanged.

  • Reserved migration capacity

    The orchestrator tracks spare vCPU and memory on adjacent servers to keep capacity available when a VM needs to move.

  • Dedicated vCPUs

    Paid vCPUs belong exclusively to your VM and are not shared with other customers.

  • Migration before shutdown

    A provider notice triggers live memory migration. Running processes continue on the new host without restarting the application.

  • Recovery after sudden failure

    When there is not enough time for live migration, the VM automatically launches from a replicated copy.

  • No nested virtualization required

    VMs run on interruptible cloud instances even where providers disable hardware nested virtualization.

Event traceExample sequence; actual execution times may vary.
  1. 12:04:18reclaim notice received for host-17
  2. 12:04:18target host-42 reserved
  3. 12:04:19vm-204 migration started
  4. 12:04:23memory state converged
  5. 12:04:24network identity rebound
  6. 12:04:24established flows verified
  7. 12:04:24vm-204 running on host-42
  8. 12:04:25host-17 released

02

Why it costs less

Providers offer spare capacity at up to 70% off, but warn that hosts can be reclaimed whenever demand spikes.

Without automated orchestration, this capacity is typically used for noncritical or interruption-tolerant workloads. Our platform handles the operational work: it monitors provider notices, reserves capacity on nearby servers, and moves or recovers VMs when a host is reclaimed.

In the examples below, the total cost is about 25% below what the same provider charges.

interruptible capacity + microsrv orchestration = stable VM at a lower price

See the price comparison →

03

Work without managing the underlying hosts

Create a VM, connect over SSH, and deploy your services. Live migration happens automatically in the background.

  1. 01

    Create a VM

    Choose CPU, memory, and volumes. Configure the initial boot with cloud-init.

  2. 02

    Attach networking and storage

    Use a persistent private IP and replicated volumes that remain intact across migrations.

  3. 03

    Deploy your services

    Connect through the SSH gateway, or publish a service through the HTTPS gateway — hostname and TLS included.

  4. 04

    Operate as usual

    Run web apps, databases, or background jobs. When a host is reclaimed, the platform migrates the VM or recovers it automatically.

04

Suitable for most workloads

Public services, internal systems, and background workers run as they would on traditional VMs.

Web applications, databases, AI agents, and background workers receive dedicated vCPUs, a private network, and a stable SSH address.

Public services through the HTTPS gateway

  • Web applications and HTTP APIs at <vm>.msrv.space
  • PostgreSQL and other TLS/SNI-capable TCP services

Private workloads with outbound access

  • AI agents calling model APIs
  • CI workers and build servers
  • Scrapers and browser automation
  • Background workers and data collectors

Private service-to-service connectivity

  • Application and database on one private network
  • Internal tools
  • Multi-VM agent or background worker groups

> pricing

Pay about 25% less than major clouds charge

VMs run on interruptible capacity while the platform provides 99.9% availability. The table below shows the cost of a typical three-node cluster.

Reference workload

3 × (4 dedicated vCPUs · 8 GB RAM · 40 GB SSD) — small cluster / Kubernetes node group

ProviderMonthly total (3 nodes)
Cloud A20,736.69 ₽ / mo
Cloud B20,703.22 ₽ / mo
microsrv~15 552,52 ₽ / mo
−25% vs each provider’s own quote
HTTPS gatewayincluded

Self-hosted microsrv

Deploy microsrv on your own servers or in your cloud, and manage VMs, networking, and migrations from one place.

  • PlacementYour servers or cloud account
  • NetworkingPrivate network integration
  • DeploymentSingle binary
  • OperationsNo dedicated support team required
Discuss installation →

Estimated monthly totals for 3 × (4 vCPU · 8 GB · 40 GB SSD). Cloud A and Cloud B are standard rates from public provider calculators. Final microsrv pricing depends on the region, available capacity, and hosting terms.

> development & operations features

Built-in tools for development and operations

Network isolation, secure access, and service publishing are built in, with no additional infrastructure to configure.

Access & security

  • SSH gateway without public IPs

    Connect via ssh -A <vm>@msrv.space. Port 22 is never exposed to the internet, and no public IP is needed.

  • Automatic cloud-init

    Add SSH keys, initialization scripts, and configuration during the VM’s first boot.

Networking & eBPF isolation

  • Private networks with eBPF

    Isolated private networks with stable internal IPs and in-kernel protection against IP/MAC spoofing.

  • Outbound NAT without a public IP

    Reach external APIs, Git repositories, and registries while keeping the VM inaccessible from public ingress.

  • WireGuard gateway into every private network

    Your work laptop joins the VPC through the WireGuard gateway. With Kilo, microsrv nodes become part of your Kubernetes cluster.

Routing & ingress

  • HTTPS gateway

    Expose HTTPS apps and TCP databases with permanent <vm>.msrv.space hostnames and automated TLS.

  • Seamless process and socket migration

    Live memory migration keeps your application running without restarting, while eBPF identity rebinding preserves open TCP connections.

Connect through the SSH gateway

The VM needs no public IP, and its SSH port is never exposed to the internet. Its address remains the same regardless of the current physical host.

ssh · guest VM
$ ssh -A <vm>@msrv.spacemicrosrv: connection to <vm> establishedWelcome to Ubuntu 24.04.2 LTS (GNU/Linux 6.8.0-60-generic x86_64)  * Documentation:  https://help.ubuntu.com * Management:     https://landscape.canonical.com System information: 4 vCPU · 8 GB RAM · 40 GB SSDPrivate address: 10.42.0.17 Last login: Fri Jul 24 20:51:08 2026 from 10.42.0.1ubuntu@<vm>:~$
Publish a service through the HTTPS gatewayIncluded

Publish a web app or TCP service without assigning the VM a public IP. The HTTPS gateway accepts HTTPS traffic and routes TCP connections by TLS/SNI.

  • HTTPS routing by hostname
  • TLS/SNI routing for TCP services
  • Stable <vm>.msrv.space hostname
  • Public ingress without a public IP on the VM
  • Routes follow the workload when the host changes
https · HTTPS gateway
$ curl -v https://<vm>.msrv.space* Host <vm>.msrv.space:443 was resolved* Connected to <vm>.msrv.space port 443* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384> GET / HTTP/2> Host: <vm>.msrv.space< HTTP/2 200< server: microsrv-gateway< content-type: application/json {"hello":"from <vm>"}$
postgresql · TLS/SNI
$ psql "host=<vm>.msrv.space sslmode=require"psql (16.3, server 16.3)SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384)Type "help" for help. <vm>=> SELECT current_database(), inet_server_addr(); current_database | inet_server_addr------------------+------------------ app              | 10.42.0.17(1 row) <vm>=>
Join the VPC through the WireGuard gateway

Every private network has a WireGuard gateway: your work machine gets an address inside the VPC, and database queries go over internal IPs — no exposed ports, no public IP.

wireguard · work machine
$ wg-quick up microsrv-vpc[#] ip link add microsrv-vpc type wireguard[#] ip address add 10.50.0.200/32 dev microsrv-vpc[#] ip route add 10.50.0.0/16 dev microsrv-vpcpeer vpc-production: handshake complete user@laptop:~$ ping -c 2 10.50.0.12PING 10.50.0.12 (10.50.0.12) 56(84) bytes of data.64 bytes from 10.50.0.12: icmp_seq=1 ttl=64 time=4.05 ms64 bytes from 10.50.0.12: icmp_seq=2 ttl=64 time=3.87 ms --- 10.50.0.12 ping statistics ---2 packets transmitted, 2 received, 0% packet lossuser@laptop:~$
psql · database over the private network
$ psql -h 10.50.0.21 -U apppsql (16.3, server 16.3)Type "help" for help. app=> SELECT inet_server_addr(); inet_server_addr ------------------ 10.50.0.21(1 row) app=>

> roadmap

What’s next

Planned capabilities that are not currently available.

  • Terraform / OpenTofu provider
  • Kubernetes Cluster API (CAPI) provider
  • Managed databases (PostgreSQL, Redis)
  • Managed Kubernetes
  • S3-compatible object storage
  • CLI and GitHub Actions for CI/CD
  • Automated snapshots and backups
  • Private network peering
  • Serverless compute
  • Floating / public IP
  • Expanded observability and metrics

> blog

Latest from our blog

Short notes on interruptible capacity, networking, and how microsrv keeps VMs running through host interruptions.

All posts →