Slurm DevOps - 三天内运行的山雀比遥远未来的美丽起重机还要好

我喜欢为期一周的项目,但我对为期一年的项目感到害怕。在敏捷中,我真的很喜欢 MVP 和增量的概念,这就是我的风格:制作一个可行的部分,实现它并继续前进。

与此同时,书籍和会议上讨论的 DevOps 转型只是一个为期一年的项目。或者几年后。

我们以“一次冲刺中的 MVP DevOps”和“增量准备”的范式构建了 DevOps 课程。如果用人类的话来说,那么“这样参与者在返回后就可以立即在家里实施一些事情并从中受益。”

MVP DevOps:本课程包含用于基本 DevOps 流程的工具。我们没有给自己设定任务来审查和比较所有 CI/CD 系统或揭示基础设施即代码方法的深度。我们提供一个清晰的堆栈:Gitlab CI/CD、Ansible、Terraform 和 Packer、Molecule、Prometheus、EFK。您可以参加课程,从培训材料中收集试点项目的基础设施并在其中工作。

Slurm DevOps - 三天内运行的山雀比遥远未来的美丽起重机还要好

增量准备:我们为每个元素提供了大量实践和示例。您可以使用一种工具并使用培训图纸开始实施它。例如,编写 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

添加评论