Committed to running both traditional and cloud-native applications in the enterprise cloud, VMstore delivers the same value for containers as for VMs.
Containers are becoming a critical technology for companies moving to a continuous software delivery model and DevOps. In a global survey of IT professionals, half of the respondents were either already using or planning to adopt containers.
At Tintri, we’ve seen this growing interest in containers from our customers firsthand. Many are still early in the adoption phase, experimenting in labs or small pockets of infrastructure. For the most part, customers are running containers inside VMs with an eye toward running on bare metal in the future. Tintri is matching that approach.
Tintri is committed to both traditional enterprise applications and cloud-native applications running efficiently as part of an enterprise cloud. That means supporting both VMs and containers equally. We will deliver the same value for containers that we deliver for VMs with the right set of core features operating at the right granularity and accessible via clean REST APIs.
This approach offers some big potential advantages versus VMs:
- Smaller footprint. Because containers are lighter weight, a single host may support many more containers than VMs.
- Faster startup. Seconds for containers versus minutes or more for VMs.
- Less to maintain. No guest operating systems to be patched and upgraded.
- Improved portability. Because containers decouple applications from external hardware and software dependencies, it is easier to move an application from development to test to production—or between different clouds. All the well-known public cloud providers support containers.
- Faster performance. Because VMs add an operating system layer, this can introduce additional latency (depending on the OS) and reduce application performance.
Many enterprises are working to change how they design, package, and deploy software. If you’re moving to a DevOps approach and deploying apps based on micro-services, containers are probably in your future.
Containers Inside VMs
Tintri VMstore supports containers running inside traditional VMs. For example, some customers run containers with the RedHat OpenShift platform on VMware. In addition, VMstore supports containers running inside VMs through vSphere Integrated Containers (VIC), which is part of VMware vSphere 6.5. VIC allows you to run containers without re-architecting your entire infrastructure. You can run containers alongside VMs and get started very quickly.
vSphere Integrated Containers exposes a Docker-compatible API for developers to instantiate container images. If your developers are already working with containers, they can continue deploying and managing containers just as they did before. All that’s needed is a one-time setup. Developers keep their management tools, while IT operations gains visibility into containers and can manage them just like VMs, all while benefitting from the VMstore advantages of per-VM visibility, manageability, guaranteed performance, and QoS.
Containers on Bare Metal
We are also extending the VMstore platform to support containers running on bare metal to address customer needs, bringing the same functionality to the container world that we offer for VMs. For example, VMstore has one enterprise customer that currently runs containers inside VMs with RedHat OpenShift on top of VMware with Kubernetes. They considered the VIC and Photon platforms from VMware, but are inclined to go to bare metal in the future. They have extremely latency sensitive applications that require high performance.
As with VMs, containers are a way to encapsulate applications. VMstore is designed to operate directly on abstract storage objects like VMs and containers. The fact that VMstore already supports VM-level abstraction makes it simpler for us to add support for container-level abstraction.
Bringing value to containers doesn’t just mean visibility and performance isolation, it also requires going up the stack to work with popular orchestration tools to allow you to take full advantage of VMstore’s capabilities. Our goal is to provide:
- Performance isolation at the container level
- Visibility down to the container level
- Visibility and control at the orchestration layer
Persistent Storage for Containers
One of the biggest and most important issues for containers is persistent storage. In the survey I mentioned earlier, 36% of respondents identified persistent storage as one of the top container challenges. Containers may be ephemeral—another recent survey found the average lifespan of a Docker container to be just 2.5 days—but the data they generate is not.
To provide persistent storage for containers, Tintri is developing a Docker volume driver, that will allow VMstore to provide persistent storage for Docker, the leading (but not the only) container platform. Docker gives VMstore wide compatibility with the ecosystem of container products available.
This will satisfy requirements such as those of a large enterprise customer that is planning to move an e-commerce website from VMs to containers. They have some deployments, with containers running inside VMs, but they now want to use Docker Swarm or Docker Datacenter with bare metal hosts. They need persistent storage for containerized applications; they are interested in VMstore because our storage is already in use for VM workloads and they want to get similar benefits with their container rollout.
The Right Storage Solution for Containers
VMstore will give you the ability to support containers running in VMs as well as containers running on bare metal. Whichever approach is right for your business needs, VMstore can deliver persistent storage with full visibility and performance isolation that other storage solutions can’t match, ensuring your applications run at top speed.
Tintri is doing everything possible with VMstore to support customers who are adding containers to the IT mix along with VMs or transitioning entirely to containers.
Unlike VMs that each have their own Guest OS, multiple containers share a single operating system instance. A container packages together everything required to run a piece of software. The isolation this provides allows containers to be extremely portable. The same container can move from development to test to production with no configuration changes.