当前位置:网站首页>云原生 Dev0ps 实践
云原生 Dev0ps 实践
2022-08-03 10:56:00 【51CTO】
云原生 DevOps 落地实践过程中,从手工、工具化、自动化进而到全链路自运维体系,这种自动化的DevOps 可以实现更短的业务迭代周期、更稳固的交付质量、更优化的资源成本、更好的用户体验。云原生 DevOps 的步骤建议:
1)架构升级Service Mesh 化尝试
需要综合评估自身的架构特性,选择合适的业务和应用进行架构升级,并进行 Service Mesh 化的初步尝试。将更多的服务治理下沉到Service Mesh,比如日志采集、监控埋点、链路追踪等,这个过程中Sidecar和容器通过不同的进程部署在Pod中,在下沉Sidecar 的过程,可以循序渐进,逐步将应用进行精简。
2)架构升级逐步解耦CI/CD过程
一个微服务的构建过程包括多个环节,比如开发、测试、构建、发布、运维等,而云原生的本质是让这个过程尽量更快,尽量让业务应用来独立操作整个过程,提高研发效率。如果这个过程依赖其他业务应用的改动,则会使得整个过程的集成测试和沟通协同成本变高,解决这个问题可以从业务和技术两方面进行尝试。一方面,从技术角度可以从进程通信来入手,比如同一个容器同一进程中,通过函数调用通信;同一个Pod中不同容器,通过IPC 通信;同一个网络中,通过 RPC 通信。另一方面,从业务角度需要从业务架构和应用架构着手,让应用和服务的划分更合理,减少它们之间的耦合和依赖。
3)运维升级laC 和 Git0ps
从运维角度,在 DevOps 中需要考虑很多针对业务的不同配置,这些配置的维护和管理通常比较棘手,传统的基于控制台方式的维护成本很高。在云原生中,laC 和 GitOps 是非常好的解决方法,每个应用有一个 laC 仓库,保存应用镜像及所有相关的配置信息,GitOps 自动检测 IaC 的变化,自动翻译为符合 0AM 规范的配置,然后推到对应的环境上。同时,开发和运维人员可以以 laC 代码为契约,来明确每次发布的一致性和完整性。
4)资源升级Serverless 尝试
在企业应用上云后,使用的资源种类越来越多,操作和维护成本也变得越来越高。
在云原生中,可以利用自动分配、声明式描述、按需使用等原则,我们需要进一步简化应用资源的使用。这个过程可以结合 laC 中资源的定义,以及使用 Serverless 相关的特性,实现资源的智能管理和按需使用,并通过一些弹性策略来通过一些通用的标准协议,提高自动化资源弹性的申请和分配。
5)Dev0ps 进阶全流程自动化
从 DevOps 全流程角度,进行自动化的端到端尝试,进一步通过 CI/CD 的各种技术来简化整个流水线过程,并进一步构建企业特有的 DevOps 体系。在这个过程中,可以进一步规范化和自动化,全流程自动化 DevOps 进阶如下图所示:
●研发侧∶面向应用的,结合应用架构及企业组织协同文化,构建环境管理、代码扫描、提交工作流等方面的自动化。
● 测试侧∶需要基于自动化测试的理念,从用例构建、集成测试、性能测试、用例回放、智能测试能力方面进行自动化建设。
● 发布侧∶需要对各种开发、测试、生产环境进行自动化管理,同时针对相应的版本管理、灰度能力、回滚能力、自动发布能力进行重点建设。
● 运维侧∶需要结合云原生的自动化运维体系,在问题自动定位、容灾切流、自动恢复、热修复、APM,并结合传统的 Metrics、Tracing、Logging 的基础之上,构建成熟的故障发现、定位、处理的稳定性体系。
●运营侧∶为了完成 Dev0ps 的能力闭环,需要关注最终用户的反馈,用户行为数据采集、自动终端埋点、相关的售后体系、基于业务的可视化分析度量等都是运营阶段要思考的问题。
边栏推荐
- [华为云在线课程][SQL语法入门][学习笔记]
- ERC20通证标准是什么?
- QT with OpenGL(HDR)
- 白帽黑客与留守儿童破壁对“画”!ISC、中国光华科技基金会、光明网携手启动数字安全元宇宙公益展
- 二叉搜索树(搜索二叉树)模拟实现(有递归版本)
- C#+WPF 单元测试项目类高级程序员必知必会
- 出色的移动端用户验证
- 【文件IO的简单实现】
- [LeetCode—Question 2 Sum of Two Numbers Detailed Code Explanation ] The source code is attached, which can be copied directly
- What is the relationship between The Matrix and 6G?
猜你喜欢
二叉搜索树(搜索二叉树)模拟实现(有递归版本)
【多线程的相关内容】
消费者认可度较高 地理标志农产品为啥“香”
QT with OpenGL(HDR)
For invoice processing DocuWare, cast off the yoke of the paper and data input, automatic processing all the invoice received
成为优秀架构师必备技能:怎样才能画出让所有人赞不绝口的系统架构图?秘诀是什么?快来打开这篇文章看看吧!...
深度学习经典网络 -- Inception系列(稀疏结构)
出色的移动端用户验证
"Global Digital Economy Conference" landed in N World, Rongyun provides communication cloud service support
怎么在外头使用容器里php命令
随机推荐
自定义实现乘风破浪的小船
Binary search tree (search binary tree) simulation implementation (there is a recursive version)
MATLAB programming and application 2.7 Structural data and unit data
Babbitt | Metaverse daily must-read: Players leave, platforms are shut down, and the digital collection market is gradually cooling down. Where is the future of the industry?...
混动产品谁更吃香,看技术还是看市场?
巴比特 | 元宇宙每日必读:玩家离场,平台关停,数字藏品市场正逐渐降温,行业的未来究竟在哪里?...
build --repot
Mysql OCP 74 questions
ERC20通证标准是什么?
跨链桥协议 Nomad 遭遇黑客攻击,损失超 1.5 亿美元
Web Server 设置缓存响应字段的一些推荐方案
Mysql OCP 73 questions
深度学习100例——卷积神经网络(CNN)实现服装图像分类
【TypeScript】Why choose TypeScript?
如何通过DBeaver 连接 TDengine?
智能合约是什么?
MATLAB Programming and Applications 2.6 Strings
How to use outside the PHP command in the container
[Explanation of JDBC and inner classes]
QT with OpenGL(HDR)