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

以PDF格式下载

ADC在过去十年中获得了发展,这主要是由于对传统负载平衡设备的需求增加,以处理更高级的应用程序交付需求并提高应用程序性能。

应用程序交付控制器是专门构建的网络设备,其功能是提高通过web交付的应用程序的性能、安全性和弹性。

应用程序交付

这些年来,应用程序已经有了显著的发展。在这个移动和云计算的新时代,交付一词现在被普遍接受为将应用程序带给用户的手段。在企业中,业务应用程序已经远离了安装在本地服务器上的桌面绑定软件,这些服务器由跨局域网的用户访问。现代应用程序需要在所有类型的网络中工作,并且需要在物理工作场所之外的位置工作。

应用交付控制器,它是企业中广泛部署的关键设备,可以帮助应用程序适应现有的网络和协议。它们还确保应用程序以最佳方式执行,始终可用,并且不会给用户或企业带来任何安全风险。

应用程序可用性

普通消费者期望他们每天与之交互的设备和应用程序能够始终工作,并期望信息能够根据需要立即可用。这些期望已经延伸到他们使用的设备和应用程序的类型。为了满足今天的工人,业务应用程序需要直观且易于使用se是他们个人任务和娱乐的依靠者。

许多员工不再局限于使用锁定的公司自有设备,可以随时使用个人设备工作。由于人们在白天或晚上的任何时间工作,它必须确保工作场所的服务器和应用程序24小时可用。企业在IT基础架构上投入巨资,以确保员工在需要时始终能够访问应用程序和信息。

当然,服务器故障的原因有很多,从机械问题到过度利用和安全漏洞。如果服务器出现故障,在其上运行的应用程序将无法使用或无法访问。

IT组织可以通过在其环境中构建容错来规划这些事件。在数据中心或同一地点部署其他服务器是典型的故障切换策略。ADC可以帮助确保应用程序的高可用性通过提供无缝故障切换。这是通过在一个或多个站点的活动服务器集群上平衡应用程序工作负载来实现的。

服务器负载平衡的帮助

服务器负载平衡帮助跨服务器集群分布流量,以优化利用率、提高响应性和提高可用性。

应用程序交付控制器使用算法和策略来确定入站应用程序流量的分布方式。循环(Round robin)是一种相当基本的负载平衡形式,它将客户端请求依次转发给每台服务器。此方法假定所有服务器都是相同的:它不考虑运行状况或响应性管理员可以实施其他策略,指示ADC在确定入站请求应发送到哪个服务器之前检查多个条件。应用程序交付控制器可以检查数据包头中的关键字或请求的文件类型,并根据此信息将请求定向到适当的服务器。

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

应用程序交付控制器的监控能力也非常依赖。它们可以检查服务器的运行状况和标准ping之外的可操作性。如果监控表明服务器出现问题,或者未满足确保服务器可靠性所需的特定运行状况标准,则ADC将路由traffic连接到备用服务器,避免潜在的中断(见图1)。

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

跨多个站点的负载平衡服务器

负载平衡是任何高流量数据中心的关键服务,但应用程序交付控制器也可以将流量重定向到位于完全不同的数据中心的服务器集群。这称为全局服务器负载平衡。另一个数据中心中的服务器可以由另一个ADC前端,该ADC与第一个设备协同工作。这些站点可以配置为主动-被动或主动-主动模式。在后者中,两个站点都积极支持入站流量。每个应用程序交付控制器检测哪个数据中心距离给定用户最近,并将客户端请求路由到该数据中心中的服务器。此过程可最大限度地减少用户请求的延迟和往返时间,并确保更好的体验。

如果数据中心发生关闭,此配置还支持业务连续性。当流量路由到该数据中心时,ADC将其转移到位于同一位置的站点中的可用ADC,该站点可以将流量定向到可行的服务器资源。

应用程序性能

如果应用程序不能满足用户的期望,那么它们的生产力就会严重下降。应用程序交付控制器可以使用一系列机制来提高应用程序性能,特别是在移动和高延迟网络上。

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

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

SSL和TLS是在web上开展业务的主要手段。管理使用新密码加密的流量非常占用CPU。应用程序交付控制器可以处理大量加密和未加密的流量。ADC在流量到达服务器之前管理证书并解密流量。

TCP多路复用是处理高卷入站服务器请求的有效方法。TCP多路复用维护ADC和服务器之间的活动连接。随着流量击中ADC,它将使用这些开放通道路由请求,该请求消除了可以对服务器性能产生负面影响的每个事务的低效“打开”开销。

移动网络的性能优化

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

几种创意机制使应用程序提供控制器能够优化通过移动网络的Web内容。域分片是一个例子。连接层优化应用于单个域。每个页面上的内容分解为一系列子域,允许同时打开更大数量的通道,这会降低页面加载时间并提高性能。

应用程序交付控制器可以看到正在交付的内容,并可以通过将GIF文件转换为更高效的PNG格式来进一步优化包含大图像的网页交付。

网页的其他大型组件包括广泛的脚本和级联样式表(CSS)文件,ADC可以通过删除不必要的字符和空格来压缩。

压缩后,文件以更快的速度遍历网络,因此下载时间大大减少。

应用程序和用户安全

网络传输引入了新的威胁和漏洞,这是传统局域网绑定的应用程序从未遇到过的。随着工人的流动性和需求的增加远程访问对于应用程序和数据,IT部门必须制定更严格的防范措施,防止外部攻击和数据泄漏。

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

基于xml的协议SAML现在被广泛用于简化应用程序登录过程。ADC可以充当SAML代理,通过任何可以确认用户身份的数据存储对用户进行授权。一些应用程序允许使用来自Facebook或谷歌+等网站的凭证,在授予访问权限之前验证身份。在这方面,adc可以充当SAML标识或服务提供者。

分布式拒绝服务(DDoS)攻击已变得猖獗。1具体而言,企业web属性成为攻击目标的目的是压倒其服务器并破坏其开展业务的能力。ADC可以实施速率限制措施,以保护内部服务器资源不受这些专门设计的攻击的攻击。当异常的MASS当入站请求激增时,ADC可以限制这些请求并最小化它们消耗的可用带宽量,或者完全拒绝请求。

应用程序交付控制器融合了负载平衡和高级第7层保护,传统上仅作为独立解决方案提供。应用程序防火墙可以检查数据包头是否存在网络防火墙可能无法检测到的可疑内容或恶意脚本(见图2)。

图2.网络防火墙功能之外的第7层保护

1乔纳森·基恩。DDoS攻击在2015年第二季度创下记录。数字趋势。2015年8月19日。http://www.digitaltrends.com/computing/ddos-attacks-hit-record-numbers-in-q2-2015/

应用程序交付控制器可以同时支持正安全模型和负安全模型。当ADC处于“学习”模式时,它可以分析流量以确定表示正常行为的使用模式。如果发送了恶意的入站请求(例如,使用SQL注入或跨站点脚本),它将自动标记该请求并阻止它。通过与Qualys等第三方安全提供商集成,它还可以采用基于签名的保护。结合这些保护方法,ADC可以为应用程序和用户使用全面的混合安全模型。

ADC的下一步是什么?

ADC已经为IT组织提供了巨大的价值,以确保向用户安全交付应用程序和数据。但是,随着应用程序的发展,ADC有望继续发展。软件定义的网络对应用程序交付控制器提出了越来越高的要求,使其能够“作为服务”运行随着网络协议越来越以应用程序为中心,ADC也必须适应并变得更加“自动”,以便为每种类型的应用程序提供无缝优化和保护。

下一步