Web 应用在现代商业中发挥着重要作用。当这些应用运行缓慢或不可用时,会立即影响用户体验,企业很快也会感受到影响。
2021 年 10 月,Facebook、Instagram 和 WhatsApp 宕机超过 6 个小时,导致 Facebook 遭受约 6000 万美元的收入损失。随后,Facebook 股价大跌,致使该公司的市值进一步蒸发了数十亿美元。
并非所有 Web 应用故障都 会产生像 Facebook 那样严重或高昂的代价。但即便是相对较小的临时问题,也可能会影响公司的盈利。如果电子商务网站的运行速度稍慢一点,用户就会转向其他网站,而且他/她们可能永远不会再回来。
Web 应用问题会给公司带来严重的财务和声誉影响,这意味着公司技术领导者必须将维护应用的性能和可用性作为首要任务。为了提供快速的响应和可靠的体验,他们要做的不仅仅是拼凑一些单点解决方案。
技术领导者需要构建一套多方位策略,包括改进开发流程、现代化应用架构,以及重新思考如何抵御安全威胁。制定策略的第一步,是了解 Web 应用有时会失败的原因。
虽然某些故障是由非典型问题引起,例如特定的人为错误导致 Facebook 宕机,但有一些相当常见的问题可能会对 Web 应用性能及其可用性产生负面影响。特别是,糟糕的代码、复杂的架构,以及网络威胁给许多组织带来了各种挑战。
糟糕的代码:在许多情况下,/application-services/solutions/performance/ 和可靠性与代码质量直接相关。例如,基于云的应用如果采用低效的数据库请求,随着请求规模扩大,处理速度可能开始变慢。错误(包括仅在极少数情况下触发的错误)也可能导致 Web 应用突然停止运行。
开发人员也可能无意之中在代码里留下漏洞,使 Web 应用面临零日漏洞的风险,从而导致数据被盗、Web 服务器遭入侵或其他危害。例如,2017 年,Equifax 的 Web 应用框架中一个未修补的漏洞导致数据泄露,受影响用户超过 1.47 亿。
低效的编码和设计是导致网站性能问题的常见原因。页面可能包含不必要的代码,这些代码会在最重要的页面内容之前加载,从而导致减慢网站的整体加载时间。此外,使用大型、未压缩图像的网站设计,也可能会导致页面加载非常缓慢,让用户感到沮丧。
复杂的架构:复杂或旧有的网络架构是导致严重的性能和可用性问题的另一个根源。例如,不采用负载平衡的架构,如果流量导致任何一台服务器过载,则会引发性能和延迟问题。
此外,当用户与 Web 服务器之间出现网络拥塞时,用户可能会遇到延迟问题:两点之间的最短路径并不总是最快路径。当然,用户与 Web 服务器之间的物理距离也可能会导致延迟,特别是当远程用户远在千里之外时。
网络威胁:针对 Web 应用的攻击是导致故障的潜在主要原因之一。特别是恶意机器人和分布式拒绝服务 (DDoS) 攻击可能会导致应用性能显著降低或完全不可用。例如,2018 年,GitHub 曾因一次大规模 DDoS 攻击而无法使用,这是近年来较为著名的 DDoS 攻击之一。幸运的是,该组织使用了 DDoS 防护服务,仅在约 20 分钟后就帮助成功阻止了攻击。
应用编程接口 (API) 通常在应用基础设施中发挥着重要作用,但它也经常成为攻击目标。恶意机器人、DDoS 攻击,以及其他 API 特定攻击可能会影响性能,同时让组织面临数据泄露的风险。
企业可能已经积累了多个单点解决方案,以确保 Web 应用安全、可靠,且性能良好。但无论是通过基于硬件的设备交付还是作为云服务交付,这些解决方案通常都存在严重的局限性。
首先,基于硬件的解决方案需要估 算拟接收的流量。如果使用基于硬件的防火墙并且流量超出预测范围,则防火墙会丢弃流量,让其未经检查就直接通过。这些解决方案也容易面临供应链方面的难题,因为你可能因供应商锁定而不得不购买随附特定组件的系统。总体而言,运营、管理和维护硬件的成本会随着新采购的硬件设备而增加。
由 AWS 或 Azure 等公共云供应商提供的网络和安全解决方案可以消除资本支出。但是,在使用这些云服务时,组织通常会遇到隐藏支出,包括将数据从云中移出的数据出口费。如果企业仅在一个云中运营其业务,这些解决方案往往效果最好:因为云提供商几乎没有动力帮助客户使用其他提供商的服务,所以这些解决方案并非为多云或混合环境而设计。
在开始构建新策略以提高性能和安全性时,请仔细定义解决方案需求。大多数企业需要的解决方案都是兼具可扩展性、支持多云环境的灵活性、跨云环境的可视性,以及紧密集成各种功能。
可扩展性:如果业务处于高速发展阶段,可扩展性毫无协商的余地。需要确保可以容纳更多 Web 应用访问者,并尽可能抵御更多攻击,同时保持强大的性能和高可用性。
多云:支持多云和混合云环境也至关重要。当今大多数企业都使用多个公共云,而且许多企业都拥有混合环境。选择将用户锁定在单一云提供商的解决方案,是不明智的做法。
可见性:新的解决方案不仅要支持多云环境,而且还应该有助于监测和控制整个多云环境。你需要快速识别并解决所有可能影响 Web 应用的安全和网络问题。
集成:安全和网络解决方案必须协同工作。例如,负载均衡器应该与 Web 应用防火墙 (WAF)协同工作,以同时维持性能和确保安全。
与提供真正集成功能的供应商合作,这将有助于降低管理复杂性。如果能够实施一个平台,并通过单一界面集成多种安全和网络功能,则可以显著减少管理开销。
简化开发:在定义性能和安全需求时,也还要考虑开发人员需要哪些资源来加速创新。开发人员平台应该有助于提高生产力,利用可扩展的多云环境, 以及通过改善代码质量来提高可靠性。
Cloudflare 全球连通云可改善 Web 应用的性能和安全性,帮助提供可靠、响应迅速的用户体验。Cloudflare 提供全方位的集成式网络和安全服务,可在多云环境中轻松部署这些服务,并在单一平台内进行管理。
The Cloudflare developer platform helps software engineers produce robust, reliable, and secure web apps. Integration with databases, object storage, AI models, and other services streamlines the construction of modern software with sophisticated capabilities.
同时,Cloudflare 庞大的全球网络可最大限度地降低延迟。采用 Cloudflare 解决方案,你可以在更靠近用户的边缘位置部署和交付 Web 应用,无论用户身处何地。
确保强大的性能和不间断的服务,是提供积极的用户体验并避免代价高昂的停机时间的关键。选用合适的集成式服务平台,企业便可以解决这些体验带来的威胁,同时控制复杂性。
Cloudflare 就影响当今技术决策者的最新趋势和主题发布了系列文章,本文为其一。
阅读《应用安全趋势》报告,进一步了解塑造当今 Web 应用和 API 威胁格局的关键趋势。