我喜欢为期一周的项目,但我对为期一年的项目感到害怕。在敏捷中,我真的很喜欢 MVP 和增量的概念,这就是我的风格:制作一个可行的部分,实现它并继续前进。
与此同时,书籍和会议上讨论的 DevOps 转型只是一个为期一年的项目。或者几年后。
我们以“一次冲刺中的 MVP DevOps”和“增量准备”的范式构建了 DevOps 课程。如果用人类的话来说,那么“这样参与者在返回后就可以立即在家里实施一些事情并从中受益。”
MVP DevOps:本课程包含用于基本 DevOps 流程的工具。我们没有给自己设定任务来审查和比较所有 CI/CD 系统或揭示基础设施即代码方法的深度。我们提供一个清晰的堆栈:Gitlab CI/CD、Ansible、Terraform 和 Packer、Molecule、Prometheus、EFK。您可以参加课程,从培训材料中收集试点项目的基础设施并在其中工作。
增量准备:我们为每个元素提供了大量实践和示例。您可以使用一种工具并使用培训图纸开始实施它。例如,编写 Ansible 手册来部署开发环境或连接机器人并通过手机管理服务器。也就是一周内得到具体的实际成果。它可能距离整个公司的 DevOps 转型无限遥远,但它就在那里,它就在这里,它起作用并带来好处。
Slurm DevOps 主题
主题#1:Git 最佳实践 - 不言而喻。
主题#2:从开发的角度使用应用程序 — 工程师需要管理员和开发人员的能力,因此我们告诉管理员有关开发的信息。
主题 #3:CI/CD 基础知识
- CI/CD 自动化简介
- Gitlab CI 基础知识
- gitlab-runner 的最佳实践
- Bash、make、gradle 工具作为 CI/CD 的一部分等
- Docker 作为解决 CI 问题的一种方法
主题 #4:生产中的 Gitlab CI/CD
- 入职时的竞争
- 执行控制和限制:仅当
- 使用工件
- 模板、包含内容和微服务:简化部署
我们向学生介绍 CI/CD 的基本概念和概念以及 CI/CD 实施的工具。因此,学生将能够独立选择 CI/CD 设计模式和合适的实施工具。
然后我们展示了 Gitlab 中 CI/CD 的实现并逐步完成设置,了解使用 Gitlab CI 的高级方法。因此,学生将能够为自己的项目独立配置 Gitlab CI。
与第一个 DevOps Slurm 相比,我们将理论缩减了 2 倍(每个主题一小时),不再审查所有系统,只留下 Gitlab CI。我们注重实践,增加了很多最佳实践。
主题#5:基础设施即代码
- IaC:将基础设施视为代码
- 云提供商作为基础设施提供商
- 系统初始化工具、镜像构建(打包器)
- 以 Terraform 为例的 IaC
- 配置存储、协作、应用自动化
- 创建 Ansible playbook 的实践
- 幂等性、声明性
- 以 Ansible 为例的 IaC
我们减少了 UI 和 openstack cli 的理论部分,并将重点放在实践上。
让我们看看使用同一应用程序的两种 IaC 方法,展示每种方法的优缺点。因此,学生将了解在哪里使用哪种方法,并且能够使用 Terraform 和 Ansible。
在 Terraform 主题中,我们将在实践中研究团队合作和在数据库中存储状态。使用模块时,学生将自己编写和配置模块,学习如何使用它:重用它,版本化它。让我们添加 Consul 的工作,展示在哪些情况下需要它以及如何正确使用它。
主题#6:基础设施测试
- 让我们弄清楚为什么他们不写测试?
- IaC 有哪些测试?
- 静态分析仪,真的那么没用吗?
- 以ansible + molecular为例进行IaC的单元测试
- 测试作为 ci 的一部分
- 类固醇测试或如何不等待 5 小时 IaC 测试完成
我们减少了理论部分,减少了有关 Vagrant/Molecule 的故事,增加了实践和直接测试,重点关注 linter 并使用它们。从CI的角度来看
如何使测试更快。实践中会有:
- 自编写的 linter,根据角色检查主机是否存在强制变量;
- 我们只将那些发生变化的角色添加到 CI 测试中,这可以显着减少测试执行时间;
- 添加场景测试。我们部署整个应用程序作为集成测试。
主题#7:使用 Prometheus 进行基础设施监控
- 如何建立健康的监测系统
- 监控作为分析、开发效率和代码稳定性的工具,甚至在销售前也是如此
- 设置prometheus+alertmanager+grafana
- 从资源监控转向应用程序监控
我们将讨论很多关于监控微服务的内容:请求 ID、API 监控工具。将会有很多最佳实践和很多独立工作。
让我们编写自己的导出器。我们不仅会监控生产基础设施和应用程序,还会监控 Gitlab 中的程序集。让我们看一下失败测试的统计数据。让我们在实践中看看不使用 healthCheck 和使用 healthCheck 时监控会是什么样子。
主题 8。使用 ELK 记录应用程序
- Elastic 及其工具概述
- ELK/Elastic Stack/x-pack - 是什么以及有什么区别?
- 使用 ElasticSearch 可以解决哪些问题(搜索、存储、扩展功能、配置灵活性)
- 基础设施监控(x-pack)
- 容器和应用程序日志 (x-pack)
- 以我们的应用程序为例进行日志记录
- 使用 Kibana 的实践
- 来自 Amazon 的 Open Distro for Elasticsearch
该主题已完全重新设计,由 Eduard Medvedev 主持,许多人在关于 DevOps 和 SRE 的网络研讨会上看到了他。他将使用教育应用程序示例讲述并演示使用 EFK 的最佳实践。将会有 Kibana 的练习。
主题 #9:使用 ChatOps 实现基础设施自动化
- DevOps 和 ChatOps
- ChatOps:优势
- Slack 和替代方案
- ChatOps 机器人
- Hubot 和替代方案
- 安全
- 测试
- 最佳和最差做法
ChatOps 添加了权限分离的身份验证实践、另一个用户的操作确认、以 Mattermost 形式替代 Slack 的理论和实践、机器人的单元和集成测试理论。
DevOps 混乱将于 30 月 30 日开始。价格 - 000。
对于读完的读者,使用促销代码 habrapost 可以享受 DevOps 课程 15% 的折扣。
注册
我很高兴在 Slurms 见到你!
来源: habr.com