DevOps:软件架构师行动指南1.3 DevOps视角

简介:

1.3 DevOps视角


一个重大的呼吁是缩短新功能推向市场的时间,减少部署过程中发生的错误,考虑到我们讨论的问题并且这些问题都存在已久,这种呼吁也就不足为奇了。DevOps有很多形式,是对现有实践不同程度的改编,但是各种不同形式都始终贯穿着两个主题:自动化及开发团队的职责。

1.3.1 自动化

图1-1显示了各种生命周期过程。从构建、测试到执行的步骤在某种程度上都可以实现自动化。我们将在适当的章节中讨论这些步骤中的每一步使用的工具,这里首先强调自动化的优点。在1.7节中讨论依赖于自动化的一些问题。

工具可以执行这个过程中每一步所需的操作,针对生产环境或者一些外部规格说明检查操作的有效性,把过程中发生的错误通知适当的人,并且保留操作历史,以用于质量控制、报告和审计等目的。

工具和脚本也可以强制推行组织层面的策略。假设组织有一项策略是,每个变更都要有与之相关的合理理由。那么在提交变更前,工具或脚本可以要求做变更的人提供理由。当然这个要求也可能被设法规避,但是让工具要求一个理由,将会增加对这个策略的符合度。

在工具成为一组过程的中心后,就必须对这些工具的使用进行管理。比如说,工具可以从脚本、配置变更或运维的终端调用。如果是复杂的终端命令,即使使用的只是几个命令,也建议把命令的使用脚本化。工具可以通过规格说明文件进行控制,例如Chef cookbooks或Amazon CloudFormation——今后还会有更多。脚本、配置文件和规格说明文件必须遵从与应用程序代码本身一样的质量控制。脚本和文件也应该进行版本控制,也应该进行错误检查。这个术语常常称为“基础设施即代码”(infrastructure-as-code)。

1.3.2 开发团队的职责

自动化将减少错误的发生,缩短部署时间。为了进一步缩短部署时间,考虑前面详细描述的运维人员的职责。如果开发团队接受DevOps的职责,即开发团队交付、支持并维护服务,那么因为所有所需的知识都保留在开发团队,所以向运维团队和支持人员转交知识也就少了。不需要转移知识也就省掉了部署过程中的大量协作步骤。

相关文章
|
2月前
|
Serverless 决策智能 UED
构建全天候自动化智能导购助手:从部署者的视角审视Multi-Agent架构解决方案
在构建基于多代理系统(Multi-Agent System, MAS)的智能导购助手过程中,作为部署者,我体验到了从初步接触到深入理解再到实际应用的一系列步骤。整个部署过程得到了充分的引导和支持,文档详尽全面,使得部署顺利完成,未遇到明显的报错或异常情况。尽管初次尝试时对某些复杂配置环节需反复确认,但整体流程顺畅。
|
4月前
|
监控 网络协议 安全
DNS服务器故障不容小觑,从应急视角谈DNS架构
DNS服务器故障不容小觑,从应急视角谈DNS架构
97 4
|
4月前
|
Kubernetes 持续交付 Docker
探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
【10月更文挑战第18天】探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
140 2
|
9月前
|
API 持续交付 开发者
构建高效微服务架构:后端开发的新视角
【5月更文挑战第8天】 随着现代软件开发的演变,微服务架构已经成为了企业追求敏捷、可扩展和灵活部署的重要解决方案。本文将深入探讨如何构建一个高效的微服务架构,包括关键的设计原则、技术栈选择以及持续集成与部署的最佳实践。我们还将讨论微服务带来的挑战,如数据一致性、服务发现和网络延迟,并提出相应的解决策略。通过本文,后端开发者将获得构建和维护微服务系统所需的深度知识,并了解如何在不断变化的技术环境中保持系统的健壮性和可维护性。
90 8
|
4月前
|
设计模式 测试技术 持续交付
架构视角下的NHibernate:设计模式与企业级应用考量
【10月更文挑战第13天】随着软件开发向更复杂、更大规模的应用转变,数据访问层的设计变得尤为重要。NHibernate作为一个成熟的对象关系映射(ORM)框架,为企业级.NET应用程序提供了强大的支持。本文旨在为有一定经验的开发者提供一个全面的指南,介绍如何在架构层面有效地使用NHibernate,并结合领域驱动设计(DDD)原则来构建既强大又易于维护的数据层。
58 2
|
8月前
|
人工智能 Cloud Native Java
从云原生视角看 AI 原生应用架构的实践
本文核心观点: • 基于大模型的 AI 原生应用将越来越多,容器和微服务为代表的云原生技术将加速渗透传统业务。 • API 是 AI 原生应用的一等公民,并引入了更多流量,催生企业新的生命力和想象空间。 • AI 原生应用对网关的需求超越了传统的路由和负载均衡功能,承载了更大的 AI 工程化使命。 • AI Infra 的一致性架构至关重要,API 网关、消息队列、可观测是 AI Infra 的重要组成。
51631 34
|
5月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
284 3
|
8月前
|
消息中间件 Java 开发者
微服务架构设计与实现:Java开发者视角
微服务架构设计与实现:Java开发者视角
|
7月前
|
缓存 Devops 微服务
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
微服务01好处,随着代码越多耦合度越多,升级维护困难,微服务技术栈,异步通信技术,缓存技术,DevOps技术,搜索技术,单体架构,分布式架构将业务功能进行拆分,部署时费劲,集连失败如何解决
|
9月前
|
监控 Devops API
构建高效微服务架构:API网关的作用与实践构建高效稳定的云基础设施:DevOps与容器化技术融合实践
【5月更文挑战第28天】 在当今的软件开发领域,微服务架构因其灵活性、可扩展性和容错能力而备受推崇。本文将深入探讨API网关在构建微服务系统中的关键角色,包括它如何促进系统的高可用性、安全性和性能监控。我们将剖析API网关的核心组件,并借助具体实例展示如何实现一个高效的API网关来服务于复杂的微服务环境。 【5月更文挑战第28天】 随着企业数字化转型的深入,传统的IT运维模式已难以满足快速迭代和持续交付的需求。本文聚焦于如何通过融合DevOps理念与容器化技术来构建一个高效、稳定且可扩展的云基础设施。我们将探讨持续集成/持续部署(CI/CD)流程的优化、基于微服务架构的容器化部署以及自动化监