当前位置:网站首页>云原生 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 的能力闭环,需要关注最终用户的反馈,用户行为数据采集、自动终端埋点、相关的售后体系、基于业务的可视化分析度量等都是运营阶段要思考的问题。
边栏推荐
- 机器学习(第一章)—— 特征工程
- 完全背包问题的思路解析
- Summary of redis basics - data types (strings, lists, sets, hashes, sets)
- 【AppCube】数字孪生万物可视 | 联接现实世界与数字空间
- [Explanation of JDBC and inner classes]
- Question G: Word Analysis ← Questions for the second provincial competition of the 11th Blue Bridge Cup Competition
- Basic using MySQL database
- 孙宇晨式“溢价逻辑”:不局限眼前,为全人类的“星辰大海”大胆下注
- Activiti产生的背景和作用
- go——并发编程
猜你喜欢
在 Chrome 开发者工具里通过 network 选项模拟网站的离线访问模式
"Global Digital Economy Conference" landed in N World, Rongyun provides communication cloud service support
聊天app开发——防炸麦以及节省成本的内容鉴定方法
成为优秀架构师必备技能:怎样才能画出让所有人赞不绝口的系统架构图?秘诀是什么?快来打开这篇文章看看吧!...
深度学习100例——卷积神经网络(CNN)实现服装图像分类
redis基础知识总结——数据类型(字符串,列表,集合,哈希,集合)
Cross-chain bridge protocol Nomad suffers hacker attack, losing more than $150 million
全新的Uber App设计
servlet生命周期详解--【结合源码】
MySQL数据库高级使用
随机推荐
【网络原理的概念】
Machine Learning (Chapter 1) - Feature Engineering
深度学习100例——卷积神经网络(CNN)实现服装图像分类
STM32入门开发 介绍SPI总线、读写W25Q64(FLASH)(硬件+模拟时序)
科普大佬说 | 黑客帝国与6G有什么关系?
MySQL数据库实战(1)
"Global Digital Economy Conference" landed in N World, Rongyun provides communication cloud service support
Web Server 设置缓存响应字段的一些推荐方案
Polymorphism in detail (simple implementation to buy tickets system simulation, covering/weight definition, principle of polymorphism, virtual table)
深入解析分布式文件系统的一致性的实现
鸿蒙第四次
Activiti产生的背景和作用
LeetCode_多叉树_中等_429.N 叉树的层序遍历
How to use outside the PHP command in the container
自定义实现乘风破浪的小船
numpy
What is the ERC20 token standard?
Web Server 设置缓存响应字段的一些推荐方案
试题G:单词分析 ← 第十一届蓝桥杯大赛第二场省赛赛题
QT with OpenGL(Shadow Mapping)(面光源篇)