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

下载PDF格式

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

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

应用程序交付

多年来,应用程序发生了显著的发展。在这个移动和云的新时代,交付这个术语现在被普遍接受为将应用程序提供给用户的手段。在企业中,业务应用程序已经远离了安装在本地服务器上的桌面软件,用户可以通过局域网访问本地服务器。现代应用程序需要在所有类型的网络上工作,并在物理工作场所之外的位置工作。

应用交付控制器,它们作为企业中的关键设备被广泛部署,帮助应用程序适应当今的网络和协议。它们还确保应用程序的性能最佳,始终可用,并且不会给用户或业务带来任何安全风险。

应用程序可用性

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

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

当然,服务器可能因为许多原因而失败,从机械问题到过度使用和安全漏洞。如果服务器宕机,在其上运行的应用程序将无法使用或访问。

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

服务器负载平衡如何帮助

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

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

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

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

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

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

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

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

应用程序的性能

如果应用程序不能达到用户的期望,那么它们的工作效率就会受到严重影响。应用程序交付控制器可以采用一系列机制来提高应用程序性能,特别是在移动和高延迟网络上。

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

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

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

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

移动网络性能优化

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

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

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

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

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

应用和用户安全性

通过web交付引入了新的威胁和漏洞,而传统的lan绑定应用程序从未需要应对这些威胁和漏洞。由于工人的流动性越来越大,需要远程访问对于应用程序和数据,IT必须设计更严格的安全措施,以防止外部攻击和数据泄漏。

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

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

分布式拒绝服务(DDoS)攻击已经变得猖獗具体来说,企业网站属性正被瞄准,目的是让它们的服务器不堪重负,扰乱它们开展业务的能力。ADC可以实现速率限制措施,以保护内部服务器资源不受这些专门设计的攻击的攻击。当出现异常大量的入站请求时,ADC可以限制这些请求并尽量减少它们消耗的可用带宽,或者完全拒绝请求。

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

图2。第七层保护超出了网络防火墙的能力

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也必须适应并变得更加“自我自动化”,为每种类型的应用程序提供无缝优化和保护。

下一个步骤