【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

作为离“全栈”最近的 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:1213740

评论 1 条评论

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

2023年总结:NFT经济从不可替代到可替代的转变

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

提升软件质量的利器:Mock 测试教程

Apifox

前端 前端开发 Mock Mock 服务 Mock.js

大模型训练中的断点继续训练问题

百度开发者中心

深度学习 大模型

兼容M1 Mac下载工具Folx pro 5 v5.27中文激活版 安装包

南屿

BRC20铭文合约代币系统开发

西安链酷科技

加密货币 ERC20 发币

HTTPS可能遇到的安全问题

德迅云安全杨德俊

安全 网站 中间人攻击 HTTPS协议

macOS高品质音频播放器:HQPlayer 4 Pro for mac

南屿

mac软件下载 mac音乐播放器 HQPlayer 4 Pro下载 苹果电脑无损播放器 HQPlayer 4 Pro破解版

MindNode for mac思维导图 中文完美解锁版 支持M/Intel

南屿

软件开发

Geek_8da502

小企业是否应该采用SD-WAN组网?

Ogcloud

网络 SD-WAN 组网 组网网络

大模型训练在人脸表情识别中的应用

百度开发者中心

深度学习 大模型 LLM

大模型训练显存优化策略

百度开发者中心

深度学习 大模型 LLM

Sensei for Mac专业的硬盘清理优化工具

南屿

水杉3D建模:Metasequoia 4 Mac激活版 附永久注册码 支持intel/M1/M2

南屿

TinyEngine 服务端正式开源啦!!!

OpenTiny社区

开源 前端 低代码

九章云极DataCanvas公司两大标杆案例入选《2023大模型落地应用案例集》

九章云极DataCanvas

投放户外LED广告屏有什么好处?

Dylan

媒体 广告 网络 消费

MySQL常用图形管理工具

小魏写代码

ClkLog访谈之1:某大拍卖公司互联网运营经理

ClkLog

迪士尼视频下载工具Disney Plus +使用教程

南屿

spss统计软件:IBM SPSS Statistics 27 (Win/mac)中文激活版

南屿

iOS实时查看App运行日志

雪奈椰子

Enfocus PitStop Pro 2022 for Mac(pdf增强插件) v22.0.1378944中文

南屿

BRC20铭文发币成本是多少?一文读懂

西安链酷科技

铭文币

波场能量租赁平台开发 带宽租赁收益挖矿

西安链酷科技

波场能量 能量租赁

喜讯!九章云极DataCanvas公司顺利通过ITSS运维二级认证

九章云极DataCanvas

MT7915 and QCA9880: the duo in wireless connectivity

wallysSK

GLM助力通用预训练

百度开发者中心

人工智能 LLM

Autodesk Maya 2023中文版安装教程 附maya破解补丁 Mac/win

南屿

ZCube:在我的优惠券中的落地实践 | 京东云技术团队

京东科技开发者

SD-WAN:推动企业上云的全新路径

Ogcloud

网络 SD-WAN 组网

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