在云中部署应用程序可以为工程团队和消费者带来许多的好处。工程团队可以利用云基础设施快速、轻松地扩展应用程序,而不用像过去的本地部署那样花费大量资金。
因此,终端用户在使用社交媒体、游戏和流媒体时的延迟更低,应用程序的可用性更高,用户可以获得更好的体验。
然而,向大型云计算提供商托管应用程序的转变导致了对大型云计算供应商的依赖。大型供应商拥有庞大、集中的数据中心区域。这些区域的按需提供的弹性资源可以帮助工程师们进入现代计算范式,但同时也带来了安全和性能方面的挑战。
应用性能和安全挑战
依赖大型、中心式云架构的主要挑战之一在于确保应用程序的性能。托管在中央数据中心应用程序往往远离终端用户,这可能会导致严重的延迟问题。
一些需要实时交互的应用程序尤其会受到延迟和性能问题的影响。在新冠大流行期间,虚拟打工人主要依靠视频会议与同事进行远程连接。我们可以看到一些需要实时技术才能运行的其他蓬勃发展的例子,包括物联网(IoT)设备和人工智能处理。
此外,中心式架构会对可扩展性和创新产生影响。即使是具有横向扩展能力的均衡设计也只能在单一环境中进行扩展。更不用说在发生区域性故障时,如果没有其他选择的话,运营在故障解决之前就可能会被停顿,而且还要算上恢复过程所需的时间。
当然,网络抗压能力是任何应用程序都要考虑的首要问题。中心式架构将所有系统和应用程序托管在同一环境中,从而降低了攻击者渗透和破坏组织的门槛。中心式系统形成了一个单一的攻击面。如果系统崩溃,整个运营也会崩溃,这对于关键业务运营来说是一个巨大的问题。
分布式云计算的发展之路
为了应对这些挑战,许多企业都在寻求一种替代方案,通常会采用分布式云环境的形式,将应用程序托管在世界各地的多个服务器上,从而提高性能及增强抵御网络攻击的能力。
而且,将应用程序分布在多个地点后,企业可以减少处理和分析往返于中心式云端数据的时间,并将无需分布的数据本地化。分布式云环境还可减少攻击面和攻击者可攻击的数据。
此外,企业使用不同地点的本地化云环境可以更轻松地满足不同国家的数据主权和本地化要求。每个云环境都可以进行单独调整,可以使数据更接近最终用户的所在地。这是一个日益受到关注的问题,尤其是对于那些必须遵守不同国家不同法律法规的跨国公司而言。
企业在不断向基于云的环境转变,精心管理应用程序的位置变得越来越重要。不断发展和新兴起的云计算原则(例如混合云和多云、应用模块化和云原生架构标准化等等)可以成为支持分布式计算的基石。
企业可以通过正确的选择和在正确的技术方面投资优化自己的基于云的环境,并确保其应用程序的最佳性能和安全性。