当前位置:网站首页>云原生 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 的能力闭环,需要关注最终用户的反馈,用户行为数据采集、自动终端埋点、相关的售后体系、基于业务的可视化分析度量等都是运营阶段要思考的问题。
边栏推荐
- Mysql OCP 74 questions
- 程序员架构修炼之道:软件架构基本概念和思维
- Dry goods!A highly structured and sparse linear transformation called Deformable Butterfly (DeBut)
- With strong network, China mobile to calculate excitation surging energy network construction
- Polymorphism in detail (simple implementation to buy tickets system simulation, covering/weight definition, principle of polymorphism, virtual table)
- 跨链桥协议 Nomad 遭遇黑客攻击,损失超 1.5 亿美元
- 试题G:单词分析 ← 第十一届蓝桥杯大赛第二场省赛赛题
- Activiti产生的背景和作用
- 【多线程的相关内容】
- Why is the new earth blurred, in-depth analysis of white balls, viewing pictures, and downloading problems
猜你喜欢
如何检索IDC研究报告?
[Star Project] Little Hat Plane Battle (9)
Depth study of 100 cases - convolution neural network (CNN) to realize the clothing image classification
嵌入式软件组件经典架构与存储器分类
Polymorphism in detail (simple implementation to buy tickets system simulation, covering/weight definition, principle of polymorphism, virtual table)
从餐桌到太空,孙宇晨的“星辰大海”
servlet生命周期详解--【结合源码】
【多线程的相关内容】
请问应该用什么关键字将内容主题设置为 dark 呢
Spinner文字显示不全解决办法
随机推荐
鸿蒙第三次
LeetCode_多叉树_中等_429.N 叉树的层序遍历
Boolean 与numeric 无法互转
type="module" you know, but type="importmap" you know
SAP 电商云 Spartacus UI 的 External Routes 设计明细
【LeetCode—第2题 两数之和 代码详解 】附有源码,可直接复制
How to use outside the PHP command in the container
深入解析分布式文件系统的一致性的实现
请问应该用什么关键字将内容主题设置为 dark 呢
再谈“雷克萨斯”安全装置失效!安全手册疑点重重,网友:细思极恐
Win10/11 删除文件资源管理器左侧栏目文件夹
MATLAB程序设计与应用 2.7 结构数据与单元数据
Basic using MySQL database
在 Chrome 开发者工具里通过 network 选项模拟网站的离线访问模式
Depth study of 100 cases - convolution neural network (CNN) to realize the clothing image classification
VL53L0X V2 laser ranging sensor collects distance data serial output
With strong network, China mobile to calculate excitation surging energy network construction
谷歌实用插件分享
Summary of redis basics - data types (strings, lists, sets, hashes, sets)
synchronized