为什么无服务器对DevOps有用?
DevOps加快了开发速度,同时减少了停机时间,为组织提供竞争优势,在功能和特性方面加快产品成熟度,并改善了客户体验。尽管其优点很吸引人,但采用DevOps既昂贵又费时。无服务器可以克服这种障碍,并以更低的成本和更高的回报支持DevOps解决方案的实施。
无服务器技术提供了按需付费的模式,使企业可以为使用的资源付费。例如,使用AWS Lambda,用户根据调用的次数和持续时间付费,从而有可能降低成本。功能即服务(FaaS)的成本可能会比容器还要昂贵,具体取决于流量体验。流量越高并且越一致,采用无服务器工具的成本就越高,并且这些成本可能高于容器的成本。
由于无服务器技术是可自动扩展和完全管理的,因此它使开发团队可以专注于实际为DevOps基础设施构建的业务逻辑,而不必花费大量时间来维护DevOps架构。
可用性和性能监控
诸如AWS Lambda或Azure Functions之类的功能即服务(FaaS)相对容易启动,可自动扩展且具有成本效益。这些功能可以对用户的服务进行API调用,而API调用可以由用户通过前端界面进行。这些定期检查可确保其服务连续可用,并且监视工具可以捕获生产环境中发生的任何故障,并对任何一个性能下降进行通知。监视工具的警报可以通过事件管理SaaS工具进行合并。
功能即服务(FaaS)的功能可用于自动可用性和性能检查。但是,无服务器事件总线将警报作为功能即服务(FaaS)功能的调用在整个DevOps基础设施中进行通信,从而降低了功能即服务(FaaS)的按需付费模型和自动扩展性的总体成本。
ChatOps改进DevOps流程
ChatOps是在GitHub上开发的一种对话驱动的聊天工具,允许用户在聊天工具中输入命令,以通过自定义脚本和插件启动持续集成(CI)/持续交付(CD)流程。其脚本的操作需要后端支持,这是无服务器技术可以支持的地方。
功能即服务(FaaS)使DevOps工程师能够简单地编写脚本以执行预期的操作,并将其上传,同时确保聊天工具可以调用它。这消除了繁琐的容器编排和网络设置。此外,仅在通过聊天机器人调用功能即服务(FaaS)时才会产生费用,而不是按小时计算费用。
无服务器增强持续集成(CI)/持续交付(CD)流程以实现连续部署
与ChatOps相似,无服务器可以用于增强持续集成(CI)/持续交付(CD)流程,但是与ChatOps不同,无服务器可以通过合并拉取请求以在生产环境中自动化整个过程。这也称为GitOps。
GitOps是Kubernetes集群管理和应用程序交付的一种方法。通过利用Kubernetes的聚合特性,Git推送可以触发持续交付(CD)。GitOps通过将Git用作声明性基础设施和应用程序的单一事实来源,从而允许Kubernetes集群管理和应用程序交付。使用Git作为交付管道的中心,开发人员可以加速拉取请求,并简化Kubernetes的应用程序部署和操作任务。
GitOps为基础设施和应用程序代码提供了“真理之源”,以进一步提高开发团队的速度。使之成为可能的工作流程从持续集成(CI)工具开始,将Docker映像推送到托管工具。然后,云计算功能将配置和Helm图表从主存储桶复制到主要Git repo。最后,GitOps操作人员根据配置图表更新集群,并通过Lambda功能提取Helm图表。
通过复制Helm图表,功能即服务(FaaS)可用于主要Git repo。功能即服务(FaaS)的功能易于设置且具有成本效益,这意味着DevOps工程师可以专注于GitOps基础设施的其他部分,并在这一过程中降低成本。
DevOps之路充满挑战,但无服务器可以提供帮助
无服务器通过其按需付费、自动可扩展性和完全管理的服务,可以降低DevOps采用的复杂性,从而使DevOps基础设施更高效和更具成本效益。从开发和测试到持续集成(CI)/持续交付(CD)和事件管理,无服务器技术可在整个DevOps堆栈中使用,以最佳成本运行,并且在开发速度和代码可靠性方面非常有效。
版权声明:本文为企业网D1Net编译,转载需注明出处为:企业网D1Net,如果不注明出处,企业网D1Net将保留追究其法律责任的权利。