查看封面图
此处省略内容
"嘿,世界" 👋这里开始了我希望会是许多文章中的第一篇,这些文章将讲述我的旅程历程,不仅作为DevOps工程师,也作为程序员。
就像这个领域的许多人一样,我从未梦想过成为一名DevOps工程师(更别提还成了技术负责人,但我不想自夸 😇),这条道路似乎不可避免,就像不经意间拼好了一副从未意识到的拼图 🧩.
……
实际上没人梦想过成为DevOps专家让我们坦诚地说——没有人小时候梦想成为DevOps工程师 💭。
当我刚开始接触技术时,我对DevOps还一无所知。我对技术的热爱始于我学习了我的第一种“编程”语言:HTML(双关) 😅。当时,制作我第一个网页的感觉简直太棒了。作为一个孩子,我对用简单的HTML和一点CSS就能做出的东西感到惊讶 😮。
但当我开始从静态网页转向动态应用时,一切开始变得不同。
我开始学习后端开发,从PHP入手,然后接触了像Pascal、C++、C#这样的语言(Pascal?一提到这个我就感觉自己已经成了古董😆)。这让我进入全栈开发的领域,可以同时处理应用程序的前端和后端。随着我开发的应用程序越来越大,高效部署的需求也随之增加。这时,我开始了管道、CI/CD和云基础设施管理的学习之旅。
突然,手动管理部署变得不够用了。我需要将流程自动化,高效管理基础设施,并实现无缝代码交付。这一认识促使我走向了DevOps——一旦我体验到了自动化的强大魅力,就彻底被它吸引住了。⚙️💻☁️
PS: C# 依然是我最常使用的编程语言。 💗
只要有空闲时间,我还会拿它来玩玩、试试新东西或者做一些新的实现。为什么不呢? 🙂
为什么是DevOps?自动化带来的力量
对我来说,DevOps 全都是关于 自动化 的。⚙️⚙️ 我从来都不是 ClickOps 的粉丝——通过 web 门户手动管理基础设施的方式。在 Azure 门户中点击配置资源进行设置让我感到重复且疲惫不堪,更别说容易出错。每次手动重复的任务都像是在浪费时间和精力。就是那时候,我对 DevOps 的魅力心生向往。
自动化基础设施和部署,让我能够专注于真正重要的事情——快速高效地交付价值。DevOps不仅给了我工具来简化重复性任务,减少错误,还能轻松地扩展基础设施规模。(DevOps)自动化始终是我在这个领域的主要驱动力,至今仍然如此。
避免试图把每一个细小的细节都自动化,这会让你忽略真正重要的事情。试图自动化剩余的那20%流程可能要花费你80%的时间和精力,这可能会让你的努力白费。
要不要自动化?
PS:我将在另一篇文章中告诉你我是有多懒,以及正是这种懒惰驱使我建立了一个完整的应用程序和服务生态系统来自动化任务,省了我100万次点击的点击,可能还有同样多的Ctrl + C / Ctrl + V操作。🙂😵
有些人可能已经猜到了,但是请继续关注!
DevOps 工具集:命令行界面 (CLI)、脚本和流水线
作为DevOps工程师最令人兴奋的地方之一就是你拥有的各种工具。无论是自动化的基础设施、部署管理,还是将安全性融入你的流水线,你需要一个强大的工具集来完成工作。
命令行界面
作为一名 DevOps 工程师,你将会和命令行界面形影不离。从用 Terraform 管理基础设施到通过 Azure CLI 或 AWS CLI 与云服务交互,还包括使用 GitHub CLI,所有都围绕着命令行展开。自动化这些交互就是魔法所在。
有时候,说实话,命令行界面可能会让人觉得像是在攀爬一座陡峭的山——它们可以让人感到害怕,特别是当你在学习它们的特性时。但 hey! 总有进步的余地。
编写脚本
掌握脚本编写是DevOps的基础。不论是PowerShell、Bash还是Python(说到Python时,你是不是也有点害怕? 😨),脚本编写让你可以定制和自动化几乎所有任务。想想那些让你日常操作变得缓慢的重复任务——脚本化可以帮你自动化这些任务。例如,使用PowerShell配置环境或用Bash管理服务器任务可以节省你大量手动操作的时间。脚本不仅仅节省时间;它还提供了灵活性,解决那些简单的图形界面无法解决的问题。你很快就会意识到,脚本不仅仅是处理本地任务——它们也是CI/CD流水线的关键部分。
然而,这并不意味着你只能局限于脚本语言。比如说,有一天我希望我的所有自动化都可以用C#来编写。无论是实现Terraform的功能,还是构建CI/CD管道,你都可以用C#来完成各种任务。未来还有很大的发展空间。
持续集成/持续部署
不要害怕在你的CI/CD流水线中使用脚本;之所以这么说,是因为我曾经……我真的曾经因为某个我已经忘了的原因而害怕使用脚本。
事实上,持续集成和交付的许多环节都离不开脚本,比如Jenkins、GitHub Actions和Azure Pipelines这样的工具允许你将脚本直接嵌入到管道中,或从单独的文件中运行它们,从而让你完全控制整个过程。我建议将脚本存储在单独的文件中,即使是在本地开发环境中也能增强脚本的可测试性。例如,Terraform脚本可以自动提供资源,作为部署流程的一部分。通过脚本,你可以确保一致性,自动化回滚,甚至在管道的每一步中集成测试。一旦你掌握了它,CI/CD中的脚本编写就会变得轻车熟路,其在可靠性和速度上的优势显而易见。
自动化所有:无运维(无运维:无需运维人员的自动化操作)
"NoOps" - (并非)仅仅是一个流行词。
虽然还处于初级阶段,NoOps 的目标是实现基础设施管理的完全自动化,这样开发者就不用再担心运维问题了。
我希望我们能够构建内部工具和核心组件,让开发人员真正喜爱使用:例如管道模板、配置代码和基础设施即代码等等。我认为这个概念类似于SDK。
尽管我们还没有完全达到“无运维”的状态,这个概念却展示了自动化能走多远。
并且记得!GitOps 与 NoOps 紧密相连。
(唉!我还需要解释 GitOps 吗!?? 😩🙈)
好的!我会简短介绍:GitOps —— 确保所有东西都在仓库里。😇
DevOps工程师的多种面貌
在我职业生涯中,我遇到过许多不同类型的DevOps工程师。他们各自有着独特的背景,也有各自的优点和挑战。让我给你介绍几位:
以运维为主工程师:缺乏DevOps中的“Dev”部分
这些工程师通常来自传统的IT运维领域。他们擅长管理服务器、网络和云资源,但往往依赖于通过控制面板进行手动操作。他们可能擅长ClickOps(单击操作),但缺乏自动化这些流程所需的基本编程技能。他们的DevOps之旅从学习像PowerShell、Bash或Python这样的脚本语言开始,接着掌握Terraform或Ansible等工具来自动化日常任务。Terraform和Ansible是用于基础设施即代码(IaC)的自动化工具。
第一次体验运维的偏重开发工程师
在另一端,你会发现一些开发者第一次接触运维。他们擅长编写干净的代码并构建应用,但管理基础设施、部署应用以及排查云环境中的问题对他们来说都是新事物。他们的任务是学会如何集成部署流水线,监控基础设施,同时保持代码的质量。
平衡型 DevOps 工程师
理想的DevOps工程师兼顾开发与运维
(🤚 是的,就是我 😁)。他们既能写脚本,管理基础设施,又能自动化流程,还能解决生产中的问题。这样的工程师体现了DevOps的核心理念:将开发技能与运维知识结合,实现无缝对接。
不论你从哪个起点开始,每一条路径都是进入DevOps世界的良好开端。无论你是以运维为主的工程师开始学习编程,还是开发者开始了解基础设施的世界,每个人都可以在这个旅程中找到自己的位置。
你知道吗?DevOps 团队面对的开发者:
开始DevOps
- 学习编程:学习编程,比如Python、Bash或PowerShell,来自动化任务。
- 了解云服务:了解云服务的基础,比如AWS、Azure和/或GCP。
- 精通Git:精通Git,了解版本控制,比如分支、合并和拉取请求。
- CI/CD流水线:使用CI/CD流水线自动化测试、构建和部署代码的过程。
- 基础设施即代码:使用如Terraform这样的工具,通过代码来管理基础设施。
- 协作:与不同团队紧密合作,确保顺利交付。
你对DevOps有什么期待?
- 自动化聚焦:用脚本替换手动任务。
- 不断学习新工具和技术:新工具和技术更新迅速。
- 解决问题并进行扩展:解决基础设施问题并进行扩展。
- 与开发人员、测试人员和IT团队紧密合作:与开发人员、测试人员和IT团队协作。
- 负责软件交付流程:负责软件交付。
- 将安全性融入工作流程:将安全性整合到工作流程中。
结尾:开始你的DevOps之旅
无论你是运维专家开始学习编程,还是开发者第一次踏入运维领域,DevOps的世界广阔且充满机会。关键在于拥抱自动化,不断学习,并始终寻找提高效率和扩展性的方法。
无论你面向的是Azure、AWS、Google Cloud、阿里云还是其他云服务商,这些概念是一样的。
这只是我开始写文章的旅程,未来还有更多内容。在接下来的文章中,我将分享一路上的不同经历,更深入地探讨特定工具和自动化,并可能还会分享一些在DevOps世界中实用的小技巧。🙏
所以呢,继续关注——还有很多好玩的等你来探索!👀
致谢感谢 @koladev 写了这篇很棒的文章,它让我有了写文章的想法。
🔗 如何建立你的在线形象
感谢@birghi时不时的坚持,时不时地问一句“嘿!你把文章发出来了吗?” 😇
(轮到我来催了 😈)
感谢 @dumebii 写了那篇好文章,让我不要过于纠结这篇文章的写作,直接发布就好 😉。
🔗 🚀 如何成为技术作家
你的第一篇文章可能是最难写的之一
如果你喜欢这篇文章的话,并希望了解我的旅程和未来的帖子,可以关注我一下!我很乐意和大家一起探索DevOps、自动化以及其他相关话题。🚀😊
共同学习,写下你的评论
评论加载中...
作者其他优质文章