MNX.io Docs
  • MNX.io Documentation
  • Getting started
    • SSH to an instance from Windows
    • Account password requirements
    • Improving security using two-factor authentication (2FA)
    • Generating an SSH key
      • Manually generating your SSH key in macOS
      • Manually generating your SSH key in Windows
    • API integrations and CLI usage
    • Provisioning limits
    • Cancelling your account
  • Data centers
  • Instances
    • Infrastructure containers
    • Virtual machines
    • Snapshots
      • Automating Snapshots
    • Tags and metadata
    • Connecting to containers and VMs
    • Instance Types
  • Triton CLI & Tools
    • Using the VNC console
    • Triton CLI tool
    • Hashicorp Packer and Terraform
      • Create and manage images with Packer
      • Manage infrastructure with Terraform
    • Container Monitor with Prometheus
  • Network
    • Networking and fabric user guide
    • Firewall
    • Firewall rules reference
    • Frequently Asked Questions
  • CloudAPI Documentation
    • Getting Started
    • RBAC: Users, Roles & Policies
    • API Introduction
    • API Details
      • Account
      • Keys
      • Users
      • Images
      • Instances
      • Packages
  • Contacting Support
  • Images
    • Linux
      • CentOS
      • Ubuntu
        • 20.04
      • Debian
    • FreeBSD
      • 12
Powered by GitBook
On this page
  • Containers and virtual machines
  • Virtual Machines
  • Infrastructure containers
  • Docker containers
  • Comparing containers vs. virtual machines

Was this helpful?

Instances

PreviousData centersNextInfrastructure containers

Last updated 5 years ago

Was this helpful?

Containers and virtual machines

MNX.io provides three classes of compute instances: hardware virtual machines, infrastructure containers, and Docker containers.

Virtual machines (VMs) are hardware virtual machines (HVMs) wrapped in highly secure zones, supporting a variety of images including Linux, FreeBSD, Windows, and Docker Engine.

Each HVM is implemented using a hypervisor: either KVM or bhyve. KVM was the first HVM supported and remains a strong choice for most VMs, particularly if you are already using KVM in Triton and are satisfied with the performance and features. Bhyve is a newer HVM which aims to improve performance and scalability, while growing the feature set. Because bhyve is relatively new, not all images are supported on bhyve.

Leverage container-native Linux (lx zones) on infrastructure containers to extend the benefits of containerization to legacy applications and stateful services, such as databases. Containerizing an application in infrastructure containers is easy because they offer all the services of a typical unix host and behave similarly to hardware virtual machines.

Infrastructure containers enjoy their own virtual NICs, filesystems, and all the resource and security isolation that you'd expect of a Virtual Machine, but with the elastic performance and bursting that's only possible with containers.

Docker containers

Other Docker run-time environments require complex VM host cluster management and provide only limited networking and security capabilities, Using MNX.io transforms an entire data center into an easy to manage, elastic Docker host, while delivering enterprise grade networking and security to each Docker container.

Comparing containers vs. virtual machines

It can be difficult to decide which type of infrastructure to use for an application. Below are some example scenarios in which you may decide on using a containerized instance versus a virtual machine.

Purpose

Container

VM

Secure and high performance

✓

✓

Brand new microservice-based application

✓

✓

Existing application to be converted into microservices

✓

✓

Quickly resize instances without rebooting

✓

✗

Specific environment needs such as FreeBSD, Windows, and Docker Engine

✗

✓

Legacy applications

✗

✓

Virtual Machines
Infrastructure containers