Auto-sync: 2026-04-24 16:03
This commit is contained in:
31
wiki/concepts/Dependency-Management.md
Normal file
31
wiki/concepts/Dependency-Management.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
title: "Dependency Management"
|
||||
type: concept
|
||||
tags:
|
||||
- DevOps
|
||||
- Dependency-Update
|
||||
- IaC
|
||||
last_updated: 2026-04-14
|
||||
---
|
||||
|
||||
## Definition
|
||||
依赖管理是指对项目中引用的外部库、模块、镜像或工具的版本进行跟踪、更新和维护的过程。在云原生和 IaC 场景下,依赖项涵盖 Docker 基础镜像、Maven 依赖、Terraform 模块、Helm Charts、pre-commit 插件等。
|
||||
|
||||
## Key Challenges
|
||||
- 手动更新版本号耗时耗力且极易滞后
|
||||
- 依赖项数量庞大时,人工追踪几乎不可能
|
||||
- 遗漏安全补丁更新导致漏洞积累
|
||||
- 不同环境(开发/测试/生产)配置不一致
|
||||
|
||||
## Solutions
|
||||
- **Renovate Bot**:自动化扫描并发起 Pull Request 更新依赖版本
|
||||
- **Dependabot**:GitHub 原生的依赖更新工具
|
||||
- **Renovate**:支持更广泛的技术栈(Terraform、Docker、Kubernetes 等)
|
||||
|
||||
## Related Concepts
|
||||
- [[Renovate-Bot]] — 依赖管理自动化工具
|
||||
- [[Semantic-Versioning]] — 依赖版本控制规则
|
||||
- [[GitOps]] — 依赖管理是 GitOps 实践的重要组成部分
|
||||
|
||||
## Related Sources
|
||||
- [[ctp-topic-15-working-with-renovatebot]]
|
||||
38
wiki/concepts/Renovate-Bot.md
Normal file
38
wiki/concepts/Renovate-Bot.md
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: "Renovate Bot"
|
||||
type: concept
|
||||
tags:
|
||||
- Renovatebot
|
||||
- Dependency-Update
|
||||
- GitOps
|
||||
- CI/CD
|
||||
last_updated: 2026-04-14
|
||||
---
|
||||
|
||||
## Aliases
|
||||
- Renovate
|
||||
- renovatebot
|
||||
|
||||
## Definition
|
||||
开源的依赖自动化更新工具,通过扫描代码并自动提交 Pull Request 来保持依赖项处于最新状态。支持多种技术栈(Terraform、Terragrunt、Docker、npm、Maven、pre-commit hooks 等),依据 Semantic Versioning 规则判断更新级别。
|
||||
|
||||
## Key Features
|
||||
- **Dependency Dashboard**:在 GitHub Issue 中汇总所有依赖状态、待处理的 PR 及更新选项,提供全局视角
|
||||
- **Managers 插件机制**:支持多种依赖文件类型(`terraform` 经理处理 `.tf` 文件,`dockerfile` 经理处理镜像标签等)
|
||||
- **Rate Limiting**:防止瞬间产生过多 PR 导致 CI/CD 系统崩溃
|
||||
- **配置文件**:`renovate.json` 定义管理策略
|
||||
|
||||
## Use Cases
|
||||
- 自动化更新 Docker 基础镜像版本
|
||||
- 自动更新 Terraform 模块版本引用
|
||||
- 自动更新 Terragrunt 依赖配置
|
||||
- 自动更新 pre-commit 钩子插件版本
|
||||
|
||||
## Related Concepts
|
||||
- [[Dependency-Management]] — 依赖管理的广义概念
|
||||
- [[Semantic-Versioning]] — 版本控制规则
|
||||
- [[GitOps]] — Renovate Bot 是 GitOps 实践中依赖治理的重要工具
|
||||
- [[CI-CD-Pipeline]] — Renovate Bot 通常集成到 CI/CD 流水线中
|
||||
|
||||
## Related Sources
|
||||
- [[ctp-topic-15-working-with-renovatebot]]
|
||||
57
wiki/concepts/Savings-Plans.md
Normal file
57
wiki/concepts/Savings-Plans.md
Normal file
@@ -0,0 +1,57 @@
|
||||
---
|
||||
title: "Savings Plans"
|
||||
type: concept
|
||||
tags:
|
||||
- AWS
|
||||
- Cost-Optimization
|
||||
- FinOps
|
||||
sources:
|
||||
- public-cloud-learning-sessions-reducing-cloud-costs-20250318-170100-meeting-reco
|
||||
- ctp-topic-13-cloud-finops-policies
|
||||
last_updated: 2026-04-24
|
||||
---
|
||||
|
||||
# Savings Plans
|
||||
|
||||
AWS 基于承诺消费的折扣计划,通过承诺一定时期的使用量(1 年或 3 年)换取显著低于按需价格的折扣。
|
||||
|
||||
## Definition
|
||||
Savings Plans 是 AWS 提供的一种灵活的承诺折扣定价模型,适用于 EC2、Lambda 和 SageMaker。用户承诺在 1 年或 3 年期内支付固定的小时金额,AWS 提供相对于按需价格最高 **72%** 的折扣。
|
||||
|
||||
## Types of Savings Plans
|
||||
|
||||
### EC2 Savings Plans
|
||||
- **最灵活**:承诺特定实例系列(如 M5、C5)的使用量,可在同系列下自由变更实例大小、AZ 和操作系统
|
||||
- **Compute Savings Plans**:最灵活,不限制实例系列,覆盖 EC2 Lambda 和 SageMaker
|
||||
|
||||
### Reserved Instances (RI)
|
||||
Savings Plans 的前身,适用于特定服务(RDS、ElastiCache、CloudFront 等),由 [[Phenops-Team]] 集中管理和实施。
|
||||
|
||||
## Two Commitment Categories
|
||||
|
||||
| 类别 | 折扣幅度 | 灵活性 | 说明 |
|
||||
|------|---------|--------|------|
|
||||
| **资源级承诺** | 更高 | 受限 | 承诺特定实例类型 |
|
||||
| **灵活承诺** | 标准 | 高 | Compute Savings Plans,不限实例系列 |
|
||||
|
||||
## Prerequisites(必要前提)
|
||||
费率优化(Savings Plans / RI 购买)必须在完成 **[[Right Sizing]]** 之后实施——在 Right Sizing 之前承诺错误规格,反而会造成浪费。
|
||||
|
||||
## Implementation Workflow
|
||||
1. **前置 Right Sizing**:通过 EC2 Right Sizing 报告识别 CPU/内存/网络实际使用率
|
||||
2. **工作负载分析**:识别 24/7 运行的工作负载(适合承诺)
|
||||
3. **财务沟通**:将分析详情共享给 Finance 团队
|
||||
4. **账户所有者审批**:获取账户所有者批准
|
||||
5. **实施**:由 [[Phenops-Team]] 统一实施(集中购买才能实现规模效益)
|
||||
6. **监控报告**:持续监控利用率,确保承诺被有效利用
|
||||
|
||||
## Key Rules in OpenText
|
||||
- 仅支持 **No Upfront(无预付)** 选项
|
||||
- 最低交易金额:**$5k/年**
|
||||
- 仅由 [[Phenops-Team]] 实施,个人或团队不得自行购买
|
||||
|
||||
## Connections
|
||||
- [[Cloud Cost Optimization]] — Savings Plans 是云成本优化的费率优化层核心工具
|
||||
- [[Right Sizing]] — Savings Plans 的前置必要步骤
|
||||
- [[Spot Instances]] — 与 Spot 实例组合使用:基准用 Savings Plans,弹性用 Spot
|
||||
- [[Phenops-Team]] — 唯一有权实施 Savings Plans 的团队
|
||||
37
wiki/concepts/Semantic-Versioning.md
Normal file
37
wiki/concepts/Semantic-Versioning.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
title: "Semantic Versioning"
|
||||
type: concept
|
||||
tags:
|
||||
- DevOps
|
||||
- Version-Control
|
||||
- Dependency-Management
|
||||
last_updated: 2026-04-14
|
||||
---
|
||||
|
||||
## Aliases
|
||||
- SemVer
|
||||
- Semantic Versioning
|
||||
|
||||
## Definition
|
||||
语义化版本控制(Semantic Versioning)是一种版本号命名规范,采用 `主版本号.次版本号.修订号`(MAJOR.MINOR.PATCH)格式。主版本号在不兼容的 API 变更时递增,次版本号在向后兼容的功能添加时递增,修订号在向后兼容的问题修复时递增。
|
||||
|
||||
## Versioning Levels
|
||||
- **Major(主版本)**:破坏性变更,不兼容的 API 变更
|
||||
- **Minor(次版本)**:新功能添加,向后兼容
|
||||
- **Patch(修订)**:Bug 修复,向后兼容
|
||||
|
||||
## Pre-release Labels
|
||||
版本号后可附加预发布标签,如 `1.0.0-alpha`、`2.1.0-beta.3`。
|
||||
|
||||
## In Renovate Bot Context
|
||||
Renovate Bot 依据 SemVer 规则判断更新级别:
|
||||
- **Patch 更新**:`~1.0.0` 或 `1.0.x`
|
||||
- **Minor 更新**:`^1.0.0` 或 `1.x`
|
||||
- **Major 更新**:`*` 或 `1.0.0` 及以上
|
||||
|
||||
## Related Concepts
|
||||
- [[Dependency-Management]] — 依赖管理
|
||||
- [[Renovate-Bot]] — Renovate Bot 使用 SemVer 判断更新策略
|
||||
|
||||
## Related Sources
|
||||
- [[ctp-topic-15-working-with-renovatebot]]
|
||||
40
wiki/concepts/Spot-Instances.md
Normal file
40
wiki/concepts/Spot-Instances.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: "Spot Instances"
|
||||
type: concept
|
||||
tags:
|
||||
- AWS
|
||||
- Cost-Optimization
|
||||
- FinOps
|
||||
sources:
|
||||
- public-cloud-learning-sessions-reducing-cloud-costs-20250318-170100-meeting-reco
|
||||
- ctp-topic-13-cloud-finops-policies
|
||||
last_updated: 2026-04-24
|
||||
---
|
||||
|
||||
# Spot Instances
|
||||
|
||||
AWS 竞价实例,通过使用闲置的 EC2 容量以大幅折扣价格提供计算资源。
|
||||
|
||||
## Definition
|
||||
Spot Instances 是 AWS EC2 的一种定价模型,允许用户以按需价格(On-Demand Price)最高 **90% 的折扣** 申请使用空闲计算容量。当 AWS 需要回收容量时,Spot 实例会在 2 分钟警告后被中断。
|
||||
|
||||
## Key Characteristics
|
||||
- **折扣幅度**:相比 On-Demand 价格最高可享 90% 折扣
|
||||
- **适用场景**:容错工作负载——大数据处理、CI/CD 流水线、Web 服务器、HPC(高性能计算)
|
||||
- **中断风险**:AWS 可随时中断,需应用层实现容错(Checkpoint / 断点续传)
|
||||
- **请求类型**:One-Time(一次性)或 Persistent(持久,需手动设置)
|
||||
- **启动行为**:可在中断后重新请求
|
||||
|
||||
## Use Cases in OpenText
|
||||
根据 [[ctp-topic-13-cloud-finops-policies]],研发环境三合一优化方案之一即为 Spot 实例,用于非关键工作负载的突发计算需求。
|
||||
|
||||
## Best Practices
|
||||
1. **架构容错**:设计应用支持中断重启(如 Checkpoint 机制)
|
||||
2. **组合策略**:配合 Savings Plans 用于基准负载,Spot 用于弹性扩展部分
|
||||
3. **实例类型选择**:选择多样化实例类型提高可用性
|
||||
4. **监控中断**:使用 CloudWatch 监控 Spot 实例中断通知
|
||||
|
||||
## Connections
|
||||
- [[Cloud Cost Optimization]] — Spot Instances 是云成本优化的核心手段之一
|
||||
- [[Savings Plans]] — 与 Savings Plans 组合使用,实现"基准用 RI/SP + 弹性用 Spot"的最佳成本架构
|
||||
- [[Right Sizing]] — 先完成 Right Sizing 再引入 Spot,避免浪费
|
||||
Reference in New Issue
Block a user