什么是应用交付控制器 (ADC)?

下载 PDF 文件 

ADC 在过去十年中获得了广泛关注,主要是由于对传统负载均衡设备(用于处理更高级的应用程序交付需求和提高应用程序性能)的需求日益增加。

应用交付控制器是专用网络设备,其作用是提高通过 Web 交付的应用程序的性能、安全性和灵活性。

应用交付

近年来,应用程序得到了显著发展。如今,在这一移动化和云的新时代,“交付”这一名词作为向用户交付应用程序的方式已获得普遍接受。在企业中,商业程序已不再是安装在本地服务器上供用户通过局域网访问的绑定于桌面的软件。现代应用程序需要在所有类型的网络上工作,并且不再局限于物理工作空间。

应用交付控制器作为关键组件在企业中广泛部署,可帮助应用程序适应当今的各种网络和协议。它们还可保证应用程序达到最佳性能且始终可用,并且不对任何用户或企业产生任何安全风险。

应用程序可用性

普通消费者希望他们日常使用的设备和应用程序始终可用,并且可随时按需获得信息。他们对所使用的设备和应用程序类型也有着相同的预期。为了满足如今的办公需求,业务应用程序必须直观简洁,就像人们在个人生活和娱乐中使用的应用程序那样。

很多员工都不再限于使用被锁定的公司设备,并且可以在需要时使用个人设备进行工作。由于人们可能在白天或晚上的任何时间工作,因此 IT 必须确保工作空间的服务器和应用程序提供全天候服务。企业大力投资于 IT 基础架构,以确保员工始终能够在需要时访问应用程序和信息。

当然,服务器可能由于多种原因(从硬件问题到过度利用再到安全漏洞等等)而发生故障。如果服务器出现故障,在其上运行的应用程序将变得不可用或无法访问。

IT 组织可以通过构建其环境的容错功能,来规划这些事件的应对措施。在数据中心或位于同一地点的站点中部署额外的服务器,就是典型的故障转移策略。ADC 可通过提供无缝失效备援,确保应用程序的高可用性。这可通过在一个或多个站点的一组活动服务器中均衡应用程序工作负载来完成。

服务器负载均衡功能如何提供帮助

服务器负载均衡功能可以帮助在一组服务器中分配流量以优化利用率,提高响应速度和可用性。

应用交付控制器采用算法和策略来确定如何分配入站应用流量。轮询机制(将客户端请求依次转发到每个服务器)是一种用于实现负载均衡的基本形式。此方法假设所有服务器都是相同的:它不会考虑到运行状况或响应能力。管理员可实施其他策略,以指示 ADC 检查若干条件,然后再确定应将入站请求发送到哪台服务器。应用交付控制器可在数据包报头中检查关键字或请求的文件类型,并基于该信息将请求定向到相应的服务器。

图 1:ADC 主动监测以确保将请求发送到可用的服务器

应用交付控制器还特别依赖于它们的监控能力。它们可以检查服务器的运行状况和可操作性,而不只是执行标准的 ping 命令。如果监测表明服务器出现问题,或未满足为确保服务器可靠性而必须满足的某特定运行状况条件,ADC 会将流量路由到备用服务器,以避免发生潜在的中断(请参见图 1)。

应用交付控制器还可以提供针对所有用户和网络流量的实时和历史分析,包括关于往返时间、带宽使用率以及数据中心和 WAN 延迟的指标。这些信息可帮助服务台工作人员最大程度减少用于识别问题原因的时间,并可为用户提供更快的解决方案。

对多个站点中的服务器执行负载均衡

负载均衡是任何高流量数据中心的一项关键服务,而应用交付控制器还可以将流量重定向到位于完全不同的数据中心内的一组服务器。这称为全局服务器负载均衡。在其他数据中心中的服务器可由另一 ADC 作为前端,其与第一个设备协同工作。这些站点可配置为“主动-被动”或“主动-主动”模式。在后一种情况中,两个站点都主动支持入站流量。每个应用交付控制器将检测与给定用户最接近的数据中心,并将客户端请求路由到该数据中心内的服务器。该过程可最大限度减少用户请求的延迟和往返时间,并确保更优的体验。

此配置还可在数据中心服务中断时支持业务连续性。当流量被路由到该数据中心时,ADC 将其转移到一个共置站点的可用 ADC,该站点可将流量定向到适当的服务器资源。

应用程序性能

如果应用程序未按用户预期执行,则其工作效率可受到严重损害。应用交付控制器可使用一组机制提高应用性能,特别是在移动和高延迟网络上。

SQL 数据库负载均衡是一种可提升性能的机制。SQL 负载均衡机制使用了多项用于均衡 TCP 流量负载的相同技术,但将在数据库级别应用此智能。它为每个 SQL 事务使用策略驱动的逻辑,增大可在数据库集群内处理的请求和连接的数量。

应用交付控制器提供的其他常用应用程序性能优化服务包括卸除服务器密集型任务负载、连接多路复用、压缩和缓存。

SSL 和 TLS 是在网络上开展业务的首选。通过新密钥管理加密流量的操作非常占用 CPU 资源。应用交付控制器可处理极大数量的加密和未加密的流量。ADC 可管理证书,并在流量到达服务器之前对其进行解密。

TCP 多路复用是一种用于处理大量入站服务器请求的有效方法。TCP 多路复用可在 ADC 和服务器之间保持活动连接。当流量到达 ADC 时,它会使用这些活动的连接转发请求,从而消除了每个会话的低效“开-闭”开销(这可对服务器性能产生负面影响)。

移动网络上的性能优化

应用交付控制器还可以提供移动网络的性能优势。专为高速互联网链路设计的网页往往无法在通过带宽受限的网络连接的移动设备上提供同等用户体验。

多个创造性机制可支持应用交付控制器优化通过移动网络交付的 Web 内容。域分片就是一个例子。连接层优化应用于单个域。每一页上的内容划分为一系列子域,这将允许同时打开更大数目的通道,从而降低页面加载时间并提高性能。

应用交付控制器对所传输内容具有可视性,并且可通过将 GIF 文件转换为更高效的 PNG 格式来进一步优化含大型图像的网页的传输。

网页的其他大型组成部分,包括大量脚本和层叠样式表 (CSS) 文件。ADC 可通过删除不必要的字符和空格来压缩这些内容。

经过压缩之后,文件在网络上的传输速度更快,因此下载时间显著缩短。

应用程序和用户安全

通过网络进行交付将会引入新的威胁和漏洞,传统的 LAN 绑定型应用程序无法与之抗衡。随着工作人员的移动性日益升高并且需要远程访问应用程序和数据,IT 部门必须制定更加严格的保护措施,以防止外部攻击和数据泄露。

应用交付控制器充当网络的自然入口点或网关。它们对尝试访问应用程序的每个用户进行身份验证。如果应用程序基于 SaaS,ADC 可以使用内部部署 Active Directory 数据存储验证用户的身份,而无需在云中存储凭据。此过程不仅更安全,而且通过在多个应用程序中提供单点登录功能,增强了用户体验。

基于 XML 的协议 SAML 现已广泛用于简化应用程序登录过程。ADC 可以充当 SAML 代理,通过可用于确认用户身份的数据存储来授权用户。在授权访问之前,一些应用程序允许使用来自 Facebook 或 Google+ 等网站的凭据验证身份。在这方面,ADC 可充当 SAML 身份或服务提供程序。

分布式拒绝服务 (DDoS) 攻击已十分猖獗。1这些攻击专门以企业的网络资产为目标,企图摧毁企业的服务器和干扰其开展业务的能力。ADC 可以实现限速措施,以防止内部服务器资源沦为这些经过专门设计的攻击的目标。当发生异常的大量入站请求时,ADC 可限制这些请求,并尽量减少这些请求所消耗的可用带宽,或者完全拒绝此大规模请求。

应用交付控制器已融合负载均衡和先进的 7 层保护功能,而传统上这些功能只作为独立解决方案提供。应用程序防火墙可检测数据包报头中的可疑内容,或者可能无法由网络防火墙检测到的恶意脚本(请参见图 2)。

图 2.7 层保护功能超越了网络防火墙的功能

1 Jonathan Keane.2015 年第二季度 DDoS 攻击达到创纪录的数字。数字化趋势。2015 年 8 月 19 日。http://www.digitaltrends.com/computing/ddos-attacks-hit-record-numbers-in-q2-2015/

应用交付控制器可支持正反两方面的安全模型。当 ADC 处于“学习”模式时,它可以分析流量以确定代表正常行为的使用模式。如果有人发送一个恶意入站请求(例如,通过使用 SQL 注入或跨站脚本发送),它会自动标记并阻止该请求。此外,它也可以通过与第三方安全供应商(如 Qualys)集成来使用基于签名的保护功能。通过结合这些保护方法,ADC 可为应用程序和用户使用全面的混合安全模型。

ADC 有什么后续演进?

ADC 已经为 IT 部门提供了巨大价值,以确保向用户安全地交付应用程序和数据。但是,它们将继续随应用程序的发展而演进。软件定义型网络日益需要将应用交付控制器功能“作为服务”。随着网络协议变得更加以应用程序为中心,ADC 还必须适应并变得更加“自助自动化”,以便为每类应用程序提供无缝的优化和保护。