事实表明,通过人工来扩展、调配和配置云计算资源通常会出现错误,从而影响业务的可用性或性能。那么其解决方案是什么?是云计算自动化。
以下将了解科技行业中最具影响力的一些云计算自动化用例。
什么是云计算自动化?
云计算服务让企业按需访问资源变得更容易,但却没有对其进行更好地管理。想象一下,企业必须自己配置虚拟机、创建虚拟机集群、设置虚拟网络以及管理可用性和性能。而采用自动化技术将会轻松完成所有这些任务。
云计算自动化是一组流程和工具,可以减少企业的IT团队在配置和管理云计算工作负载和服务上花费的精力和时间,并且可以将云计算自动化应用于私有云、公共云或混合云。
此外,人工进行云部署可能会产生一些安全漏洞,从而使企业的业务面临风险。而采用云计算自动化有助于降低基础设施和技术堆栈的可变性和复杂性。
事实上,如果希望DevOps发挥作用,需要采用基础设施即代码(IaC)、紧密的反馈循环和持续交付,而它们都依赖于自动化。
那么企业的IT团队如何实现自动化?使用在虚拟化环境之上运行的编排和自动化工具。
云计算自动化的好处是什么?
(1)减少IT基础设施费用
通过减少管理基于云计算运营的工作量,将会加快工作流程,甚至很轻松地执行这些流程。
更少的人工流程意味着更少的错误和更少的诊断和调试时间,以及企业的员工可以腾出更多的时间进行开发和创新。
(2)实现持续部署
持续部署背后的思想是自动化应用程序部署管道以实现更频繁的更新。致力构建平稳的持续部署流程并按照DevOps最佳实践工作的团队可以通过采用自动化工具获得很多好处,这些工具可以自动部署到基于云计算的环境。
(3)充分利用云计算基础设施
云计算自动化工具可以帮助团队充分利用云计算基础设施。它可以覆盖和影响许多领域,例如:
- 自动存储和备份。
- 安全和合规管理。
- 对配置和设置应用更改。
- 部署代码。
(4)提高安全性和弹性
采用自动化实施敏感任务是一种明智之举。这样不再需要工作人员登录关键任务系统,将显著降低人为错误和帐户泄露的风险。
将安全最佳实践构建到自动化工作流是在每个部署中强制执行安全原则的途径。
(5)增强备份过程
如果企业希望保护其系统免受从设备故障到网络攻击的风险,那么系统备份是必不可少的。为了提高业务的弹性,可以在云中自动备份或将内部部署系统自动备份到基于云计算的环境。
(6)将治理提升到新的水平
当团队人工或临时设置系统时,管理人员最终可能无法了解实际运行的内容。他们如何在没有可见性的情况下控制基础设施?
自动化能够以标准化的方式设置资源,让企业可以更好地控制基础设施。
云计算自动化vs.云编排:有什么区别?
云计算自动化和云编排都有助于构建有效的云计算战略,但它们并不是一回事。了解它们之间的区别及其目的至关重要。
云计算自动化是指使用云计算管理工具完成任务而无需任何人工工作。
人们正在讨论诸如配置服务器、备份数据,或识别和消除未使用的流程之类的任务。云计算自动化可以完成所有这些工作,而无需企业的团队投入任何时间或精力。
云编排是通过组织自动化任务来实现企业在云计算基础设施中的目标。其思想是将低级任务集合在一起来创建流程,然后在整个基础设施中协调它们,通常是跨多个系统或位置。
虽然云计算自动化定义了自动化的部署和管理任务,但云编排将这些定义的任务协调成一种战略方法,使企业更接近目标。
企业可以在没有编排的情况下实现自动化工作,但是将这两种技术结合起来会带来更好的结果。
展示其强大功能的云自动化用例
(1)自动调配云计算资源
为工作选择合适的虚拟机很困难,因为面临着许多具有独特参数的不同选择。那么如何知道哪一个具有最佳的成本与性能比?
企业可以将调整大小和自动扩展的任务委托给实例选择算法。每当集群需要额外节点时,它都能够选择满足企业的应用程序要求的最佳实例类型。而企业的工作负载将以最高性能和最低成本运行。
如果企业在负责自动配置的托管Kubernetes解决方案中运行应用程序,则其工作方式如下:
①应用程序在15:41开始遇到流量激增。Kubernetes解决方案会创建新的pod来处理它,但它们需要新的CPU内核。
②2分钟内,Kubernetes解决方案自动添加一个新的16核节点。
③而在15:45,应用程序中出现更多流量。该工具在一分钟内添加了一个额外的8核节点,以便应用程序可以处理流量。
④一旦流量消失,解决方案立即停用两个节点,以避免资源浪费。
(2)减缓云蔓延并避免浪费
云计算自动化解决方案可以关闭未使用的实例和流程,以降低云计算成本。失去对云部署实例的跟踪比人们想象的更常见:
许多团队面临着没有所有权的孤立实例,或者与云中的影子IT项目作斗争。这样的僵尸基础设施的示例仍处于激活状态并产生每月账单。
云计算自动化可以简化识别僵尸IT基础设施和解决问题的过程,以免在月底出现数额庞大的云账单。
(3)支持基础设施即代码(IaC)
建立基础设施即代码(IaC)是云计算自动化的另一个用例。在基础设施即代码(IaC) 中,IT基础设施在配置文件中定义,并根据该配置自动启动。这些配置文件经历与源代码相同的过程——它们需要保存在版本控制、管理、测试和开发中。
通过云计算自动化,企业可以将对几乎所有基础设施方面的控制扩展到云平台,从而允许编排更复杂的系统:
- 云计算自动化流程可以从资源池中提取并定义公共配置项(如虚拟机、容器或虚拟专用网络)。
- 接下来,可以将这些应用程序组件和服务加载到配置项中。
- 最后,可以组装它们以创建改进的操作环境。
以下是展示这个系统如何工作的一个示例。云计算自动化模板可以执行许多任务来使微服务应用程序正常工作:
①为应用创建多个容器。
②将组件加载到容器集群中。
③将存储和数据库结合起来。
④无缝配置虚拟网络。
⑤为集群创建负载均衡器。
⑥向用户开放工作量。
(4)加强应用开发和测试
持续交付和持续部署需要自动配置的开发/测试环境,这些环境是自动化开发管道的一部分。带有自动化工具的公共云是为持续交付管道提供服务的主要方法。
现代开发方法依赖于团队快速部署和扩展资源以测试新版本的能力。在测试结束之后,应该释放资源以供重用。带有自动化工具的公共云可以实现这一目标。
(5)让混合云发挥作用
混合云环境很复杂,它们需要内部部署设施和公共云之间进行集成。这就是云计算自动化可以提供帮助的地方。
自动化解决方案可以同步内部部署数据中心和云计算资源之间的资产,使“云爆发”成为可能。云爆发是当应用程序超过本地资源时将负载移动到云平台的过程。
在混合云中使用云计算自动化还将支持远程站点镜像本地环境的灾难恢复场景。
Kubernetes是云计算自动化吗?
如果企业正在使用Kubernetes,那么已经在自动化的应用中领先一步。当然,Kubernetes并不是自动化解决方案,因为它不会自动化正在使用的所有云计算资源。尽管如此,它仍然管理和编排可用于在云上运行几乎任何工作负载的容器。
为云计算自动化做好准备了吗?
云计算自动化可为企业的团队节省大量时间和精力。它更快、更可扩展、更安全,可以构建更可预测和更可靠的工作流程。
该技术正在兴起,而迄今为止的实施和报告表明,有效的自动化必将成为企业真正的力量倍增器。
那么是否使用自动化工具来配置、管理或扩展其云资源?是否打算尝试自动化运维流程?企业为此可以做出明智的选择。
原文标题:Cloud Automation in 2021: The New Normal in the Tech Industry,作者:Laurent Gil