Machines

Learn how to create and manage machines in Andasy.

Machines are the virtual servers that run your applications on the Andasy platform. Each machine is a microVM (micro virtual machine). A lightweight, secure virtual machine optimized for running containerized applications.

What are Machines?

A machine is an isolated virtual server instance that runs your application code. When you deploy an application, Andasy creates at least one machine to run it. Each machine:

  • Runs your containerized application in a secure, isolated environment
  • Has CPU and memory resources allocated (as specified in your andasy.hcl)
  • Can be started, stopped, restarted, or deleted independently

Machines vs Applications

Understanding the relationship between machines and applications is important:

  • Application = The logical service (e.g., "my-api", "web-frontend") with its configuration
  • Machine = A physical instance running that application

MicroVM Technology

Andasy uses microVMs (micro virtual machines) instead of traditional VMs or containers. MicroVMs provide:

  • Better isolation - Each machine is fully isolated from others, improving security
  • Fast startup - Machines start in milliseconds, enabling rapid scaling
  • Resource efficiency - Lower overhead than traditional VMs while maintaining security
  • Container compatibility - Your containerized applications run seamlessly

You don't need to understand microVM internals to use Andasy. Just know that each machine provides a secure, isolated environment for your application.

Listing machines

You can list machines associated with an application in the Andasy CLI by running the following command:

andasy machines list -a <app-name>

This command will display a list of machines associated with the specified application, along with their state and timestamps. You can use this information to monitor the health and performance of your application.

Stopping machine

This command will stop a particular machine of a running application.

andasy machines stop <machine-id> -a <app-name>

<machine-id> is optional. -a <app-name> is optional if andasy.hcl is present.

Resuming machine

This command will resume a particular machine of provided app service.

andasy machines resume <machine-id> -a <app-name>

<machine-id> is optional. -a <app-name> is optional if andasy.hcl is present.

Deleting machine

This command will delete a particular machine of a provided app service.

andasy machines delete <machine-id> -a <app-name>

<machine-id> is optional. -a <app-name> is optional if andasy.hcl is present.

View status of a machine

This command reports the live status of the application process running inside the machine. It checks whether your application's main process (defined by the Dockerfile's ENTRYPOINT or CMD) is currently running.

Process Status vs Health:

This command reports whether the application process is running, not whether the application is healthy or ready to serve traffic. The process may be running while the application is still initializing, or it may be running but not responding correctly. For comprehensive health monitoring, use andasy metrics or check your application logs with andasy logs.

andasy machines status <machine-id> -a <app-name>

<machine-id> is optional. -a <app-name> is optional if andasy.hcl is present in current directory.

When you deploy or update an application, Andasy manages machines automatically based on your configuration. You can also manually manage machines using the commands above.

Aliases

The machines command can be invoked using any of the following aliases:

  • machines
  • machine

Flags

FlagDescription
-a, --appThe name of the app (required unless andasy.hcl is present)
-h, --helpShow help for the command
-j, --jsonOutput result in JSON format
-v, --verboseVerbose output