尽管围绕容器技术出现的炒作新闻随处可见,但这项应用程序打包技术方案也确实一直在不断演变,特别是在网络功能层面。

在过去一年当中,Docker容器方案中的网络功能已经迎来了一系列长足进步。与此同时,Docker还建立起一套插入架构,允许开发者将更多先进网络管理工具引入进来以实现容器控制。


而在另一方面,多家初创企业亦开始着手打造定制化容器管理平台,而以思科与VMware为代表的各传统厂商也开始将容器控制能力添加到自有网络管理工具当中。因此,早期出现的各类容器网络难题已经开始得到解决,不过必须承认、我们距离理想的最终目标仍有很长的道路要走。


基础性挑战

容器网络方面的问题似乎永远存在而无法得到根除。托管在同一物理服务器之上的各容器系统会彼此交互并进行数据共享。不过Docker开发人员最初并没有提供必要的此类能力,即将一套容器由一台主机迁移到另一台,或者是将某套容器与运行在另一主机之上的其它容器相对接。

“最大的挑战主要出现在跨容器通信层面,”技术分析师兼博主Keith Townsend指出。“从一套容器到另一套,大多数网络专业人士都会在实现过程中遭遇职业生涯中最严重的阻碍。”

作为同名开源容器项目的开发方,Docker公司中的各位工程技术人员已经意识到了这个问题,并开始着手加以解决。


内置电池,支持更换

正是由于网络难题的存在,Docker公司于2015年3月收购了初创企业SocketPlane,后者的主要业务就是将软件定义网络[注]功能以原生方式添加到Docker当中。今年6月,Docker公司宣布将SocketPlane技术整合至其开源项目当中。新的网络功能采用基础Linux桥接机制与VXLAN(即虚拟可扩展LAN),允许容器与处于同一Swarm当中的其它容器进行通信——顺带一提,所谓Swarm是指Docker专用的容器集群描述名称。跨主机容器网络问题就此得到解决。

与此同时,Docker还放出了libnetwork,其旗下另一开源项目的代号。该项目允许第三方网络管理工具以“插入”方式替代Docker当中内置的网络功能。以VMware NSX、思科ACI等为代表的多款虚拟网络产品已经成为首批受支持方案。

“其建立起一套抽象层(+微信关注网络世界),”Docker公司产品高级副总裁Scott Johnston表示。“这是一套3层网络覆盖体系,允许容器与之进行对接。”

Docker目前拥有两种网络管理方式。其一为原生方式,即开箱即用且受到Docker支持的现成功能——归功于收购SocketPlane,Docker已经拥有了自己的一套跨主机容器连接机制。如果二手域名交易平台用户需要更多先进网络功能,例如以编程化方式建立起网络、设置网络政策、安装防火墙、添加负载均衡方案或者其它虚拟应用,那么则可以选择多种网络管理产品。Docker公司将其方案形容为“内置电池,支持更换”。Johnston指出,他希望能够在未来实现类似的容器存储插入实现模式。


技术是最容易解决的问题


Docker公司产品高级副总裁Scott Johnston指出,在容器网络方面技术是最容易解决的问题。

Johnston表示,其实这些技术能力方面的问题是最容易解决的部分。让开发人员在容器当中构建应用程序并推动IT部门加以使用才是更大的挑战所在。

容器化应用程序与传统企业应用相比拥有着截然不同的特性。在过去,IT部门的目标在于提供不会出错的弹性系统,但现在他们的首要任务变成了想办法提供容量与敏捷性能够即时调整的高灵活度网络体系。

“从网络的角度来看,应用程序交付与性能水平关系到网络基础设施在支持此类新型应用以及用例时的实际表现,”思科公司云基础设施服务CTO Ken Owens解释道。“网络工程师的角色负责思考可编程网络、软件定义网络以及网络功能虚拟化[注]等技术成果能够在这方面起到哪些积极作用。”

这些工具允许网络资源配置得以自动化完成——而不再像过去那样以手动方式进行——这很可能会在不久的将来成为真正的市场吸引力,并促使采取此类应用范例的企业客户在进行利弊权衡之后下决心起用上述新机制。


更多相关文章

  1. 你不知道的 Docker CTO 的浪漫狂放
  2. 云计算模式:Docker正掀起个性化商业革命
  3. 赢得Docker挑战最佳实践
  4. 针对Docker容器的监控指标
  5. 将要改变IT世界的的docker技术是什么?
  6. Docker技术发展路线中囊括了新技术
  7. 八个问题帮你快速了解Docker
  8. Docker三年回顾:梦想依在,人生正当年
  9. Docker——它是真正的未来

随机推荐

  1. (文件).ready是全球范围的吗?
  2. TypeError:e。getPosition不是一个函数。
  3. 创建一个未排序的数组,其中包含重复元素和
  4. 如何停止基于CSS值的jquery动画?
  5. js不使用jquery,调用ajax,传递数组,并接
  6. 网页标签功能插: jQuery tags input 翻
  7. 可编辑的表格:jQuery+PHP实现实时编辑表格
  8. 如何让jQuery post与salesforce的WebToLe
  9. 为什么我不能在同一个js文件中建立两个cl
  10. 如何在angularjs代码中单元测试jquery元