根据Forrester的调查,接近半数的企业CIO在考虑IT架构的时候更乐于接受开源方案,这主要是基于低成本,避免供应商锁定和敏捷的需求;同时另外一家North Bridge的调研机构的调查显示,2016年将有超过25%的财富500企业将把容器技术用于自己的IT架构。
对于很多人来说,把Docker和微软放在一起会觉得很奇怪,这个IT界快速升起明星似乎和老派的微软扯不上什么关系。不过如果你如果打开DockerCon 2016的主页,你就会发现微软是这个会议的钻石级赞助商,而Oracle,IBM和其他人都被排在了下面。
Docker最早由DotCloud这家PaaS公司发布于2013年3月,作为一个开源项目,在仅仅1个月的时间里下载量就超过10000次。1年之内,RedHat和AWS就宣布为Docker提供官方支持,在这样大的关注下,连Docker自己的CEO都劝说全球的开发者暂时不要将Docker用于生产环境。2014年6月,Docker发布了1.0版本,这时Docker的下载量已经超过275万,到今天这个数字已经超过了10亿。
作为一种新型的IT技术,Docker在国内也获得了前所未有的关注。小编清晰的记得2014年中旬我到访湖南某电视台的软件开发中心,当地的程序员们已经在Docker上开发和测试自己的应用,并部分投入生产环境了,这个时候离Docker的诞生才不过1年多的时间。
说实话,微软这几年的日子不好过,各种开源技术大规模应用让本来占领大量企业市场的软件巨人渐渐被淹没;而快速发展的互联网企业与传统企业对IT技术的不同态度,也使得微软原本在企业市场上的优势逐渐消退。还好,微软对技术的前瞻性还是给未来留下了曙光,就是对云计算平台的早期投入。2010年,在很多人还不知道什么是云计算的时候,微软就开始运营Azure云计算平台。
Docker与微软的合作几乎也是从一开始就存在,在微软的Azure平台上有超过半数的VM是Linux虚拟机,而微软也在2015年发布了自己的Linux发行版,另外关于SQL Server for Linux的版本现在也已经进入到preview阶段。微软很早就与Docker合作发布了运行于Windows上的docker tool,而对于Windows的Docker改造和支持更是这两年Widnows Server的重点。在云计算平台上,仅仅2016年1月份在Azure平台上所部署的容器数量就翻了一倍还要多。
也许这些市场上可见的数字你已经看得多了,那么看看以下这些工具的支持,说明微软对于Docker的投入是来真格的:
– Visual Studio 2015的Docker集成开发环境:开发人员可以在VS中构建容器,按F5直接部署到本地的docker环境中,并进行调试
插件地址:https://visualstudiogallery.msdn.microsoft.com/0f5b2caa-ea00-41c8-b8a2-058c7da0b3e4
– Visual Studio Code 的 Docker 插件:为开发人员提供跨平台的 Dockerfile 和Docker compose file 编写支持,可以在Windows/Mac/Linux 这3大操作系统上使用,包括自动语法补全和帮助信息的鼠标悬停显示。
插件地址:https://marketplace.visualstudio.com/items?itemName=PeterJausovec.vscode-docker
– Visual Studio Team Service / Team Foundation Server 上基于Docker的持续集成和发布管道任务:直接在CI/CD过程中完成容器的构建,Registry的注册上传和部署。
插件地址:https://marketplace.visualstudio.com/items?itemName=ms-vscs-rm.docker
– Yo Docker generator: 使用 generator直接生成 docker 项目的模版。这是个托管在github上的开源项目。
GitHub: https://github.com/Microsoft/generator-docker
在这次的DockerCon 2016大会上,微软不仅仅是最大的赞助商,也与docker合作推出了几个重量级的产品:
– Docker Datacenter on Azure:可以直接通过 Azure 的软件市场一键创建企业级的容器数据中心;这里包括用于进行统一调度的UCP,用于容器注册和托管的 Trusted Registry 和提供企业级支持的 Docker Engine 用于运行应用负载。
这基本上意味着你可以在1个小时内建立一个托管在云端的,基于容器的数据中心,同时还可以获得docker和微软所提供的企业级支持。对于 Docker 这种采取开源市场拓展方式的产品来说,除非你自己有很强的技术实力,否则技术门槛是很高的。对于大型企业和具备大量人才储备的互联网企业也许搞得定,但是对于中小企业或者非IT型企业来说是很困难的。前段时间[京东的16万docker容器实战618]的文章相信很多人都看了,但京东在背后投入了多少人力物力和时间?是一般企业不可想象的。
软件市场地址: https://azure.microsoft.com/en-us/marketplace/partners/docker/dockerdatacenterdocker-datacenter/
– 混合模式的Docker数据中心支持:借助 Azure Stack 这个私有云解决方案,你可以在自己本地的数据中心中搭建一套与Azure同样技术架构的私有云,并且将它们打通作为统一的企业云平台使用。很多企业都在自己的数据中心中投入了上亿的资产,能够将这些计算资源与公有云打通,使用同样的技术架构,同时提供容器化支持对于企业的吸引力是相当大的。
Azure Stack: https://azure.microsoft.com/en-us/overview/azure-stack/
– Azure 容器服务:借助 Docker Swarm,将运行于 Azure 中的多个 docker host组建成一个统一的虚拟化平台,统一调度和使用。这一切都可以通过 ARM (Azure Resource Manager)模版实现一键部署。而且,这个服务部还支持 Windows Docker。
软件市场地址:https://azure.microsoft.com/en-us/marketplace/partners/microsoft/acsswarmm/
– 运行于Docker容器中的 SQL Server on Linux 版本:SQL Server不仅仅可以跑在Linux上,现在也可以跑在 docker 容器里面。微软SQL Server这种核心产品都搬到Linux和Docker上面去了,也可见其开源和开放战略的决心。根据Forrester的调查,接近半数的企业CIO在考虑IT架构的时候更乐于接受开源方案,这主要是基于低成本,避免供应商锁定和敏捷的需求;同时另外一家North Bridge的调研机构的调查显示,2016年将有超过25%的财富500企业将把容器技术用于自己的IT架构。所有这些趋势都迫使微软不得不转变以前对于开源和开放的看法。
作为一种仅仅出现了3年的技术来说,Docker 的成功其实说明了市场对于更加快速,可靠,一体化的的开发运维环境(DevOps)的迫切需求。Docker 正是提供了一种颠覆式的全新方法以及配套的工具适应了这种需求。微软作为在开发工具以及平台上的有着巨大投入的软件厂商,与 Docker 在市场切入点上不谋而合,它们同时出现也就不用觉得奇怪了。
相关链接:
- DockerCon2016: http://2016.dockercon.com/
- 京东商城618全面使用15万docker容器:http://www.infoq.com/cn/news/2016/06/jd-618-docker-cloud-practice
- 微软的Linux发行版:http://www.infoworld.com/article/2984858/sdn/is-it-opposite-day-microsoft-has-a-new-linux-distro.html
- SQL Server on Linux:https://www.microsoft.com/en-us/server-cloud/sql-server-on-linux.aspx
- Docker for Visual Studio 2015: https://visualstudiogallery.msdn.microsoft.com/0f5b2caa-ea00-41c8-b8a2-058c7da0b3e4
- Docker for Visual Studio Code: https://marketplace.visualstudio.com/items?itemName=PeterJausovec.vscode-docker
- Docker for VSTS/TFS: https://marketplace.visualstudio.com/items?itemName=ms-vscs-rm.docker
- Docker Datacenter for Azure: https://azure.microsoft.com/en-us/marketplace/partners/docker/dockerdatacenterdocker-datacenter/
- Docker Service for Azure: https://azure.microsoft.com/en-us/marketplace/partners/microsoft/acsswarmm/
- Azure Stack: https://azure.microsoft.com/en-us/overview/azure-stack/
- Docker Swarm: https://www.docker.com/products/docker-swarm
请关注微信公众号 【devopshub】,获取更多关于DevOps研发运维一体化的信息