Skip to content

Instances

Service description

Instances in the Compute service are virtual machines (VMs) that run on the cloud computing platform. Instances are used for deploying applications and services within your cloud projects. They provide the computational power by emulating physical hardware, including processors, memory, storage, and networking capabilities, which allows you to run you applications in isolated environments.

Instances can be managed through the cloud console, the command-line interface (CLI), or programmatically using the API.

Features

  • Virtualization, using hypervisor technology to create and manage instances (supported hypervisors include KVM, Xen, VMware ESXi, and Hyper-V, among others)
  • Flavors, which defines a virtual machine's resource allocation.
  • Images, for creating instances from images (these images can include just the OS or the OS along with applications)
  • Networking, using the Networking service to provide connectivity to instances
  • Security groups, for virtual firewalls that control inbound and outbound traffic to instances
  • Key pairs, for secure access
  • Volumes, to attach persistent storage volumes to instances (in addition to ephemeral disks that are tied to the lifecycle of the instance)
  • Tenancy and projects, to support the creation of instances within projects (also known as tenants)
  • Services integration, for a unified and end-to-end coordination of cloud services

Key concepts

Some things to consider before creating an instance.

  • Know the best specification and operating system requirements for your virtual machine.
  • Decide on a start source; you can select an existing image, an instance snapshot, or a bootable volume.
  • Decide where on your network to attach the instance. For testing purposes, you can attach a virtual machine directly to the PublicEphemeral network in Rumble Cloud. Otherwise, you'll need to create a network and related components (such as a router, to connect the virtual machine to the internet).
  • Decide on the requirements for a security group.
  • Consider the need for user data. User data are scripts that are optionally run during the cloud-init process. User data can be used for automating the installation and configuration of packages, operating systems, applications, and configurations. They can be used to run any custom script at the time of instance initialization.

Even though you’ll be using the cloud console to create and manage your cloud resources, you’ll still need to use some tools on your local computer.

  • Terminal application
  • SSH application
  • A public / private key pair

How it works

  1. To create an instance, you typically select an image (from the Image service) that contains the operating system and any pre-installed software, select a flavor (which defines the instance's size and resources, such as CPU, memory, and disk space), and specify the network configuration (managed by the Network service). Additional options like security groups and key pairs can also be specified for security and access control.
  2. Once the instance creation request is made, the Compute servie scheduler selects a suitable compute host (a physical server or hypervisor) to run the instance, based on factors like available resources, affinity/anti-affinity rules, and any custom scheduling policies.
  3. The selected compute host creates and launches the instance using the specified image and flavor. The instance is then booted up, and the operating system starts running. Networking is set up to provide connectivity to and from the instance.
  4. You can start, stop, reboot, resize, and delete instances as needed. You can also create snapshots of instances for backup or cloning purposes, attach or detach volumes for additional storage, and associate or disassociate floating IP addresses for external access.
  5. The resources allocated to an instance (CPU, memory, disk space) are defined by the flavor and are isolated from other instances on the same compute host, ensuring that each instance has dedicated resources as per its requirements.
  6. You can access instances via SSH (using key pairs) or through remote desktop protocols. Security groups are used to define firewall rules that control network traffic to and from instances, providing a layer of security.

Instances console

Command line tools

API methods

See also