DevOps 路线图 - 如何成为 DevOps 工程师
2023 年 DevOps 工程师之路
DevOps 究竟是什么意思?DevOps 工程师又是什么?🤔
DevOps 是一种涉及持续开发、持续测试、持续集成、部署和监控的软件开发方法。
上述流程跨越了传统上孤立的开发和运营团队,而 DevOps 试图消除它们之间的障碍。
所以,DevOps 工程师基本上与开发团队和运维团队合作。它是这两个主要部分之间的纽带。
概念与工具👀
DevOps 包含构建自动化、CI/CD、基础设施即代码等概念。并且有众多工具可以实现这些概念。正因为工具数量众多,我们很容易感到困惑和不知所措。
最重要的是理解这些概念,并学习每个类别中的一个特定工具。例如,当你已经了解 CI/CD 的确切含义,并且知道如何使用 Jenkins 时,学习其他工具也会很容易。
⭐️ DevOps 路线图,助您成为 DevOps 工程师⭐️
让我们直接了解您需要学习的技能的路线图。
⭐️ 1)软件开发概念
作为 DevOps 工程师,您不会编写应用程序,但由于您与开发团队密切合作以改进和自动化他们的任务,因此您需要了解以下概念:
- 开发人员的工作方式
- 他们正在使用哪种 git 工作流程
- 应用程序如何配置
- 自动化测试
⭐️ 2)操作系统和 Linux 基础知识🐧
作为 DevOps 工程师,您负责准备部署应用程序的基础设施(服务器)。
由于大多数服务器都是 Linux 服务器,您需要了解 Linux 操作系统,并熟练使用命令行界面。因此,您需要了解:
- 基本 Shell 命令
- Linux文件系统
- 如何管理服务器的基础知识
- SSH 密钥管理
- 在服务器上安装不同的工具
⭐️ 3)网络与安全
您还需要了解网络和安全的基础知识才能配置基础设施,例如:
- 配置防火墙来保护应用程序
- 了解 IP 地址、端口和 DNS 的工作原理
- 负载均衡器
- 代理服务器
- HTTP/HTTPS
然而,DevOps 和 IT 运维之间需要划一条界线:你不是系统管理员。所以你不需要高级知识。理解并掌握基础知识就足够了,因为系统管理员、网络工程师或安全工程师等职业本身就存在。
⭐️ 4)容器化 - Docker 🐳
随着容器成为新的标准,您可能会将应用程序作为容器运行。这意味着您需要大致了解:
- 虚拟化概念
- 容器的概念
学习什么工具?
DOCKER——当今最流行的容器技术
⭐️5)持续集成和部署(CI / CD)🔁
在 DevOps 中,所有代码更改(例如开发人员的新功能和错误修复)都应集成到现有应用程序中,并以自动化的方式持续部署给最终用户。因此,术语为:持续集成和持续部署。
而搭建完整的CI/CD流水线是DevOps工程师的主要任务和职责。
因此,当功能或错误修复完成后,应自动触发在 CI 服务器(例如 Jenkins)上运行的管道,该管道:
- 运行测试
- 打包应用程序
- 构建 Docker 镜像
- 将 Docker 镜像推送到构件库,最后
- 将新版本部署到服务器(可以是开发服务器、测试服务器或生产服务器)
因此你需要在这里学习以下技能:
- 设置 CI/CD 服务器
- 构建工具和包管理器工具来执行测试和打包应用程序
- 配置工件存储库(如 Nexus)
当然,可以集成更多步骤,但此流程代表了 CI/CD 管道的核心,也是 DevOps 任务和职责的核心。
应该学习什么工具?
Jenkins 是最受欢迎的工具之一。其他工具包括:Bamboo、Gitlab、TeamCity、CircleCI、TravisCI
⭐️6)云提供商⛅️
如今,许多公司都在使用云端虚拟基础设施,而不是自行管理。这些是基础设施即服务 (IaaS) 平台,提供一系列服务,例如备份、安全、负载平衡等。
这些服务是特定于平台的。因此,您需要了解该特定平台的服务。例如,对于 AWS,您应该了解以下基础知识:
- IAM 服务 - 管理用户和权限
- VPC 服务 - 您的私有网络
- EC2 服务 - 虚拟服务器
AWS 的服务种类繁多,但您只需学习您/您的公司实际需要的服务即可。例如,当 K8s 集群在 AWS 上运行时,您还需要学习 EKS 服务。
AWS是目前最强大、应用最广泛的,但同时也是最难的一个。
应该学习哪种工具?
AWS 是最受欢迎的。
其他热门工具:Azure、Google Cloud
⭐️7)容器编排 - Kubernetes⎈
正如我之前提到的,容器的应用非常广泛,在大型公司中,数百甚至数千个容器运行在多台服务器上。这意味着需要以某种方式管理这些容器。
为此,有一些容器编排工具,其中最流行的是 Kubernetes。所以你需要学习:
- Kubernetes 的工作原理
- 管理 Kubernetes 集群
- 并在其中部署应用程序
应该学习什么工具?
KUBERNETES - 最热门
⭐️8)监控和日志管理🔍
软件投入生产后,监控其性能、发现基础架构和应用程序中的问题至关重要。因此,作为 DevOps 工程师,你的职责之一是:
- 设置软件监控
- 设置基础设施监控,例如针对您的 Kubernetes 集群和底层服务器。
学习什么工具?
Prometheus、Nagios……
⭐️9)基础设施即代码
手动创建和维护基础架构非常耗时且容易出错。尤其是在需要复制基础架构(例如用于开发、测试和生产环境)的情况下。
在 DevOps 中,我们希望尽可能地实现自动化,这时“基础设施即代码”就应运而生了。
通过 IaC,我们使用代码来创建和配置基础设施,您需要了解两种类型的 IaC 工具:
- 基础设施配置
- 配置管理
使用这些工具可以轻松复制和恢复基础架构。因此,您应该了解每个类别中的一种工具,以提高您自己的工作效率,并改善与同事的协作。
学习哪种工具?
基础设施配置:Terraform 是最受欢迎的
配置管理工具:Ansible、Puppet、Chef
👉🏼 Terraform 解释
👉🏼 Ansible 解释
⭐️ 10)脚本语言👩🏻💻
由于您正在与开发人员和系统管理员密切合作以自动执行开发和操作任务,因此您需要编写脚本和小型应用程序来自动执行任务。
为了做到这一点,你需要了解一种脚本或编程语言。
这可以是特定于操作系统的脚本语言,例如 bash 或 Powershell。
但更需要的是像 Python、Ruby 或 Go 这样的独立于操作系统的语言。这些语言更强大、更灵活。如果你掌握其中一种,你的就业价值将大大提升。
学习哪种工具?
Python:目前最热门,易学易读,并且有很多可用的库。
其他:Ruby、Go、NodeJS
⭐️11)版本控制 - Git
您可以将上述所有自动化逻辑编写为代码。
就像开发人员的应用程序代码一样,您也可以使用版本控制工具(例如 Git)来管理这些代码和配置文件。
学习哪个工具?
GIT - 最流行、使用最广泛的工具
祝你的 DevOps 之旅一切顺利!🎉 💪
完成 DevOps 训练营,开启您的 DevOps 工程师职业生涯 🚀
► 更多信息请见此处:https://bit.ly/3gEwf4V
► 早鸟价优惠至 2 月 28 日 🎉
由于整个过程非常繁琐,我们根据上述路线图构建了此计划,重点是让您做好工作准备,并帮助您更快、更有效地学习这些概念和工具。
训练营注重实际的动手演示,以便学员能够跟随并真正有信心使用这些工具。
喜欢、分享并关注我😍以获取更多内容:
文章来源:https://dev.to/techworld_with_nana/devops-roadmap-2021-how-to-become-a-devops-engineer-1n9p