Authored by Mark Peek, Principal Engineer for Cloud-Native Apps
At VMworld 2015 we showcased vSphere Integrated Containers (based on the Project Bonneville code), providing a docker daemon endpoint into a vSphere cluster. Since then, the team has been actively working on redesigning the architecture and implementation to best deliver this product to our customers. We also thought about better ways to engage and add value to our customers with this work. I am happy to announce we have now open sourced the initial 0.1 release of vSphere Integrated Container (VIC) available on the GitHub repository. This early access version supports basic operations such as a VCH deploy, docker pull, create and start. These operations are implemented via the VIC Container Abstraction which treats containers as VMs rather than in VMs. More information about the VIC Container Abstraction can be found here.
Why are we open sourcing this code? At Cloud-Native, we believe in collaborating with the community and sharing ideas with developers as we work together to build useful tools and products. Following on the open source nature of the container community, we wanted to make the VIC code open source as well. This will give our customer and partner communities access to the code, visibility into our work, more direct access to file issues, contribute code back, and help us make our code better for their use. We are also structuring the product in such a way to expose a “port layer” which customers or other teams may use to support other container endpoints or to implement new functionality.
At this time we are focused on delivering a docker endpoint for our customers to use with future integrations coming along the way. As such we have developed an abstraction called the Port Layer. This allows us to write a docker front end that then uses the port layer as a more generalized, low-level, container backend. This will allow 3rd party integration with consistent API’s for compute, network, and storage. You can learn more about the port layer here.
Check it out on GitHub and let us know what you think!