VMware is launching two technology projects oriented toward containers: AppCatalyst is a lightweight hypervisor for free download and use by developers. Project Bonneville is a means of launching a containerized application into production and injecting it into an ESX server virtual machine that can be provisioned and run as fast as a container.
VMware announced the initiatives Monday, on the opening day of DockerCon, the annual trade show for users of Docker containers, in San Francisco. In one sense, VMware is putting tools into the hands of developers to develop and deploy next-generation applications. In another, VMware is plugging itself into next-generation applications and making sure they run inside virtual machines.
AppCatalyst is a fork of VMware's Fusion, a product that runs Windows applications on an Apple Mac inside a virtual machine. For example, finance department employees may run Fusion to launch Excel spreadsheets on their Macs. In the hands of developers, AppCatalyst is a hypervisor in a package that includes Vagrant, open source code that can generate a development environment on a Mac, then slot the resulting code into a Docker container, and move it via an AppCatalyst VM to other team members or to test and quality assurance teams. Vagrant invokes Docker Machine to format a container to hold the code.
Why not just use just the Docker container? Jared Rosoff, senior director of product management at VMware, said the goal is to give developers a slice of the virtualized data center on their Mac laptops without needing to build it themselves. Without AppCatalyst, a Mac-using developer would have to download Fusion, Red Hat Enterprise Linux, and Docker, then make sure all the pieces are working together.
The AppCatalyst hypervisor plus Vagrant and Docker Machine will generate a familiar Docker development environment, automatically load it with VMware's Photon (a lightweight Linux for hosting containers), and place the resulting application under the AppCatalyst hypervisor. A series of micro-services, each in its own Docker container, could be developed under this system then moved to testing in an AppCatalyst virtual machine.
[Want to learn more about VMware's Photon thin Linux? See VMware Rides Container Wave With Open Source Projects.]
The goal in using AppCatalyst "is to make the development environment look the same way a developer using Docker expects it to look." It will also work with Docker tools the way it has in the past, even though the end result is a container inside a virtual machine, said Rosoff in an interview. But the goal is for the resulting code to move smoothly through testing, quality assurance, staging, and into production, said Rosoff.
Project Bonneville addresses the containerized application's deployment to production. Under Bonneville, an application in a Docker container is "injected" into a standard VMware virtual machine running under an ESX hypervisor. It's then ready for deployment into the virtualized part of the data center that uses vSphere and the vCenter management console.
To the operations manager, a new Docker application managed through the Bonneville workflow looks like another virtual machine added to his environment. It looks so similar, in fact, that operations at this stage of Bonneville's development don't know whether the application code is in a container or not. They only see the virtual machine exterior, said Rosoff. That may be refined in future implementations so virtual machines running containers show up as Docker VMs in the management console, he said.
But Bonneville can generate the virtual machine needed by a container much faster than in prior data center scenarios. Containers had a big advantage over virtual machines when it came to initial provisioning or adding new instances because they were lightweight. They didn't require a new copy of an operating system to be called up the way a virtual machine did.
Under Bonneville, a reference copy of Linux is held in memory and used by VMware's Instant Clone technology when a new container is headed for deployment. VMware says Instant Clone spins up containers in virtual machines 10 times faster than virtual machines could be provisioned in the past.
AppCatalyst and Bonneville are Linux-oriented technologies and will work only with Linux containers, Rosoff noted. Microsoft is expected to have its own container technology in the next version of Windows Server.
Both Bonneville and AppCatalyst "are focused on simplifying the developer's workflow" so he or she gets the code portability of Docker containers and the virtual machine protections of ESX Server in the virtualized data center. Having a slice of the data center on a laptop reduces the time a developer needs to start producing code and resolves deployment issues before they arise, Rosoff said.
AppCatalyst is available for free download and use. Bonneville is a technology preview project, and its future form as a product or service is under debate inside VMware. AppCatalyst and Bonneville will be demonstrated Monday at DockerCon at VMware's booth 6G, where VMware will show how a future application could run more than one operating system at the same time by running a Linux application in one container alongside an MS DOS 6 app in another.