自Docker面世以来就深受用户喜欢,有什么理由不喜欢呢?Docker是一个条理清晰的一体化结构,提供了良好的云端至云端移植性和工作负载管理。更关键的是,Docker还可以为创建基于云的分布式系统提供十分强大的基础。一个基于云的分布式系统的工作负载迁移起来远比目前的云工作负载来得方便。
Docker1.0已经明白地告诉了我们,这一技术对于企业将应用迁移至云平台上的举措来说意味着什么。截止目前为止,亚马逊网络服务(AWS)、谷歌和红帽等主要的云技术提供商都已经接受了Docker,并且在他们的产品和服务中对Docker提供支持。
事实上,目前谷歌App Engine的开发者已经拥有了借助谷歌云平台的虚拟机管理功能来给他们的应用创建和部署Docker镜像的技术。而现有的Docker镜像同样可以借助谷歌云平台的虚拟机管理功能来被获取和部署。
在一些云实例中,Docker是一个非常重要的架构和部署方式。如今它们已经具备了挑战一些云服务提供商的实力。包括将精力放在PaaS[注](平台即服务[注])方面在内的部分云服务提供商正在尝试着解决应用的移植性问题,然而Docker的使用可能会使他们的解决方案不起作用,尤其是那些使用虚拟机或抽象[注]层的解决方案会受到Docker的威胁。
通过虚拟机提升可移植性的云服务如今已经发现应用开发者更偏爱使用轻量级的Docker解决方案以让应用具有可移植性,因为Docker解决方案在应用执行和迁移时需要更少的资源。此外,与其它虚拟机技术相比,Docker更加开放,且支持范围更广。
部分PaaS提供商在应用迁移方案中使用了抽象层技术,即在应用和基础云服务之间设置了一个转换层(即抽象层)。与Docker解决方案相比,这一解决方案和虚拟机解决方案一样具有更多的专利保护且让开发者难以部署。
如今Docker正在促使更多的云提供商选择它们,因为这些云提供商非常清楚,Docker对于向云平台迁移的应用来说可以提供更好的可移植性,并且这一解决方案将被广泛采用。由于Docker是开放的,并受到了广泛关注和支持,因此它们让部分云提供商难以实施“套牢”策略(即厂商锁定策略)。
对于那些企图实施“套牢”策略的云提供商来说,即便他们的应用或工作负载可移植性专利解决方案在一些案例中取得了良好的效果,但是在Docker面前也将变得苍白无力。