2021 年成为 DevOps 工程师的路线图
DevOps 工程师已不仅仅是一份工作,而是一种情感。各行各业的人们都愿意亲自动手,投身 DevOps 工程师的职业。抛开那些热门词汇不谈,DevOps 在软件领域占据着独特的地位。尽管许多技术随着时间的推移而发展并逐渐消亡,但 DevOps 的发展路径似乎并不会很快消失。DevOps 将会持续发展,我们迟早会看到大量公司采用这种方法。
DevOps 到底是什么?
DevOps 是一个强调从技术角度促进软件开发人员和 IT 专业人员(例如开发和运维人员)之间沟通和学习的过程,他们共同管理生产环境,并以高度谨慎和协作的方式自动部署软件和基础架构变更。DevOps 的核心是将开发和运维整合到一个统一的团队中,以便两者之间无缝地进行持续的学习、知识共享和责任共担。DevOps
的概念源于敏捷方法论,并于 2009 年首次引起关注。
DevOps 的必要性
公司中许多部门通常各自为政,各自执行各自的流程。尤其是在软件驱动的组织中,开发人员和运维人员彼此之间毫无关联,这会在团队中造成很多混乱,影响公司整体发展和个人生产力。DevOps 的理念是弥合开发和运维之间的差距,以支持其他部门,从而确保组织内部的工作流程顺畅。这使得公司能够尽早尝试,尽早学习,从而快速交付软件功能和安全更新。DevOps 的最终目标是以更高的质量和可靠性更快地将产品推向市场。
成为 DevOps 工程师所需的技能:
DevOps 是一种文化现象,而非个人工作角色。它更像是一项团队运动,无法独自完成。因此,与我自己的说法相反,DevOps 工程师的概念并不存在,只是公司为了便于理解而创造了这个职位。
那么,这和工具有关吗?不是:)
但是了解所有 DevOps 工具(如 Docker、GitHub、Kubernetes、Terraform、Ansible、Puppet 等)是必要的,因为这是公司在聘请 DevOps 工程师时所寻找的。
但最重要的是学习 DevOps 文化和框架,而不是工具。大多数人可能还会强调自动化方面,但这并非全部。DevOps 工程师应该具备脚本、编程和框架的基础知识。从其他部门转入 DevOps 的人员应该了解开发人员在开发阶段要做什么,如何管理代码版本,如何测试、集成代码并将其部署到服务器,以及最终用户如何使用软件。一旦他们理解了如何在没有自动化工具的情况下从理论上和手动上完成工作,这些概念就会变得清晰易懂。
除此之外,掌握运维知识对于精通 DevOps 也至关重要。DevOps 工程师不仅要编写代码或进行自动化,还必须了解其他相关方面,例如
- 脚本和 Linux 基础知识
- 了解不同的云提供商
- 了解软件开发生命周期(SDLC)的工作原理
- 熟悉源代码控制和版本控制以及 GitHub 和 Bitbucket 等工具
- 具有构建工具的经验
- 工件管理工具,例如 JFrog artifactory 和 Sonatype
- 基础设施设计和微服务
- 更好的沟通技巧
- 自动化测试技能
- 了解基础设施即代码
- 故障排除技能
- 了解 CI/CD 和工具的概念
- 了解 DevOps 流程及其工作原理
- 了解系统如何扩展——水平扩展和垂直扩展
- 虚拟化概念
- 了解不同的 DevOps 成功指标,如部署频率、变更前置时间、变更失败率、恢复服务时间等
- 容器化概念和工具(例如 Docker)
- 容器编排和 Kubernetes 等工具
- 软件发布周期和管理
什么是CI、CD、CD?
持续集成 (CI),顾名思义,专注于将各个开发人员的工作整合到一个代码库或代码库中,以简化持续工作。这项工作每天可以进行多次;其主要目的是及早发现集成错误,并实现更紧密的内聚力和更顺畅的开发协作。CI 的目标是快速确保开发人员提交的新代码更改是良好的,并且适合在代码库中进一步使用。
持续交付 (CD) 的目标是最大限度地减少部署阶段固有的摩擦点。通常,团队的实施涉及自动化构建部署的每个步骤,以便可以随时安全地发布代码。
持续交付是借助自动化工具,对软件代码库进行构建、测试和交付改进的重复性实践。持续交付 (CD) 的关键结果是代码始终处于可部署状态。
许多人混淆了持续交付和持续部署,而实际上,在 DevOps 领域,两者截然不同。
持续部署是一种 DevOps 流程,其中涉及更高程度的自动化,每当代码发生重大更改时,都会自动进行构建/部署。在这里,开发人员的代码更改会被自动检测并准备好立即发布到生产环境。
从哪里开始您的 DevOps 之旅?
问题是,很少有公司会聘请应届毕业生担任 DevOps 工程师,但话虽如此,行业中仍然存在巨大的技能缺口。公司很难找到优秀的 DevOps 候选人,而且常常因为人才短缺而失败。
以下列出了一些你可以选择的资源和课程,助你踏上 DevOps 职业道路。
- 阅读《凤凰计划》一书
- 参加此免费的DevOps 先修课程
- 观看 Rackspace 的这段视频,用简单的英语解释了 DevOps 的含义
- 在 Quora 上阅读专家们关于如何成为一名优秀的 DevOps 工程师的有趣回答
- 观看并学习由 Mumshad(Udemy 顶级讲师之一)为初学者提供的 Docker 完整免费课程
- 在 Twitter 上关注这100 位 DevOps 影响者
- 加入开发者社区论坛,如dev.to、Hashnode、Dzone、DevOps subreddit、Stackoverflow、DevOps StackExchange、Changelog等
DevOps 正占据着中心地位,正如我们之前提到的,它正在成为软件开发的典范。DevOps 工程师是全球收入最高的专业人士之一,也是目前全球范围内最热门的技术工作。DevOps 是一条不错的职业道路,合理的规划和方法能让你获得一份好工作。但一旦你踏入这个领域,强烈建议你持续学习,因为 DevOps 领域在不断发展,新的工具层出不穷。
顺便说一句,如果之前没有任何工作经验,或者不了解各种工具和自动化技术,想要成为一名 DevOps 工程师有时会很困难。KodeKloud 想出了一个简单的办法,通过解决实际的 DevOps 问题和挑战,帮助你获得免费的 DevOps 工作经验,从而获得 DevOps 职位。
观看下面的视频了解更多信息。
谢谢你:)
文章来源:https://dev.to/kodekloud/your-roadmap-to-become-a-devops-engineer-in-2020-i1n