毫不奇怪,云弹性是本世纪20年代IT界的热门词汇。确保抵御网络攻击和勒索软件勒索的弹性,以及从IT中断中快速恢复的能力,对于当今的组织来说是至关重要的。如果没有弹性的IT和应用基础设施,操作业务流程很容易发生故障。

所有大型云提供商都提供弹性服务和功能。然而,任何CIO或IT专业人员都不应认为将所有工作负载转移到云端就可以保证完全的弹性。云提供的是积木,而不是现成的童话城堡。相反,安全架构师和业务连续性管理专家必须巧妙地将功能和服务结合起来。

云弹性指南:最大限度地提高安全性,最大限度地减少停机时间

● 内部弹性着眼于应用或数据库崩溃的挑战,而不受外部事件或底层基础设施问题的影响,也不受其他组件的任何影响。
● 基础设施弹性解决底层硬件或技术层以及网络中的问题。
● 崩溃级联弹性旨在抑制多米诺骨牌效应,即一个应用的崩溃会影响其他应用。
● 网络攻击弹性,用于应对闯入数据中心云租户的外部攻击者。

场景一:内部弹性

内部弹性必须涵盖的主要风险是编码和配置错误、意外的数据排列以及峰值资源需求。在云中更容易实现工作负载峰值的弹性。首先,平台即服务(PaaS)包具有自动扩展功能。其次,在基础设施即服务(IaaS)云世界中,负载均衡器与虚拟机组相结合是一种易于实施的解决方案。这种方法通过根据需求扩展和缩小并用新虚拟机替换崩溃的虚拟机来保证始终有足够的虚拟机。

凭借如此强大的预防功能,经典的纠正模式将移至后台。提高编码、配置或数据排列问题弹性的主要预防措施是更多的测试和更好的软件设计。如果错误进入生产环境,导致崩溃,修复错误并重新部署代码是大学教科书的纠正措施。虽然重复崩溃是必要的,但重新启动应用是使应用恢复在线的即时战术措施。尽管应用团队应该调查频繁的崩溃,但规模集和类似的服务可以自动执行这些自我修复重新启动。最后,一如既往,恢复备份是最后一个选择,无论是配置、数据还是应用代码。

场景二:基础设施弹性

硬件或网络层的故障听起来像是20世纪80年代的问题,但如今仍然是一个问题。在IaaS领域,应用团队必须处理虚拟机和磁盘故障。手动重启是默认的恢复选项。但是,前面提到的ScaleSets以及类似的服务是云中的方便的预防措施,可以最大限度地减少中断的可能性。

对于存储账户、AmazonS3存储桶、DBaaS或Lambda函数等PaaS服务,该方法有所不同。许多企业提供各种冗余选项供客户选择。理想情况下,组织的云平台团队定义并强制执行生产环境的最低要求。然后,所有运营责任均由云提供商承担。

网络层有更多方面。客户决定如何在云之间以及本地数据中心和云之间建立连接。组织是否通过互联网或更可靠的GCP云互联服务与GCP连接?如果使用云互联,组织是依赖于一个网络运营商,还是与两个或更多的网络运营商合作?客户说了算。他们还设置了自己的路由和DNS服务。但是,它们完全依赖于云提供商提供的底层骨干网和数据中心内的连接。

场景三:崩溃级联恢复能力

崩溃级联弹性解决了一个应用程崩溃不应影响其他应用的必要性,从而导致多米诺骨牌式级联应用崩溃。例如,银行应确保核心银行系统中的问题不会影响ATM解决方案,该解决方案可以24/7实时批准全球客户的提款。然而,架构师和管理者必须明白,存在明显的局限性。

在这种情况下,弹性模式可以赢得一些时间,也许是五分钟、五个小时或五天。赌注是该应用会在对其他应用程序产生任何影响之前重新上线。与提款的例子一样,这种模式只能是临时解决方案。任何ATM应用都无法在不更新客户帐户余额和信用评分变化的情况下运行数周。

一种实现模式很简单,用于应用交互的异步集成模式,即批处理、消息队列和发布订阅。相比之下,API调用简直就是邪恶的。即使对方系统仅关闭一秒钟,或者应用必须实现复杂的故障处理逻辑,它们也会导致应用失败。异步集成模式只有一个重要的脚注。它们通常依赖消息传递中间件。该中间件的可用性对于整个应用环境至关重要。

最后,尽管云提供了即用型中间件并缓解了对不需要的直接应用间连接的限制,这迫使应用使用中间件网关,但云并不是这种弹性场景的游戏规则改变者。此外,针对级联崩溃的恢复能力是特定于应用的,甚至只是部分IT主题,更多的是业务设计主题。如果核心银行系统出现故障,企业是否允许ATM解决方案根据昨天的数据批准现金提取?如果ATM无法到达ATM解决方案,是否可以进行有限取款?只有业务部门与IT部门合作才能定义这样的业务逻辑,这对应用生态系统的整体稳定性做出了巨大贡献。

场景四:网络攻击弹性

抵御网络攻击是第四种也是最后一种情况。数十年来,网络安全专家和CISO一直致力于解决这个问题。因此,许多组织已经拥有成熟的工具和流程。

预防和检测网络攻击涉及系统强化、渗透测试、访问控制、恶意软件防护和入侵检测系统。与老式的本地世界相比,云具有客户可以快速激活的各种功能,从而加快了安全控制的实施速度。

对于遏制,存在两种互补的方法:区域隔离和E端点检测和响应(EDR)。EDR工具可隔离和隔离单个受感染的笔记本电脑、服务器和虚拟机。相比之下,分隔网络区域是一种防火墙方法,旨在通过关闭连接来防止横向移动。
因此,如果一家企业在澳大利亚的网络受到损害,他们就会切断与新加坡和瑞士网络区域的连接。然后,工程师清理澳大利亚的服务器,然后重新建立与新加坡和瑞士的连接。这是一种可靠的方法,但前提是应用和业务不太交织。

遏制之后是恢复,即从备份恢复攻击前的状态或使用CI/CD管道重新部署应用。然而,企业必须意识到攻击者了解备份并试图删除它们。因此,不可变的备份是必要的,即任何人都无法删除备份,甚至管理员也不能删除。更复杂的是,虽然遏制和恢复工具已经“成熟”,但非虚拟机工作负载的覆盖范围可能会受到限制。

结论

我们对四个关键场景的探索揭示了实现真正弹性IT和应用环境的多方面方法。虽然公共云在寻求冗余和快速激活安全工具时可以带来缓解,但防止多米诺骨牌式级联应用崩溃仍然需要单个应用架构来实现。他们的应用设计和业务流程决定了是否可以暂时与其他应用解耦,并保护它们免受外部崩溃的影响,这对于希望快速解决方案的管理者来说是一场噩梦,对于热爱应对真正挑战的雄心勃勃的架构师来说是一个梦想。