写点什么

作为离“全栈”最近的 DevOps 人员,我们都该做些什么?

  • 2019-08-19
  • 本文字数:2829 字

    阅读完需:约 9 分钟

作为离“全栈”最近的DevOps人员,我们都该做些什么?

在本文中,我主要解释解释自己的日常工作有哪些内容。顺带一提,我在这一行做了快三年的顾问,但从来没有认真定义过自己的工作内容和角色定位。


DevOp 作为一个术语,承载着非常广泛的含义,不同的人或者组织而言对此也有着不同的理解方式。所以我不敢妄言 DevOps 工程师的所谓规范定义,或者是将其严格限定为某种工作角色/职位或者文化运动。

个人动机

之所以想起写下这篇文章,是因为有时候我发现自己也闹不清在工作里到底做了什么。因为我不是什么 Java 专家、不是一线开发者、不是系统管理员,也不同于大家所熟知的任何常见角色。另外,我甚至很难被准确划入任何一个严格限定的知识领域/单一专业方向(在这方面,我可能跟系统管理员有点类似)。


我在 Reddit 网站的 DevOps 频道中看到过一篇文章,受此启发,我想试试能不能通过一篇博文说清自己的工作到底是什么。好了,下面进入正题。


作为 DevOps 顾问,我到底在做什么

背景说明

在正式加入目前这家公司之前,我曾在 IT 领域拥有一些短期从业经历——前后大约 7 个月。在这轮夏季实习当中,我拿出了 4 个月左右积累自己的全栈开发经验,包括使用 APS.NET 框架以及 Razor 后端模板,外加 kickout.js 以及使用 svn 作为 SCM 等等。在此之后,我把另外 3 个月花在初级研究员职位上。最终与虚拟化建立关联,是在一个研究项目当中,当时我们利用西门子的 Jailhouse 项目探索虚拟化技术在 RTOS 中的影响。该项目能够提供虚拟化单元(这是我们自己起的名字),用以访问无法在其它单元之间共享的硬件。这是我第一次接触管理程序,了解它们的类型以及工作方式。在后来真正走上 DevOps/基础设施岗位之后,凭借着实际体会,我坚信虚拟化将成为其中的关键概念。

我的 DevOps 发展路线图

目前,我在一家咨询企业负责改进开发流程与工作流程,我们通过基础设施自动化与整体思维方式的转变帮助 IT 企业客户改善组织流程。


自从接触工业物联网环境以来,我获得了更灵活的施展空间,包括随意选择语言、框架——总之,只要对业务架构以及业务需求具有实际意义,我都可以做出自己的决策。


在项目当中,我最终使用 python 配合 flask,这也是我第一次接触 Docker;此外,我还负责管理网络、工业协议、面向 arm 设备的交叉编译、RAM 资源优化,以及思考如何加强软件项目对物理环境下各类挑战的抵御能力(例如断电、网络中断等)。与此同时,我还利用 Open ERP 开发出一个内部项目(名为 ODOO),并利用 Python 脚本对其进行自动化配置(ODOO 同样使用 Python 编写而成)。


从这里开始,我转向咨询岗位,并由此接触到配置管理以及 Ansible。此外,我还利用 Vagrant 配合 LXC(而后转向 Docker)以及 Ansible 配置机制,确保不同开发结果能够在开发人员的机器上拥有相同的运行状态。

配置管理

很多朋友可能拥有配置管理经验。但为了避免没接触过这方面工作的读者搞不清状况,这里我多解释几句。在编写这类任务时,我们需要拥有完整的基础设施与开发环境,同时具备操作系统知识、了解其特性、熟悉其脚本(从 bash 等 powershell 等等)。而最重要的,无疑是软件架构的全面知识,这是一切 DevOps 岗位的必然要求。另外,熟悉最新工具——虽然简历里说要求什么五年的工具使用经验,但实际上好多工具正式推出才一年左右。当然,大家明白其中的意思就行,包括熟知软件应该如何工作、了解其已知模式以及工具语法等。


由于 DevOps 岗位跨越整个组织结构,因此我们必须同时了解如何编程、了解网络原理、了解虚拟化知识、了解软件等等。在日常工作当中,我还把很大一部分时间投入到代码粘合当中。

CI/CD

使用 CI/CD(持续集成/持续交付)工具,并在源代码管理方面获取 IAC(基础设施即代码)以及应用程序代码。为了实现这一点,我需要经常用到 git 以及大量相关工作流程,同时利用 groovy 构建同事们易于理解的 yaml 配置,进而实现 Jenkins 的自动运作与配置。这实际是 DevOps 工作中的一大日常组成部分,虽然我已经不再像过去那样经常使用 Ansible,CI/CD 工具及其流水线仍是个需要经常复习提升的技术方向。

安全与访问控制

最后,我还经常需要面对身份验证、授权、使用 LDAP、Keycloak(及其所有集成,、SAML、Oauth 等);虽然有很多替代性工具,但 Keycloak 仍然非常重要。毕竟三个 A(即授权、认证与访问管理)解决方案,特别是 keycloak,绝对是一类不可或缺的常备工具。

基础设施即代码

除了 Docker、Vagrant 以及 Ansible 等,我最近也开始拉钩 eTerraform,并短暂使用过一阵子 DloudFormation。而且除了使用 ESXi 的内部环境之外(我还没对其进行自动化升级),总有某些云基础设施需要实现自动化,在这方面我的职能角色开始变得比较模糊。不少企业需要 Terraform 专家,或者是 Azure DevOps 管理员乃至 AWS 负责人之类;但这些都不是最重要的,这些具体的某一种技能不会是 DevOps 职位的全部。否则,我们需要的只是 Terraform 专家/Azure 管理者这类类似于云系统管理员的职位,而不是真正的 DevOps 角色。

负载均衡器与反向代理

再有,大家应该熟悉 Nginx、HAProxy 或者 Traefik 的配置方法,及其实例(Docker 或其它)格式或安装技能。我曾经配置过不少负载均衡器,大多数作为反向代理使用,但我目前还没遇到过成规模的 ELB 或者是其 Azure 配置任务。


哦,对了,在这方面,证书管理也是一类躲不开的常见工作。

应用程序开发

最后但同样重要的,自然就是开发工作了。我目前在使用 Java 与 JavaScript 进行全栈开发。我认为作为一名 DevOps 人员,再加上完整解决方案这一需求背景,我必须成为一名出色的工程师加程序员。毕竟 DevOps 的原则就是“谁构建,谁运行”——也就是说,我需要编写应用代码行、支持基础设施代码、打理负载均衡器、完成应用程序的部署与 QA 流水线构建工作。

数据库

好吧,差点忘了数据库这码事。ElasticSearch、PostgreSQL、MySQL 等都很常见。虽然我不是什么数据库管理员,但最终还是得接手相关配置工作,包括管理其连接、ACL、备份等等。当然,我还远远称不是 SQL 专家,而且也会尽量避免在数据库或者 AWS 专家这些方向上把路走窄。

员工心态

到目前为止,我已经谈到很多语言与不同的环境。但在大多数情况下,除了编码工作之外,我还是得跟同事们打交道。我的一部分重要工作,就是帮助其他工程师建立起 DevOps 思维模式、简化工作内容、让他们的生活更轻松并在整个组织之内运行他们的应用程序,最终弥合开发人员与运营团队之间的差距。

内容总结

如果大家不想浪费时间从头读下来,那一句话总结:DevOps 人员,需要什么技术都懂一些。正因为如此,DevOps 有时候会被称为万金油或者架构大师。当然,我觉得自己完全称不上什么大师,在成长方面还有很长的路要走。


希望大家喜欢这篇文章,也希望它能帮助大家解决“DevOps 人士到底在做些什么”这个难题。当然,如果各位已经是这个岗位上的一员,那么您可能正与我经历类似的工作体验。


感谢大家的宝贵时间和耐心:)


下面是我整理出的,优秀 DevOps 人士的发展路线图:



原文链接


What do you do as a DevOps?


2019-08-19 16:1213913

评论 1 条评论

发布
用户头像
轨迹竟然高度相似!!!
2019-08-21 17:26
回复
没有更多了
发现更多内容

政务公告数据的应用与八爪鱼的实践

八爪鱼采集器︱RPA机器人

爬虫 采集

KWDB 开源社区走进天津大学

KaiwuDB

2024年必试:七大免费货币转换API推荐

幂简集成

API 货币

1688 跨境代采系统:助力外贸工作者的反向海淘利器详解

tbapi

1688 agent 1688代采系统 反向海淘系统 逆向海淘系统 1688跨境代采系统

如何通过微软AD域来管理企业用户?

ServiceDesk_Plus

AD域 #运维

GitLab 安全漏洞CVE-2024-9164、CVE-2024-8970 等的修复方案

极狐GitLab

gitlab 安全漏洞 CVE CVE 漏洞

如何在鸿蒙 NEXT 中使用 @Builder 装饰器优化 UI 组件的复用?

威哥爱编程

huawei HarmonyOS ArkTS HarmonyOS框架 HarmonyOS NEXT

鸿蒙 NEXT 如何使用 @Styles 装饰器来优化我的组件代码?

威哥爱编程

华为 HarmonyOS ArkTS HarmonyOS框架 HarmonyOS NEXT

原型设计软件:Axure RP 9(Win&Mac)中文版

你的猪会飞吗

Axure RP 9汉化 Axure RP 9破解版 Axure RP 9授权

混合WAN与SD-WAN:两种架构的利与弊

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

发力聚焦主营业务,OSL 的增长空间几何? | Techub 财报解读

TechubNews

大模型后训练时代,“呼唤”普惠算力服务新范式

九章云极DataCanvas

部署SD-WAN时会遇到什么问题及应对策略

Ogcloud

SD-WAN SD-WAN组网 SD-WAN服务商 SDWAN SD-WAN国际专线

AI 赋能大模型:从 ChatGPT 到国产大模型的角逐与发展契机

GPU算力

HPC 算力 高性能计算 LLM 大语言模型

YouTube 上线「用相机拍摄」标签为真实视频「验明正身」;美国被曝考虑限制向中东国家出口 AI 芯片丨 RTE 开发者日报

声网

KaiwuDB 亮相第二十四届中国国际工业博览会

KaiwuDB

KWDB 正式捐赠给开放原子开源基金会

KaiwuDB

采用众包方法进行红队测试 (Red Teaming)

澳鹏Appen

red team 大模型幻觉

成长-最佳实践-避免自以为是

南山

成长

行业融媒体平台建设与八爪鱼

八爪鱼采集器︱RPA机器人

爬虫 采集

掌握行业全球新闻,实现产业研究/内容聚合分发/情报采集

八爪鱼采集器︱RPA机器人

爬虫 采集

人工智能机器人

天津汇柏科技有限公司

AI 人工智能

精彩回顾 | KaiwuDB 携手信通院举办能源行业数据库研讨沙龙

KaiwuDB

智算筑基,九章云极DataCanvas公司闪耀2024年服贸会

九章云极DataCanvas

见证 RTE 的新篇章丨 RTE 年度场景 Showcase 暨第四届 RTE 创新大赛开幕

声网

九章云极DataCanvas公司荣获2024年服贸会“科技创新服务示范案例”

九章云极DataCanvas

八爪鱼采集在国央企产业大脑的应用:以智慧水务大脑为例

八爪鱼采集器︱RPA机器人

爬虫 采集

作为离“全栈”最近的DevOps人员,我们都该做些什么?_DevOps & 平台工程_André Ilhicas dos Santos_InfoQ精选文章