企业正在探索如何在不影响可靠性、安全性或性能的情况下跨数据中心、公共云和边缘的任意组合交付应用程序。 |
从应用程序到其运行的基础设施, IT 现实都是分布式和异构的。企业正在探索如何在不影响可靠性、安全性或性能的情况下跨数据中心、公共云和边缘的任意组合交付应用程序。
那么加速业务创新的最佳途径是什么?企业如何才能更快地交付应用程序和服务以改善客户体验?是否有可能在避免过去放慢部署速度的权衡的同时最大限度地发挥云计算的优势?
对多云的采用确实在加速,但将运营扩展到数据中心或单一云服务提供商之外的相关挑战也在加速。在 Canonical 赞助的一项调查中,1200 名受访者中有近 78% 的人表示,他们的组织在生产中至少有一个混合或多云用例。
据 Canonical 报道,当团队考虑软件即服务 (SaaS) 或第三方托管服务时(这些服务超出了他们直接管理的范围),这个数字可能会更高。然而,接受调查的DevOps团队成员发现了管理各种裸机、虚拟机和 Kubernetes 技术的新挑战。
学习在这种情况下有效管理运营是一项关键挑战,研究表明,企业正在寻求通过应用程序而不是配置管理来提高自动化程度。
调查显示,30% 的受访者表示,试用操作员在其组织的“待办事项清单”上,其中 17% 的人在试用它们,14% 的人在生产中使用它们。
本文探讨了不断增长的多云趋势对 DevOps 团队的更广泛影响,因为组织为应用程序交付和 DevOps 的演进方法奠定了基础。
1、多云入门虽然多云计算对于 DevOps 的成功将变得越来越重要,但也不要被它的潜力所迷惑以至于我们错过了大局。移动太快总是有出错的可能性。
更好的做法是,关注多云如何不仅能改善运营,而且满足特定的业务目标。使用多云环境必须在业务、产出和生产力方面提供实实在在的好处,以确保我们一开始就不会忘记我们正在尝试做的事情。
关于应用现代化的话题,企业要真正关注应用程序的不同维度。考虑投资回报率并采取严格的方法 。这是一门不断发展的艺术,旨在让拥抱多云成为可能。
在将运营扩展到多云环境时,DevOps 团队不应该不必要地引入复杂性,这些复杂性可能会阻碍应用程序交付或限制用户体验。随着企业寻求跨不同类型的网络基础设施和跨多云环境交付应用程序和服务,挑战变得更大。
VMware 首席执行官Raghu Raghuram在 10 月的VMworld 上表示:随着多云的优势,挑战也随之而来,企业架构更加分散,其工作负载更加多样化,而且是云原生的,更多的应用部署在边缘环境中。
当在不同的云上运行时,每个云都有自己孤立的工具和系统,这使得管理、连接和保护在上面运行的应用程序变得更加困难。
事实上,一个企业的多云环境应用交付是否可行必须从支持和优化业务的角度来看待,大型企业的产品线可能依赖于不同的云。但是,这并不意味着同一个应用程序可以在多个云中运行,即使该企业仍然是多云的。 在这种情况下,云选择需要仔细匹配特定应用程序和支持它们的团队的特定需求。
为了实现进一步的增长和简化,产品需要以更少的客户工作量提供更多的价值,这就是“即服务”产品在当前形势下表现如此出色的原因。
2、Kubernetes 和多云大多数企业(根据 Canonical 调查显示,接近 46%)尚未在生产中使用容器编排器 Kubernetes。然而,DevOps 团队开始利用 Kubernetes 分布式架构来更好地管理多云操作的用例已经开始出现。
将服务网格与 Kubernetes 一起使用可以支持复杂的多云基础架构。
使用 VMware 的 Tanzu for Kubernetes,可以选择与多个云并行的本地部署、云用户和 DevOps 社区的从业者。
虽然 Kubernetes可以解决多云方面的一些挑战,但事实是,在多个地方管理基础设施比在一个地方管理它更难,进入多云世界需要直面这一事实,并在努力将成本降至最低的同时仍然接受它永远存在。
3、为在边缘工作的 DevOps 提供服务随着 DevOps 团队的工作扩展到多云环境,为 DevOps 团队提供服务的公司开始考虑如何更好地满足这些团队的要求。
例如,Kubernetes 平台领域的领导者 VMware 公开将其未来与服务多云客户联系在一起,最近推出了VMware Edge,以帮助简化跨多个云和位置的边缘部署管理。
VMware Edge 由虚拟机和基于容器的堆栈组成,它为 DevOps 团队提供了在远端管理和保护边缘原生应用程序的能力(VMware 将“远端”定义为位于客户场所的设备和数据)。
VMworld 的 VMware 服务提供商和边缘部门高级副总裁兼总经理Sanjay Uppal表示,“这个堆栈可以容纳实时工作负载,一直到蜂窝站点基站所需的微秒级,但它也可以在单个域或单个企业的环境中运行,跨越数万到数十万个位置。”
VMware Edge 只是 VMware 抽象多云管理复杂性目标的一种体现。
虽然 DevOps 运营团队需要为多云基础设施奠定基础,但理想情况下,开发人员不应担心他们的应用程序是否部署在多云环境中,甚至不用担心它们是否会在容器环境或 Kubernetes 环境中运行。
在将应用程序投入生产时,开发人员绝对不应该关心他们在多云系统中使用的 Kubernetes 风格——这可能有助于澄清抽象应该放在哪里。
4、面对技能差距挑战多云可以提高应用程序的交付范围——例如,通过满足本地化和分散的边缘用例的需求——但它不应该做的是减慢开发周期。例如,满足多云环境的快速部署节奏需要比传统生产管道所需的更多的内部专业知识和自动化。
加利福尼亚州圣何塞的数字化转型和安全运营公司 Netenrich 的首席战略官Rich Lane表示,帮助减少多云基础设施部署所需技能的一种方法是投资基础设施即代码 (IaC) 工具。
“这是处理多个云提供商的复杂性的唯一方法,因为它们都有自己的管理和部署分类法,”Lane 表示。“当自动化可用时,DevOps 团队不希望因*采取手动操作进行扩展而受到阻碍。”
5、在多云中保持应用安全云原生网络安全服务提供商 Valtix 的首席执行官Douglas Murray表示,对于任何环境来说,安全始终是一种威胁,当操作扩展到多个云时尤其具有挑战性。
“从历史上看,多云的最大障碍之一就是安全性,”Douglas Murray表示。“每个云都有一个专有的安全堆栈,企业没有能力处理每个云所需的学习曲线。”
“为了实现多云的承诺,企业需要能够将防火墙、入侵防御和跨每个云的流量监控等关键安全功能抽象到单个策略平面中的解决方案。”
例如, 9 月的亚马逊网络服务 (AWS) 中断事件表明,客户原本可以通过跨多云扩展运营来降低风险,那么从理论上讲,依赖 AWS 作为其唯一云提供商的客户本可以避免服务中断。
然而,在实践中,大规模客户中断仍然发生在拥有多云业务的大公司中,例如 Netflix。安全公司创始人兼首席执行官Archie Agarwal表示,最近这些备受瞩目的宕机事件以及多云所代表的更广泛的安全攻击载体,显示出企业对自己应用程序的复杂性没有一个明确的把握。
很少有人或团队了解跨多云环境的整个应用程序、系统或设备的威胁情况。企业需要更好地了解他们的系统是如何工作的,以及架构可能容易受到哪些类型的威胁。
因此,安全应该“左移”并从开发过程的一开始就启动。
事后重新设计安全性比从一开始就将其融入设计和构建中更具挑战性和资源密集型。
尽管存在相关挑战,但多云为企业提供的服务还是很有前景的。在避免过去拖累 DevOps 团队的权衡取舍的同时,最大化多云优势已经成为可能。
当企业转向云优先的视角时,他们可以通过利用广泛的云原生平台来实现安全、运营和其他功能,从而实现多云敏捷性。当企业坚持使用转移到云上的传统数据中心工具时,业务敏捷性会降低,成本会上升。
本文地址:https://www.linuxprobe.com/linux-devops-swift.html