Principal Software Development Lead
CurrentI built and led a team of engineers to add container support to Windows. One of the goals was to add Linux style container support to Windows. However, we also aspired to go beyond this to create a version of containers suitable for hostile multi-tenant environments. My team extended the windows kernel to enable processes to run with a virtualize namespace and enlightened several kernel mode components for containers.We enabled two key scenarios: the first allows a set or processed to have a custom view of various namespaces, and second, we allow booting a copy of the user mode portion of the OS in a container essentially creating a very light virtual machine type environment. We also worked very closely with the Hyper-V team to create a light weight bubble to run this container in to enable hostile multi-tenant scenarios.The initial release of container was with Windows 10 Anniversary update. Containers were used to enable legacy win32 applications to be packaged up in an App-X package and distributed in the Windows Store. Windows Server Containers and Hyper-V containers were released a few months later with Windows Server 2016.Since this release my team has been contributing to the Windows Defender Application Guard feature. This feature allows Edge to run in a Hyper-V style container to better protect the host machine and user from malicious web sites.This was a very ambitious project that required large portions of windows to run in an environment slightly different from which it was originally designed to run. The team needed to become familiar with, and tweak large portions of the code base, and across several depots. We worked with numerous teams across the Windows org to enable various namespace virtualization, to enlighten various kernel components, to work out our story for build, servicing, etc.