23

无服务器技术如何实现最佳的DevOps实践

 3 years ago
source link: http://os.51cto.com/art/202009/626331.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

eMrEFrI.jpg!mobile

【51CTO.com快译】日益激烈的市场竞争和不断增长的客户期望促进企业业务的发展。与此同时,采用DevOps对一些企业来说可能是一个挑战,因为它包括调整实践和更新基础设施。尽管工程资源可能很少,但是无服务器提供了解决DevOps挑战的解决方案。从改进的物联网设备到经济高效的机器学习应用程序,无服务器生态系统正在促进企业采用DevOps。

为什么无服务器对DevOps有利?

DevOps加快了企业开发速度,同时减少停机时间,从而为企业提供了竞争优势,在特性和功能方面加快了产品成熟度,并改善了客户体验。尽管DevOps具有吸引人的优点,但采用DevOps成本高昂并且耗时。无服务器能够以更低的成本和更高的回报克服障碍,并支持DevOps解决方案的实施。

无服务器技术提供了一种按需付费模式,允许企业为使用的资源付费。例如使用AWS Lambda,企业可以根据调用的次数和持续时间支付费用,从而有可能降低成本。功能即服务(FaaS)的价格可能会比容器更昂贵,具体取决于流量体验。流量越高,一致性越强,无服务器工具的成本就越高,并且这些成本可能会比容器成本上升得更高。

由于无服务器技术具有自动扩展性和完全可管理性,它允许团队专注于DevOps基础设施实际构建的业务逻辑,而不必花费大量时间来维护DevOps架构。

可用性和性能监控

诸如AWS Lambda或Azure Functions之类的功能即服务(FaaS)相对容易启动,可以自动扩展且具有成本效益。这些可以对企业的服务进行API调用,而API调用可以由用户通过前端接口进行。这些定期检查可确保其服务连续可用,并且监视工具可以捕获生产环境中发生的任何故障,以通知任何性能下降。用户可以通过事件管理软件即服务(SaaS)工具整合来自监视工具的警报。

功能即服务(FaaS)可用于自动可用性和性能检查。然而,无服务器的事件总线将警报作为功能即服务(FaaS)功能的调用在整个DevOps基础设施中进行通信,从而降低了功能即服务(FaaS)功能的按需付费模型和自动扩展性的总体成本。

ChatOps改进DevOps流程

在GitHub开发的ChatOps是一个对话驱动的开发程序,允许用户在聊天工具中输入命令,通过自定义脚本和插件启动持续集成(CI)/持续部署(CD)过程。脚本的操作需要后端支持,这是无服务器技术可以提供支持的地方。

功能即服务(FaaS)功能使DevOps工程师能够简单地编写脚本以执行预期的操作,并将其上传到功能中,同时确保聊天工具可以调用它。这消除了繁琐的容器编排和网络设置。此外,只有在通过聊天机器人调用功能即服务(FaaS)功能时才会产生成本,而不是按小时计算。

无服务器增强了持续集成(CI)/持续部署(CD)流程以实现连续部署

与ChatOps相似,无服务器可用于增强持续集成(CI)/持续部署(CD)流程,但与ChatOps不同,无服务器可通过合并拉出请求以在生产环境中实现自动化整个过程。这称之为GitOps。

由Weaveworks构思的GitOps是Kubernetes集群管理和应用交付的一种方法。通过利用Kubernetes的聚合特性,Git推送触发了连续交付。GitOps允许Kubernetes集群管理和应用程序交付,使用Git作为声明性基础设施和应用程序的唯一真实来源。由于Git是交付管道的中心,开发人员可以加速拉取请求,并简化Kubernetes的应用程序部署和操作任务。

GitOps为基础设施和应用程序代码提供了“真相来源”,以进一步提高开发团队的速度。使这成为可能的工作流从持续集成(CI)工具开始,将Docker映像推送到托管工具。然后云计算功能将配置图和Helm图从主存储桶复制到主要的Git repo。最后,GitOps操作人员通过Lambda功能提取Helm图表。

通过复制Helm图,可以将功能即服务(FaaS)功能用于主要Git repo。功能即服务(FaaS)功能易于设置且具有成本效益,这意味着DevOps工程师可以专注于GitOps基础设施的其他部分,并在这一过程中降低成本。

DevOps之路充满挑战,但无服务器可以提供帮助

无服务器可通过按需付费、自动扩展、完全托管的服务来减轻DevOps采用的复杂性,从而使DevOps基础设施更高效、更具成本效益。从开发和测试到持续集成(CI)/持续部署(CD)和事件管理,无服务器技术可在整个DevOps堆栈中使用,以最佳成本运行,并且在开发速度和代码可靠性方面非常有效。

原文标题:How Serverless Technologies Can Achieve Optimal DevOps Practices,原文作者:Sarjeel Yusuf

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK