声明式环境管理最佳实践 | 学习笔记

简介: 快速学习声明式环境管理最佳实践

开发者学堂课程【ALPD 云架构师系列:云原生 DevOps 36计-阿里云云效出品声明式环境管理最佳实践】学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/772/detail/13503


声明式环境管理最佳实践


内容介绍:

一. 通过 sidecar 分离关注点

二. 新的挑战

三. OAM


一. 通过 sidecar 分离关注点

问题:环境相关的配置太多了,我该怎么管理比较好?

答案:通过 laC 来定义环境

在云原生时代,我们讲 laC 的时候,它的技术使整个环境通过基础设施来描述出来整个环境包括它的中间件资源都属于技术设施么这个层面就比原来单纯的上架要广得多

从配置的角度来说有应用配置应用运维配置和基础设施 运维配置甚至我们整个软件生产的过程也是用配置合并 怎么发布,去构建。这里我们也要去做一些定义,定义作为一个软件需要符合什么样的质量才可以在系统里以什么样的方式去运行。我们所有东西都是以代码的方式来去保管配置的, 他们的本质是代码

image.png

这里我们举一个简单的代码库的例子。

里我们把应用代码和 lac 代码放在两个库里有的人也会放到一个库里面,这两种方式各有利弊

我们看到 laC Repo 里面放了一些东西比如动态配置,就是运行时的配置

BaaS 配置,就是技术设施资源以及数据库中间件一些资源比如存储消息中间线资源监控配置,配置监控的力度以及监控的采样频率发布配置,比如发布方式每次每个批次发布间隔多少时间,还有一些策略滚动方式,这些东西都会在里面定义好


二. 新的挑战

1. 灵活的代价

开启这个插件还要在 ConfigMap 里定义一个变量

Ingress 和 Rollout 原来要一起用才行

HPA 和 CronHPA 原来是冲突的

这些 yaml 文件仿佛原始人的火种,即使小心伺候也有熄灭的可能

2. 知识的成本

网络配置怎么有这么多种实现

部署 MySQL 集群的正确姿势是什么

怎么能让 Pod 用本地 SSD 磁盘

image.png 

灵活的代价我们会尝试用一些范式来去定义出来,这样管理起来相对来说会更半功倍

3. 主要矛盾在哪里

运行一个系统需要的技能是多方面的但我们都把它想成配置文件这种,但是不是每个人都能用到那么多能力。而且本身的关注点分离成好多个但是我们用配置文件直接堆在那里,就没有把它分离出来

现在工业里一般遇到这样的问题会有怎么样的一些手段去处理他呢?


三. OAM 模型

image.png

首先,Open Application Model 微软阿里云联合推出的框架 也叫 OAM 框架 OAM 模型。其基本理论就是凯撒的归凯撒上帝的归上帝。

这是什么意思呢?我们先看右边在模型里面任务管理整个环境配置有三种角色

一种叫 Developer开发应用关注的是应用开发

第二Application Operator,是做运营上应用上的一些运维配置

第三种叫 Infrastructure Operator,是做基础设施的运维,负责基础设施组建些能力的维护和开发。比如我们要做滚动发布策略,然后有的一些资源的限制策略,这些就是在 Infrastructure Operator 里去处理的

显然三种人的工作背景技能是完全不一样的那么他们之间就必然会产生协作如果他们之间的协作不好就会产生我们前面遇到的问题,这些东西都混在一起

所有在这个架构上,它抽象成了左边这个模型

首先我们有 Application 这个应用它是包含很多个Component 的,就是左下角内容每个 Component 里面有很多容器 Component 里,就描述我的协议是什么,我的容器是什么,我的端口是什么,包括一些参数在里面

同时右边有一个 Configuration,它会描述一些应用怎么运行起来,和应用的一些相关的配置,以及应用的用到的运维上的一些能力

这样就把就开发者关心的东西跟应用运维关心的这些东西分成了 ComponentConfigurationTriat 个部分。这样他们就可以去关心自己的那块就行了

同时在框架里面或者模型里面,会对中间或遇出现的冲突一些东西预先的检测,这就保证些东西不会在我发到一半的时候才出现问题

而是可以预先把问题发现出来就可以直接告诉你失败 不会影响线上的服务

是说在最早把应用给声明出来的时候就会把相应的 OAM 模型相应的配置给定义清楚,并且有一些配置之间需要包含东西哪怕加了新的配置,这些东西我们可以提前做出一些相应预警另外很重要一点就是分离一点

相关文章
|
安全 前端开发 JavaScript
DeFi/ IDO /DAO/DAPP/LP/Swap代币兑换底池交易所项目系统开发步骤需求丨案例项目丨方案逻辑丨详细流程丨源码部署
Requirement analysis: Clarify project objectives, functional requirements, and business models. Understand the different components of the DeFi ecosystem, such as IDO (initial issuance), DAO (decentralized autonomous organization), DApp (decentralized application), LP (liquidity provider), and Swap
|
SQL Web App开发 监控
零基础玩转SLS日志查询-SLS Query Builder发布
日志服务(Log Service,简称 SLS) 是阿里云提供的行业领先的日志大数据解决方案,一站式提供数据收集、清洗、分析、可视化、告警等功能。智能查询分析是数据中台重要的一环,SLS支持秒级查询10亿到千亿级别的日志数据,为万级开发者提供每日百亿级的查询服务。SLS查询语句是日志服务的专有语法,为了帮助用户简单、快速地构建查询语句,降低用户的学习成本,SLS推出了查询辅助输入(Query Builder)功能,让用户无需关注语法细节也可完成查询。
4300 0
|
4天前
|
数据采集 人工智能 安全
|
13天前
|
云安全 监控 安全
|
5天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1102 152
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1778 9
|
10天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
708 152
|
12天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
664 14