简化之道:容器与SDN

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

SDN技术为简化接入网络、支持应用创造了机会,但是大多数公司即便采用了SDN技术,但是对待网络的态度仍然跟从前一样,造成的结果是网络仍然保持了原有的复杂性。容器管理平台的兴起也真正的从应用的角度对部署进行了简化,SDN技术的应用无疑推进了简化的进程。

SDN公司试图解决的一个问题是防火墙规则爆炸问题,防火墙访问控制表(ACLs)是出了名的难以理解和处理。例如,我在前东家供职的时候的一个用户防火墙设备上有50000条防火墙规则,他们也不知道删除任意一条规则是否会影响应用程序。负载均衡器也有类似于防火墙的这种问题。数以百计的应用程序产生上千条驻留在硬件负载均衡器上的规则,这很显然存在问题。

解决这个问题的方法之一是创建网络应用程序中心,许多IT网络厂商宣称构建了以应用为中心的基础设施和网络,他们对这个问题的看法就好像网络管理员通过在运行应用程序的虚拟机中添加网络对象如防火墙、负载均衡器、过滤器、包检测,以创建一个应用程序的网络流一样。

20160727033021804.png

上图说明了网络公司应用程序的创建过程,从外部开始,到防火墙,再通过负载均衡器(LB),然后到应用程序(虚拟机,VMs),然后到另一个数据库(DB)。每组应用中的服务都是插入到网络流中,这些服务需要编程和维护。通过使用SDN技术来解决这个问题,虽然灵活性得到了保证,但是网络的复杂性并没有根本改变。这种由硬件构成的网络复杂性会转变成一个非常难管理且十分昂贵的系统。

其他SDN公司尝试通过更换硬件设备和虚拟机(VMs)来解决这个问题,在这种情况下,用户得到的是一个VM运行应用程序,另一个VM运行防火墙或者包分析器。这解决了一些问题,但是也带来了新的问题——现在网络中有了更多的VMs,如何把这些VMs连接起来。

虚拟化革命简化了系统部署,但是在网络中添加了过多的OS终端。更多的虚拟机意味着需要更多的IP、子网,网络也变得更加复杂,同时东西向流量也暴增,随着新的厂商采取创建虚拟机来解决这个问题,成本也越来越高。

容器如何满足应用的弹性需求

如果将应用程序放到应用平台,特别是容器管理的平台而不是VMs,然后你就可以站在应用程序的角度开始考虑应用程序的网络需求了。

从容器中运行的应用开始,并将之命名为“route”。
20160727033026589.png

在上图中,有两个非常简单的对象,对管理员和应用所有者来说非常容易理解。该平台可以隐式插入应用所需的任何网络对象。

通过直接将基于策略的网络控制应用到应用程序中,很容易扩展或者缩小应用程序的规模,并自动添加或删除网络对象。

这个模型能够在你添加更多复杂对象时更加容易扩展,如在这个模型中添加一个数据库:
20160727033027488.png

上图所示看上去简单的结构实际上是非常复杂的网络拓扑结构,当应用平台管理该平台下的网络对象,如软件防火墙、过滤器、负载均衡器都可以神奇的不经过管理员就插入到网络流量中。添加一个数据库并且自动获得一个过滤器。

这种类型的隐式网络与容器管理平台已经司空见惯了,这些平台使用SDN技术与容器技术一起,同时还结合防火墙、负载均衡器、过滤器、服务发现以及其他一些网络功能。当通过策略实现时,该平台隐藏网络的复杂性并创建应用程序编程人员可以操作和利用的易于部署、开发的网络对象。容器+SDN+平台+PaaS可以为应用程序创建一个新的范式。





====================================分割线================================


本文转自d1net(转载)

目录
相关文章
|
Kubernetes SDN 容器
多租户Kubernetes实践:从容器运行时到SDN
多租户Kubernetes实践:从容器运行时到SDN
113 0
多租户Kubernetes实践:从容器运行时到SDN
|
负载均衡 网络协议 SDN
|
1月前
|
Java Go 开发者
Docker容器技术简介及其与Go语言的结合点
【2月更文挑战第23天】本文首先概述了Docker容器技术的核心概念和优势,接着探讨了Go语言与Docker容器技术的结合点。通过阐述Docker的轻量级、可移植性和版本控制等特性,以及Go语言在容器化应用中的优势,本文旨在说明两者结合能够实现更高效、灵活的应用开发和部署。
|
2天前
|
存储 Kubernetes Docker
Kubernetes(K8S)集群管理Docker容器(概念篇)
Kubernetes(K8S)集群管理Docker容器(概念篇)
|
2天前
|
存储 Ubuntu 安全
Docker容器常用命令
Docker容器常用命令
10 1
|
8天前
|
存储 运维 监控
构建高效稳定的Docker容器监控体系
【4月更文挑战第18天】 在现代微服务架构中,Docker容器已成为部署和运行应用的标准环境。随之而来的挑战是如何有效监控这些容器的性能与健康状况,确保系统的稳定性和可靠性。本文将探讨构建一个高效稳定的Docker容器监控体系的关键技术和方法,包括日志管理、性能指标收集以及异常检测机制,旨在为运维人员提供实用的指导和建议。
13 0
|
16天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
13 0
|
16天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
28 0