如果工作负载的架构是可移植的,那么使用哪家云提供商并不重要。在设计时要考虑到可移植性和标准化,首先要确定供应商锁定点或云供应商可能阻止您转移到其他供应商的地方。
例如,围绕 Kubernetes 这样的系统进行设计并不总是足够的。想想 Kubernetes 集群可能与之交互或需要与之交互的其他系统。评估这些需求,并使用开源解决方案和核心云基础设施基元设计您的架构,您可以在任何云提供商处找到这些解决方案和基元。
关注标准应用程序接口,确保应用程序与其他系统的兼容性。对于使用同步(请求/响应)通信的组件,从 RESTful API 开始。它们之所以受欢迎,是因为使用了 HTTP 这一最常见、支持最广泛的协议。虽然其他协议层出不穷,而且在视频流等方面也会不断出现,但能坚持下来的都是基于 HTTP 的协议。
采用微服务或容器的模块化设计可将应用程序分解为更小、更易于管理的组件,从而更容易根据需要添加或删除功能,并使应用程序更具灵活性和可扩展性。云原生方法的优势在于,它提供了一个更新和替换这些组件的高效流程,而不会影响整个工作负载。
一旦有了便携式架构,如何从管理的角度使其不至于不堪重负?自动化可以简化和精简应用程序的部署和管理。使用持续集成/持续部署(CI/CD)管道和基础设施即代码(IaC)工具。
声明式部署方法允许您对工作负载的每个部分进行编码:应用程序、软件、系统配置以及在开发、暂存和生产环境中运行的所有内容。因此,您可以在一个新的云上快速启动、故障转移,或在另一个云提供商上突然启动。有了一个完全代码化且版本化的环境,您就有了关于一切是如何设置的文件记录,您就有了一个透明的历史记录,记录了所有的更改以及对其进行更改的每个人。
当然,我们还必须牢记安全性。遵循这种可移植性的途径,你就能制定出更标准的安全方法,消除 "设置好就不管了 "的危险心态。我经常看到这种情况。你在虚拟私有云(VPC)中部署了一个工作负载,并认为它是安全的。
在同样的 "一切皆代码 "方法中,我们实现了可移植的标准化架构;您的安全态势的各个方面也可以标准化和代码化。除了自动反馈循环、漏洞测试等 DevSecOps 实践外,还可以考虑访问控制策略和加固的配置模板--这些策略和模板可以不受底层平台的影响,因此可以确保跨环境资源的一致性。这种安全方法可以发挥巨大的威力,尤其是当您可以将应用程序放到任何云提供商上时。能够拾起您的工作负载并将其移动,是灾难恢复的坚实防御策略。
便携式架构的优势
可移植的云架构可提供灵活性、成本优化、弹性、可扩展性和改进的部署实践。它使您能够根据自己的需求选择最佳的云计算解决方案,避免被供应商锁定,并快速适应不断变化的要求或市场条件。您还可以
- 提高可用性:便携式架构可确保在多个云平台上轻松部署应用程序,从而降低因特定平台问题而导致停机的风险。
- 提高敏捷性: 云原生架构使开发人员能够快速迭代和部署新特性和功能,缩短上市时间并提高竞争力。
- 提高安全性:便携式架构使应用程序和基础架构组件的安全性更加一致,加密和身份管理等安全功能被集成到架构中,而不是依赖平台功能。
- 增强复原力:便携式架构可确保应用程序在硬件和软件出现故障时仍能正常运行,而不会中断或丢失数据。
- 更易于管理: 便携式架构可使应用程序得到更有效的管理,其监控、自动化和协调工具可在多个云平台上使用。
- 提高创新能力:便携式架构使企业能够利用人工智能和机器学习等新兴技术,创建创新的新应用和服务。
注释