如何降低云计算基础设施复杂度?
云计算的应用浪潮已然席卷全球,而且速度有增无减。根据 Flexera 的《2020 年云计算现状年度报告》,93% 的受访者使用多云或混合云战略。将计算资源作为一种服务提供出来为企业带来了极大的灵活性,这使得他们可以控制成本,并专注于核心业务需求,而不是数据中心的运营。
多年来,随着高带宽的普及,计算领域不断发展,各种服务和定价模式不断增加。由于供应商不仅提供基本的计算能力,而且还提供平台即服务的替代方案和高度专业化的服务,如数据存储和机器学习,因此,消费者实现最佳成本或最佳方式的复杂性也在不断增加。
不过,也许有人会说,这种显而易见的复杂性是选择多样化的结果,而实际上,就个别应用来说,总体复杂性可能会降低。本文探讨了导致云计算基础设施复杂性的不同方面,以及缓解这种复杂性的方法。
要有效地利用云资源,只是简单地将现有的企业内部应用程序转移到一个最喜欢的云平台上,是远远不够的。通常情况下,根据云服务的可用性重新考虑架构可以大大简化设计和运营。毕竟,免除运营之苦是云计算的一个主要好处。例如,以前需要一个高可用数据库集群的应用可以转变为数据库即服务(DBaaS)客户端,免除了运维数据库的负担。因此,妥善利用云服务和技术有可能降低整体(架构和运营)的复杂性,至少对单个平台来说是如此。
与简单的重新托管相对应的是云原生转换。云原生方法,通常与容器化应用程序相关,从根本上考虑到了云的灵活性。应用程序被分解成服务,每个服务都有自己的生命周期、API 和相关语义、容错性和可扩展性。通常,向云原生的转变是一个漫长的过程。这意味着工作负载管理的潜在复杂性,这些工作负载同时横跨了传统的企业内部应用、云托管服务和云原生工作负载(包括企业内部和外部)。
使多 / 混合云应用复杂化的其他因素包括:
安全性:每朵云都有自己的安全规范,它们可能得与其他云相融合,特别是对于跨云应用。将应用程序放在多朵云上需要了解这些安全规范,因为基于云的工作负载将暴露在本地场景中不存在的威胁之下。 API:每朵云都有自己的 API,有自己的名词和动词。在不同的云上,即使是表面上相同的云资源(如镜像或实例)也可能有微妙的语义差异。 日志:在分布式环境中,通过操作日志提供可见性和诊断信息至关重要。从多个平台上收集和整合日志信息可能会非常复杂。日志对于安全审计也至关重要。
确实,世界各地的组织都在与复杂的多云环境做斗争,然而,这种复杂性并非不可避免。为了证实这种全球性斗争的存在,企业战略集团最近做了一次 全球调查,调查对象是使用公有云基础设施和现代化企业内部私有云环境的 1257 名企业和中型市场组织的 IT 决策者。结果显示,随着时间的推移,云计算碎片化的情况越来越严重,而且有许多公司正在寻求一个 "救世主 "工具集,他们希望可以获得政策、合规性、安全性和成本优化方面全面而详尽的视图。
该调查有一个意料之中的结果,那就是云管有明确的价值——然而,即使知道有价值,企业在实施时也会陷入挣扎。仅有 5% 的企业广泛使用了综合云管工具,在企业内部,或跨公有和 / 或私有云。尽管像 VMWare VRealize Suite、Flexera CMP、Cloudbolt 等一体式解决方案市场正在蓬勃发展。
对于许多公司来说,利用云资源并不在其战略中,而只是个别团队用来满足需求的临时解决方案。这种无序地迁移上云的做法导致了技术孤岛,并且由于引入了大量的脚本、工具、技术和标准而扩大了整体的复杂性。为了摆脱这种复杂性的陷阱,企业最好采用一种由灵活的自动化平台支撑的云战略,它不会浪费沉没投资,但可以提供一条路,让你走向更易于管理和具有成本效益的未来。
对于任何具有相当规模的组织来说,云战略的设计和执行需要许多业务职能部门和团体的协调与合作。这包括财务、产品管理、销售、工程、运营等领域,也可能包括其他领域。如果没有支持和合作,无论制定什么样的战略都不可能成功。关键是沟通,以建立信任,了解目标,并构建一个让未来更美好的愿景。这种沟通需要持续进行,而不仅仅是这个过程中的一个步骤。
公司对当前的云基础设施使用情况没有全面的了解,这种情况很普遍。云的使用往往是以被动的方式在组织内部呈孤岛式发展。制定一个全面的战略至关重要,最好是在可能的情况下打破这些孤岛,提高安全性,并控制成本。 如果不了解当前的使用情况,制定的任何战略都是不现实的,也不可能成功。
有了审计数据,就可以开始计划了。像战争一样,很少有计划能在与敌人的接触中长期执行下去。因此,计划要进行迭代。
云战略的基础是基本的业务目标,这就需要选择云平台,可以是公有的、私有的或混合的。对于这一部分战略,并没有一本书介绍标准的规则,但需要仔细考虑可用性、可扩展性、安全性、区域覆盖、性能和成本等要求。请记住,这些都是初步选择,任何战略都应该在其架构中实现一定程度的云无关性。
计划成功的关键是尽可能地推迟破坏。因此,早期的关键是采用对战略成功具有基础意义的技术。注意,工具的选择可能会受到云平台选择的影响。在多云战略中,这个基础层是自动化技术,可以帮助我们减少和管理采用多个平台所固有的复杂性。受这种选择影响最大的群体需要深入参与到工具的选择过程。
云无关的自动化可以提供一个走出技术丛林的途径,提供集中控制和可重复、可版本化的流程(即基础设施即代码)。理想情况下,自动化平台能够通过一个支持良好的 API 直接集成 CI/CD 工具和运营 / 业务支持系统(OSS/BSS)。这样的平台可以跨多朵云以及 Openstack 或 VSphere 等本地系统 / 云进行部署、恢复和扩展。基础设施即代码方法让我们可以敏捷、渐进地开发自动化的详细内容。
通过这种方式,复杂的自动化可以收敛到最佳效能,同时又可以避免相关的安全审查造成妨碍。一个合格的平台还将支持操作事件的日志聚合,并提供跨多朵云和本地编排和探索应用日志聚合的能力。
一家公司,如果希望根据服务质量和 / 或成本进行优化,也将面临复杂的挑战,尤其是当它将保持一定程度的云独立作为一个优先考虑的事项。在这里,多云自动化平台 也可以简化管理不同云平台的工作,以利用它们各自的性能、安全、服务或成本特性。先进的自动化可以将工作负载放在目前最合理的地方,并根据情况的变化进行调整。
一旦选好了自动化工具,就可以将流程和最佳实践落实到位。这个过程包括设计云访问和使用控制,这对公有云的成本控制至关重要。在这一阶段,员工可以接受培训,并获得构建自动化的经验,以支撑其运营。除了工程运营,在这一阶段,公司的其他职能部门可以熟悉自动化工具和云平台所暴露的信息,并纳入他们的工作职能。在这一阶段,可以设计端到端系统的原型,整合从销售和服务订购到服务交付、治理和报表等的功能。
这个过程的最后一步是实际实施。如前所述,"大爆炸 "式的推广非常不可能(也非常不可取)。一个更好的方法是选择其中一个筒仓来首先采用新系统,总结经验教训,进行完善,并选取下一个筒仓重复这一过程。
向未来多云 / 混合云的数字化转型是一个充满了希望和危险的过程。云模式所带来的优势可能被其所带来的复杂性所抵消(或更糟)。采用一个灵活的、云中立的自动化平台可以通过提供一个基础设施即代码的方法来管理这种复杂性,并允许重用现有的自动化资产。自动化开发的增量方法,搭配审查自动化模板正确性和安全合规性的流程,可以最大化采用多云的好处,同时将风险降到最低。
Nati Shalom 是 Cloudify 的创始人兼首席技术官。Cloudify 是一个开源的多云编排平台,具有独特的 "环境即服务 "技术,有能力连接、自动化和管理整个应用程序管道中新的和现有的基础设施和网络环境。Nati 是云计算、大数据、开源等领域的思想领袖。他多次获得了《CIO 杂志》、YCombinator 等出版物的认可,同时他还是 OpenStack 和 DevOps 以色列群组的负责人之一。
来源:全栈云技术架构
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧
转载申明:转载本号文章请注明作者和来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。
推荐阅读
更多架构相关技术总结请参考“架构师全店铺技术资料打包”相关电子书(37本技术资料打包汇总详情可通过“阅读原文”获取)。
内容持续更新,现下单“全店铺技术资料打包(全)”,后续可享全店更新“免费”赠阅,价格仅收198元(原总价350元)。
温馨提示:
扫描二维码关注公众号,点击阅读原文链接获取“IT技术全店资料打包汇总(全)”电子书资料详情。