带你读《云原生架构白皮书2022新版》——DevOps(上)

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
性能测试 PTS,5000VUM额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 带你读《云原生架构白皮书2022新版》——DevOps(上)

DevOps


1、概述


DevOps 就是为了提高软件研发效率,快速应对变化,持续交付价值的的一系列理念和实践,其基本思想就是持续

部署(CD),让软件的构建、测试、发布能够更加快捷可靠,以尽量缩短系统变更从提交到最后安全部署到生产系统

的时间。

要实现持续部署(CD),就必须对业务进行端到端分析,把所有相关部门的操作统一考虑进行优化,利用所可用的技

术和方法,用一种理念来整合资源。DevOps 理念从提出到现在,已经深刻影响了软件开发过程。DevOps 提倡打

破开发、测试和运维之间的壁垒,利用技术手段实现各个软件开发环节的自动化甚至智能化,被证实对提高软件生产

质量、安全,缩短软件发布周期等都有非常明显的促进作用,也推动了 IT 技术的发展。


2、DevOps 原则


要实施 DevOps,需要遵循一些基本原则,这些原则被简写为 CAMS,是如下四个英文单词的缩写:

文化(Culture)

自动化(Automation)

度量(Measurement)

共享(Sharing)


下面我们分别来谈一谈这几个方面。

文化

自动化

度量

共享

谈到 DevOps,一般大家关注的都是技术和工具,但实际上要解决的核心问题是和业务、和人相关的问题。提高效率,

加强协作,就需要不同的团队之间更好的沟通。如果每个人能够更好的相互理解对方的目标和关切的对象,那么协作

的质量就可以明显的提高。


DevOps 实施中面对的首要矛盾在于不同团队的关注点完全不一样。运维人员希望系统运行可靠,所以系统稳定性

和安全性是第一位。而开发人员则想着如何尽快让新功能上线,实现创新和突破,为客户提供更大价值。不同的业务

视角,必然导致误会和摩擦,导致双方都觉得对方在阻挠自己完成工作。要实施 DevOps,就首先要让开发和运维

人员认识到他们的目标是一致的,只是工作岗位不同,需要共担责任。这就是 DevOps 需要首先在文化层面解决的

问题。只有解决了认知问题,才能打破不同团队之间的鸿沟,实现流程自动化,把大家的工作融合成一体。


DevOps 的持续集成的目标就是小步快跑,快速迭代,频繁发布。系统如果小,跑起来是很容易的。但一个大型系统,

往往牵涉几十人到几百人的合作,要让这个协作过程流畅运行,当然不是一件容易的事情。要把这个理念落实,就需

要规范化和流程化,让可以自动化的环节实现自动化。


实施 DevOps,首先就要分析已有的软件开发流程,尽量利用各种工具和平台,实现开发和发布过程的自动化。经

过多年的发展,业界已经有一套比较成熟的工具链可以参考和使用,不过具体落地还是需要因地制宜。


在自动化过程中,需要各种技术改造才能达到预期效果。例如如果容器镜像是为特定环境构建的,那么就无法实现镜

像的复用,不同环境的部署需要重新构建,浪费时间。这时就需要把环境特定的配置从镜像中剥离出来,用一个配置

管理系统来管理配置。


通过数据可以对每个活动和流程进行度量和分析,找到工作中存在的瓶颈和漏洞,以及对于危急的情况及时报警等。

通过分析,可以对团队工作和系统进行调整,让效率改进形成闭环。

度量首先要解决数据的准确性、完整性和及时性问题,其次要建立正确的分析指标。DevOps 过程考核的标准应该

鼓励团队更加注重工具的建设,自动化的加速和各个环节优化,这样才能最大可能发挥度量的作用。

要实现真正的协作,还需要团队在知识层面达成一致。通过共享知识,让团队共同进步:

可见度 visibility:让每个人可以了解团队其它人的工作。这样可以知道是否某一项工作会影响另一部分。

通过相互反馈,让问题尽早暴露。


image.png

image.png


《云原生架构白皮书2022新版》——主要云原生技术——DevOps(下) https://developer.aliyun.com/article/1232927


相关文章
|
1月前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
2月前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
1月前
|
监控 安全 API
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
本文详细介绍了PaliGemma2模型的微调流程及其在目标检测任务中的应用。PaliGemma2通过整合SigLIP-So400m视觉编码器与Gemma 2系列语言模型,实现了多模态数据的高效处理。文章涵盖了开发环境构建、数据集预处理、模型初始化与配置、数据加载系统实现、模型微调、推理与评估系统以及性能分析与优化策略等内容。特别强调了计算资源优化、训练过程监控和自动化优化流程的重要性,为机器学习工程师和研究人员提供了系统化的技术方案。
173 77
使用PaliGemma2构建多模态目标检测系统:从架构设计到性能优化的技术实践指南
|
2月前
|
存储 分布式计算 关系型数据库
架构/技术框架调研
本文介绍了微服务间事务处理、调用、大数据处理、分库分表、大文本存储及数据缓存的最优解决方案。重点讨论了Seata、Dubbo、Hadoop生态系统、MyCat、ShardingSphere、对象存储服务和Redis等技术,提供了详细的原理、应用场景和优缺点分析。
|
1天前
|
存储 缓存 关系型数据库
社交软件红包技术解密(六):微信红包系统的存储层架构演进实践
微信红包本质是小额资金在用户帐户流转,有发、抢、拆三大步骤。在这个过程中对事务有高要求,所以订单最终要基于传统的RDBMS,这方面是它的强项,最终订单的存储使用互联网行业最通用的MySQL数据库。支持事务、成熟稳定,我们的团队在MySQL上有长期技术积累。但是传统数据库的扩展性有局限,需要通过架构解决。
33 18
|
18天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
1月前
|
运维 Cloud Native 持续交付
云原生技术深度探索:重塑现代IT架构的无形之力####
本文深入剖析了云原生技术的核心概念、关键技术组件及其对现代IT架构变革的深远影响。通过实例解析,揭示云原生如何促进企业实现敏捷开发、弹性伸缩与成本优化,为数字化转型提供强有力的技术支撑。不同于传统综述,本摘要直接聚焦于云原生技术的价值本质,旨在为读者构建一个宏观且具体的技术蓝图。 ####
|
2月前
|
Cloud Native 持续交付 云计算
云原生技术在现代IT架构中的转型力量####
本文深入剖析了云原生技术的精髓,探讨其在现代IT架构转型中的关键作用与实践路径。通过具体案例分析,展示了云原生如何赋能企业实现更高效的资源利用、更快的迭代速度以及更强的系统稳定性,为读者提供了一套可借鉴的实施框架与策略。 ####
33 0
|
2月前
|
运维 Kubernetes Docker
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
82 1
|
2月前
|
监控 Java 微服务
从零构建微服务架构:一次深度技术探索之旅####
本文作为一篇深度技术分享,引领读者踏上自底向上搭建微服务架构的征途,旨在通过实战经验剖析,揭示微服务转型背后的技术挑战与解决方案。不同于常规摘要仅概述内容,本文摘要将直接以故事化手法,简述作者从单体应用困境出发,逐步迈向微服务化的心路历程,涵盖关键决策点、技术选型考量及实践收获,激发读者对微服务架构设计与实现的浓厚兴趣。 ####