如何成为DevOps工程师
原文地址(原作者:Conor Delanbanque):https://opensource.com/article/19/7/how-transition-career-devops-engineer
首先,了解 DevOps 的基础知识、实践和方法。
在开始使用工具之前,先了解 DevOps 背后的“原因”。DevOps 工程师的主要目标是在整个软件开发生命周期(SDLC)中提高速度并保持或提高质量,以提供最大的业务价值。您可以阅读文章,观看 YouTube 视频,并前往当地的 Meetup 小组或会议 —— 成为受欢迎的 DevOps 社区的一员。在那里您将可以当面向那些社区成员成功或是失败的经验中学习。
根据自己的技术背景,选择适合自己的方向
DevOps 工程师角色涵盖广泛的职责。以下是企业最有可能使用它们的三种方式:
偏爱开发的 DevOps 工程师,担任构建应用程序工作。他们利用持续集成/持续交付(CI/CD),共享存储库,云和容器作为日常工作的一部分,但他们不一定负责构建或实施工具。他们了解基础架构,并且在成熟的环境中,能够将自己的代码推向生产环境。
偏爱运维的 DevOps 工程师,可以与系统工程师或系统管理员进行比较。他们了解软件开发,但不会用他们日常的主要精力用于构建应用程序。相反,他们更有可能支持软件开发团队将原有手动流程自动化,并提高人员和技术系统的效率。这可能意味着分解遗留代码并使用较少繁琐的自动化脚本来运行相同的命令,或者可能意味着安装,配置或维护基础架构和工具。他们确保为任何需要它们的团队安装和使用正确的工具。他们还通过教他们如何利用 CI/CD 和其他 DevOps 实践来帮助团队。
网站可靠性工程师(SRE)就像解决运营和基础设施问题的软件工程师。SRE 专注于创建可扩展,高可用且高可靠的软件系统。
学习这些技术
DevOps 工程师需要了解各种技术才能有效地完成工作。无论您的背景如何,作为 DevOps 工程师请从使用和理解的基础技术入手。
操作系统- 操作系统是一切系统运行的土壤,拥有基础知识非常重要。Linux 系统是您最有可能每天使用的操作系统,尽管有些组织使用 Windows。要开始使用,您可以在家中安装 Linux,在那里您可以随心所欲地打破规则并一直学习。
脚本- 接下来,选择一种语言来学习脚本。有很多可供选择,包括 Python,Go,Java,Bash,PowerShell,Ruby 和 C/C++。我建议从 Python 开始;因为它相对容易学习和解释,并且是最受欢迎的语言之一。Python 通常是为了遵循面向对象编程(OOP)的基础而编写的,可用于 Web 开发,软件开发、创建桌面 GUI 和业务应用程序。
云- 在 Linux 和 Python 之后 ,我认为接下来要研究的是云计算。基础设施不再留给“运维人员”,因此您需要接触云平台,如亚马逊网络服务,Azure 或谷歌云平台。我从 AWS 开始,因为它拥有大量免费学习工具,作为开发人员AWS可以帮助您在运营、甚至面向业务组件方面少走弯路。事实上,您可能会被庞大工具淹没。可以考虑从 EC2,S3 和 VPC 开始,看看你想从哪里走向哪里。
编程语言- 如果您对软件开发充满热情并参与 DevOps,请继续提高您的编程技能。DevOps 中有一些优秀、并且被广泛使用的语言与脚本语言相同:Python,Go,Java,Bash,PowerShell,Ruby 和 C/C++。您还应该熟悉 Jenkins 和 Git/GitHub,并会 CI/CD 过程中经常使用它们。
容器技术 - 最后,开始学习使用 Docker 和编排平台(如 Kubernetes)等工具进行容器化。这些工具都有大量的免费在线学习资源,大多数城市都有本地的 Meetup 小组,您可以在友好的环境(比萨和啤酒!)中向有经验的人学习。
还有哪些- 如果您的开发经验较少,您仍然可以发挥对自动化的热情,提高效率,与他人协作以及改进您的工作来参与 DevOps。我仍然建议学习上述工具,但不太强调编码/脚本语言。反而了解 SaaS,PaaS,云平台和 Linux 将非常有用。您可能正在设置工具并学习如何构建具有弹性和容错性的系统,并在编写代码时利用它们。
---
**欢迎关注我的微信公众号 - DevOps实践之路**
![qrcode_for_gh_064ac0ab8376_344.jpg](https://img.haomeiwen.com/i2504773/3eb1b8d0820e3298.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)