由于档期原因,这次无法到现场参加DockeCon。不过在首日DockerCon大会上,我们中国研发团队参与的产品AppCatalyst终于发布了,对于崇尚 "show me the code" 的工程师来说,这反而比逛大会更有意义了。这是继去年Docker Machine之后,我们再次参与开发的Docker项目。
VMware的AppCatalyst是为Mac OS的Docker开发者量身定制的工具,可快速部署Docker Container的开发测试环境,并且对云原生应用运行做了大量优化。目前在Mac上进行Docker容器的开发,需要使用VirtualBox或者VMware Fusion来虚拟Linux环境。VirtualBox虽然使用简单,但弱点也很明显,主要在网络、性能和稳定性等方面。VMware Fusion是Mac上功能最强大和最完整的虚拟化平台,可以结合boot2docker或Docker Machine使用。这次发布的AppCatalyst内置了免费的Fusion内核,广大开发者可以普大喜奔了。
AppCatalyst还带来了全新的CLI和REST API,取代了原来Fusion老旧的VIX API,并且自带REST调试工具Swagger,很方便和各种工具链集成,例如Docker Machine和Vagrant(相关Driver已经发布)。这里也顺便卖一下瓜,REST部分是我们中国团队完成的。用了Go语言和C++结合的方式,克服了不少困难,中间还趟过了不少坑。
通过CLI或API创建Docker container时,AppCatalyst会先启动轻量级容器操作系统Photon(中文名:光子)。 Photon是VMware另一个开源项目,是虚拟化环境下运行容器应用的Linux发行版。Photon预装了Docker engine,可以运行Docker Container。由于Photon初次启动时间只有1-2秒,用户通常感知不到Photon的存在,因而感觉是在Mac上直接运行了Container。下图是Photon虚机启动时的Splash画面,老实说有点象ppt的封面哦,希望以后能做得更美观些。
基于微服务的应用一般需要多个容器同时运行,这需要对容器进行编排发布等操作。通过AppCatalyst的API可以自动化这个过程。如果需要测试容器的编排发布,可以使用AppCatalyst内置的Swagger调试工具。Swagger是业界最好用的REST工具,可以通过UI输入REST API的参数来交互式测试:
AppCatalyst是VMware对Container社区的又一重要贡献,是全球各地多名工程师24小时不停歇奋战的成果。和前些时候宣布的开源 项目Photon和Lightwave一样,对广大用户开发、测试以及生产环境中部署运行容器应用都有极大的促进和推动作用。
更多信息:
http://blogs.vmware.com/cloudnative/vmware-appcatalyst/