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

下载为PDF

adc在过去十年中获得了很大的吸引力,这主要是因为对遗留负载平衡设备的需求增加,以处理更高级的应用程序交付需求并提高应用程序性能。

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

应用程序交付

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

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

应用程序可用性

普通消费者希望他们每天与之交互的设备和应用程序总是能够正常工作,并希望信息能够按需即时获取。这些期望已经延续到他们所使用的设备和应用程序的类型上。为了满足今天的工作人员,商业应用程序需要像他们用于个人任务和娱乐的应用程序一样直观和易于使用。

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

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

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

服务器负载平衡有何帮助

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

应用程序交付控制器使用算法和策略来确定入站应用程序流量如何分布。轮询是一种相当基本的负载平衡形式,它依次将客户机请求转发到每个服务器。此方法假设所有服务器都是相同的:它不考虑运行状况或响应能力。管理员可以实现其他策略,指示ADC在确定应将入站请求发送到哪个服务器之前检查一系列条件。应用程序传递控制器可以检查数据包头中的关键字或请求的文件类型,并根据这些信息将请求指向相应的服务器。

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

应用程序交付控制器的监视功能也非常依赖。除了标准ping之外,它们还可以检查服务器的健康状况和可操作性。如果监视表明服务器正在遇到问题,或者无法满足确保服务器可靠性所需的特定运行状况标准,则ADC将将流量路由到备用服务器,以避免潜在的中断(参见图1)。

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

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

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

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

应用程序的性能

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

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

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

SSL和TLS是网络业务的支柱。管理用新密码加密的流量是非常消耗CPU的。应用程序交付控制器可以处理大量加密和未加密的流量。ADC管理证书并在通信流到达服务器之前对其进行解密。

TCP多路复用是处理大量入站服务器请求的有效方法。TCP多路复用维护ADC和服务器之间的活动连接。当流量到达ADC时,它使用这些开放通道路由请求,这就消除了每个事务低效的“开-关”开销,这种开销会对服务器性能产生负面影响。

移动网络的性能优化

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

一些创造性的机制使应用程序交付控制器能够通过移动网络优化web内容交付。域分片就是一个例子。连接层优化应用于单个域。每个页面上的内容被分解成一系列的子域,允许同时打开更多的通道,这减少了页面加载时间并提高了性能。

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

网页的其他大型组件包括扩展脚本和层叠样式表(CSS)文件,adc可以通过删除不必要的字符和空格来压缩这些文件。

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

应用程序和用户安全

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

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

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

分布式拒绝服务(DDoS)攻击已经非常猖獗具体来说,企业网站的目标是压倒他们的服务器,扰乱他们开展业务的能力。ADC可以实现速率限制措施,以保护内部服务器资源免受这些专门设计的攻击。当出现异常的大量入站请求时,ADC可以限制这些请求并最小化它们所消耗的可用带宽,或者完全拒绝请求。

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

图2。超越网络防火墙能力的第7层保护

1乔纳森·基恩。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也必须适应并变得更加“自动化”,以便为每种类型的应用提供无缝优化和保护。

下一个步骤