TL博士
我们将再次在实践中分析 DevOps 工具。
细节和方案下切。
SRE 已从计划中删除,因为我们正在与 Ivan Kruglov 一起准备单独的 Slurm SRE。 该公告将在稍后发布。
感谢 Selectel,自第一届 Slurm 以来我们的赞助商!
关于哲学、怀疑主义和意外的成功
我于 XNUMX 月底参加了在莫斯科举行的 DevOpsConf。
我所听到的摘要:
— 大多数任何规模的项目都需要 DevOps;
— DevOps 是一种文化,就像任何文化一样,它必须来自公司内部。 你不可能雇佣一名 DevOps 工程师并梦想他会改进流程。
— DevOps 转型所需的最后一项是技术,即我们教授的 DevOps 工具。
我意识到我们在课程中不包含 DevOps 哲学和文化是正确的,因为这无法系统地教授。 谁需要它,就在书上读。 或者他会找到一位超级酷的教练,用他的魅力和权威说服所有人。
就我个人而言,我一直是“自下而上的运动”的支持者,即通过工具游击式地实施文化。 就像《凤凰计划》中描述的那样。 如果我们正确地和Git建立了团队合作,我们可以慢慢地给它补充规则,然后它就会形成价值观。
尽管如此,当我们准备 DevOps Slurm 时,我们只讨论工具,我担心参与者的反应:“你说的很棒。 遗憾的是,我永远无法实现它们。” 由于存在如此多的怀疑,我们立即停止了重复该计划。
然而,大多数参与者在调查中回答说,所获得的知识可以应用于实践,并且他们将在不久的将来在自己的国家实施一些东西。 同时,我们解释的所有内容都包含在有用的东西列表中:Git、Ansible、CI/CD 和 SRE。
值得记住的是,一开始他们还说过 Slurm Kubernetes 不可能在 3 天内解释完 k8s。
我们与领导 SRE 主题的 Ivan Kruglov 商定了一个单独的计划。 目前我们正在讨论细节,我会尽快发布消息。
Slurm DevOps 会发生什么?
程序
主题 #1:使用 Git 进行团队合作
- 基本命令 git init、commit、add、diff、log、status、pull、push
- Git 流程、分支和标签、合并策略
- 与多个远程代表合作
- GitHub 流程
- 分叉、远程、拉取请求
- 关于 Gitflow 和其他与团队相关的流程的冲突、发布、再一次
主题#2:从开发的角度使用应用程序
- 用 Python 编写微服务
- 环境变量
- 集成和单元测试
- 在开发中使用 docker-compose
主题 #3:CI/CD:自动化简介
- 自动化简介
- 工具(bash、make、gradle)
- 使用 git-hooks 自动化流程
- 工厂装配线及其在IT中的应用
- 构建“通用”管道的示例
- 适用于 CI/CD 的现代软件:Drone CI、BitBucket Pipelines、Travis 等。
主题 #4:CI/CD:使用 Gitlab
- 亚特实验室持续集成
- Gitlab Runner,它们的类型和应用
- Gitlab CI、配置特性、最佳实践
- Gitlab CI 阶段
- Gitlab CI 变量
- 构建、测试、部署
- 执行控制和限制:仅当
- 使用工件
- .gitlab-ci.yml 内的模板,在管道的不同部分重用操作
- 包括 - 部分
- 集中管理gitlab-ci.yml(一个文件,自动推送到其他仓库)
主题#5:基础设施即代码
- IaC:将基础设施视为代码
- 云提供商作为基础设施提供商
- 系统初始化工具、镜像构建(打包器)
- 以 Terraform 为例的 IaC
- 配置存储、协作、应用自动化
- 创建 Ansible playbook 的实践
- 幂等性、声明性
- 以 Ansible 为例的 IaC
主题#6:基础设施测试
- 与 Molecule 和 Gitlab CI 的测试和持续集成
- 使用流浪者
主题#7:使用 Prometheus 进行基础设施监控
- 为什么需要监控?
- 监控类型
- 监控系统中的通知
- 如何建立健康的监测系统
- 适合所有人的人类可读通知
- 健康检查:应注意什么
- 基于监测数据的自动化
主题 #8:使用 ELK 进行应用程序日志记录
- 最佳日志记录实践
- ELK堆栈
主题 #9:使用 ChatOps 实现基础设施自动化
- DevOps 和 ChatOps
- ChatOps:优势
- Slack 和替代方案
- ChatOps 机器人
- Hubot 和替代方案
- 安全
- 最佳和最差做法
地点: 莫斯科,塞瓦斯托波尔酒店的会议室。
日期: 从30月1日到3月XNUMX日,辛苦工作了XNUMX天。
来源: habr.com