如何从零开始成为 DevOps 工程师
自过去 5 年以来,DevOps 生态系统发展迅速,但我总是看到在某些方面难以回答的同一个问题:如何成为 DevOps 工程师?让我在这篇文章中为你分解它。
TLDR;如果你时间不够,又厌倦了阅读,这里有一个视频可以帮助你,
1.从了解文化开始
DevOps 在成为工作之前是一种运动和文化,这就是为什么文化方面非常重要的原因。
2. 学习一门编程语言
根据我的经验,优秀的 DevOps 工程师是具有开发和运营技能的人。
Python、Go、Nodejs .. 你有很多选择!您不一定需要学习贵公司使用的相同主要语言,但拥有编程技能真的很不错。
3. 学习如何管理服务器
DevOps 专业人员的主要任务之一是管理服务器。了解服务器如何工作是必须知道的,要做到这一点,需要对硬件(CPU、体系结构、内存......)有一些很好的了解。要学习的另一件事是操作系统,尤其是 Linux。您可以从选择像 Ubuntu 这样的发行版开始。
如果你真的是 Linux 的初学者,你可以先在你的笔记本电脑/台式机上试用它,然后开始使用它来学习。
4. 学习网络和安全基础知识
您可能会说这些是网络和安全工程师的技能。不!了解 HTTP、DNS、FTP 和其他协议的工作原理、保护部署的软件、预测代码中的安全漏洞以及配置基础架构网络是您应该知道的事情。
5. 学习脚本
即使有越来越多的工具可以替代创建自己的脚本,脚本也是必须知道的,你肯定会需要它。根据我的经验,Bash 是最常用的脚本语言之一。 Python 也是一种很好的脚本语言,可以在编写更少代码的同时快速运行。
首先编写基本脚本并查看在线资源,例如 很棒的狂欢 .
6. 了解如何安装和配置中间件
Apache 和 Nginx 是 DevOps 行业中使用最多的中间件,了解如何安装和配置虚拟主机、反向代理、域名和 SSL 等内容将对您的日常任务有很大帮助。
您可以首先将 Nginx 部署为 WordPress 博客的 Web 服务器,然后部署为两个后端服务器的负载均衡器。
7. 学习如何部署软件
一旦您知道如何部署和配置 Nginx,您就需要知道如何将应用程序部署到生产服务器。使用 Python、Nodejs 和 PHP 创建 hello world 应用程序。部署这 3 个应用程序。您可以使用 Nginx 作为所有这些的反向代理。
8. 学习 GIT
GIT 是 IT 行业中使用的版本控制系统之一。您不需要成为 GIT 专家,但这是一项将跟随您完成所有 DevOps 体验的技术。
GIT 基础知识在官方文档中有很好的解释。
9. 学习如何构建软件
构建软件通常是关于运行创建可以在生产服务器上运行的软件版本的过程。 DevOps 专业人员需要了解软件生命周期的这一重要部分。
使用您选择的语言创建应用程序,并检查安装其依赖项和构建代码的不同方法。
10. 学习如何自动化你的软件工厂
DevOps 与自动化无关,但自动化是 DevOps 业务转型的支柱之一。一旦你学会了如何构建软件,你就可以使用像 Jenkins 这样的工具来自动化构建并将你的代码连接到代码存储库。
如果您不熟悉所有这些,请阅读持续集成和持续交付。
11.学习配置管理
一旦事情变得更加复杂,并且一旦您需要管理多个环境和配置,学习配置管理工具将使您的生活更轻松。
有很多 CM 工具,例如 Saltstack、Ansible、Chef、Puppet 等,您可以找到比较这些工具的在线资源。在您需要的功能中,选择一个CM工具并开始学习它。
12. 学习基础设施即代码
IaC 对于自动化您的基础架构和使用简单的脚本或替代工具配置您的环境非常重要。 DevOps 旨在缩短上市时间,同时保持良好的软件质量,而 IaC 将在这方面为您提供帮助。
选择一个云提供商(AWS、GCP 等),你会发现很多免费的在线资源来启动你的基础设施。您还可以学习如何使用“云管理器”技术,一些 CM 工具(例如 Saltstack)可以帮助您在 AWS 或 GCP 上预置基础设施,否则,如果您需要更多技术,例如 Terraform。
13. 学习如何监控软件和基础设施
应监控在生产中部署的软件和托管它的基础设施。监控和警报是您需要了解的重要技能之一。
Zabbix、Icinga、Sensu、Prometheus .. 有很多工具您可以学习,但首先要比较这些工具并选择适合您要求的工具。您还可以考虑学习如何部署和使用 ELK 堆栈。
14. 了解容器和编排
像 Docker 这样的容器正在成为一项必备技能!您需要具备在开发和生产环境中创建、构建、部署和管理容器的良好技能。
15. 了解如何部署和管理无服务器应用程序
无服务器是 2017 年最热门的技术之一,很快它将成为许多职位描述中的要求。 AWS Lambda、Azure Functions、Google Cloud Functions、IBM OpenWhisk 或 Auth0 WebTask,您可以选择开始学习其中的一种。
16. 学习与分享
学习是一个持续的过程,分享您的知识可以帮助您了解更多!加入 法恩 ,一个由 DevOps 热情和专业人士组成的社区,您可以在其中学习和分享很棒的东西。
最后,您还可以参考以下 DevOps 学习路径,
你也许也喜欢,
[
成为区块链开发人员所需的 7 项技能
您需要这些才能在区块链中找到工作 [2021 Editi
媒体网
](/brandlitic/7-skills-needed-to-become-a-blockchain-developer-17533de37ec5)
[
Surface Web vs Deep Web vs Dark Web vs Darknet 解释
互联网之外的世界,但在万维网 (WWW) 中
媒体网
](/brandlitic/surface-web-vs-deep-web-vs-dark-web-vs-darknet-explained-f7fb54d5397f)
[
微服务与 API — 什么适合您的业务?
一个并不总是暗示另一个
媒体网
](/brandlitic/microservices-vs-api-whats-right-for-your-business-e02646d7b8a0)
[
什么是以太坊 2.0,它为什么重要?
了解所有关于权益证明、分片、发布阶段、Eth 2.0 风险及其持有的未来的信息
媒体网
](/brandlitic/what-is-ethereum-2-0-and-why-does-it-matter-explained-e0c8c4caca83)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:https://www.qanswer.top/38880/53092312
标签:工程师,vs,DevOps,学习,如何,从零开始,服务器,软件 From: https://www.cnblogs.com/amboke/p/16722343.html