DevOps工程师
DevOps工程师
1. DevOps工程师的任务是什么?
- 设计、构建、测试和部署可伸缩的分布式系统,实现从开发到部署的自动化
- 管理代码库(如Git、SVN、BitBucket等),包括代码合并与集成、分支与维护、远程库管理等
- 管理、配置和维护基础设施
- 设计数据库体系结构和数据库对象,并同步各种环境
- 设计、实施和支持DevOps持续集成和持续交付pipeline
- 研究和实施新技术和新实践
- 将流程、系统和工作流文档化,更新操作手册
- 使用行业领先的服务创建和增强动态监视和警报解决方案
- 持续分析手动执行的任务,这些任务自动化
- 创建和增强基于Docker和Kubernetes的持续部署自动化
2. 谁能成为DevOps工程师?
- DevOps是一个涉及的知识面非常广。例如,您可能来自编码或测试背景,也可能是系统管理员、数据库管理员或操作团队。在DevOps方法中,每个人都可以扮演一个角色。
- 如果你具备以下的知识和/或专长,你就已经准备好成为DevOps工程师了:
- 你拥有学士、硕士或理学学士学位(最好是计算机科学、IT、工程、数学或类似专业)
- 2年以上软件开发经验,熟悉SDLC生命周期和精益敏捷方法(SCRUM)
- 有较强的Linux/Unix和Windows管理背景
- 使用面向对象或函数式编程语言(如Python / Ruby / Java / Perl / Shell scripting / Groovy或Go)进行系统开发
- 系统级了解Linux (RedHat、CentOS、Ubuntu、SUSE Linux)、Unix (Solaris、Mac OS)和Windows服务器
- Shell脚本和自动化的例程,远程执行脚本
- 具有数据库管理经验,熟悉Mongo/Oracle或MySQL数据库
- 强大的SQL和PL/SQL脚本
- 有使用Git、GitLab、GitHub或Subversion等源代码版本控制管理的经验
- 熟悉云架构,特别是Amazon Web Services(AWS)或谷歌云平台或Microsoft Azure
- 对docker/或Kubernetes的容器使用和实现有很好的理解
- 有使用Jenkins和GitLab进行CI/CD pipeline的经验
- 数据中心管理,系统管理,监控,网络和安全知识
- 有使用Ansible, Puppet and/or Chef进行自动化/配置管理的经验
- 了解如何使用配置监视工具(如Nagios或Prometheus)监视代码
- 基础设施和网络方面的背景
- 关于RESTful api的广泛知识
- 对网络和核心互联网协议(如TCP/IP、DNS、SMTP、HTTP和分布式网络)有扎实的理解
- 优秀的书面和口头英语沟通能力
- 自我学习,团队合作,愿意学习新技术,独立解决问题和交付结果的能力。
3. 相关的工具
- 编程语言(C、Java、Perl、Python、Ruby、Bash shell、PowerShell)
- 操作系统概念(资源管理)
- 源码控制(如Git、Bitbucket、Svn、VSTS等)
- 持续集成和持续交付(Jenkins, GitLab CI, CircleCI)
- 基础设施即代码(IaC)自动化(工具如Puppet、Chef、Ansible和/或Terraform)
- 管理服务器(应用程序、存储、数据库、基础设施、网络、web服务器等)
- 应用程序、数据库、Web服务器、存储、基础设施、网络服务器
- 网络和安全
- 容器的概念(Docker)
- 持续监视(Nagios和Prometheus)
- 云(比如AWS、Azure、谷歌云)
4. 软技能
作为一个DevOps工程师,你必须是一个积极的团队成员,需要有学习和成长的愿望,优化流程并找到更好的解决方案。
由于DevOps涵盖的范围很广,所以最好专注于您的关键技能,并根据需要学习技术和工具。
理解问题/挑战,然后找到一个与此类似的DevOps解决方案。
DevOps工程师的更多相关文章
- DevOps 工程师实际上是做什么的
DevOps 工程师实际上是做什么的? 我们之前已经讨论过许多关于DevOps和DevOps世界的最新趋势了.但是DevOps工程师到底是做什么的? DevOps工程师以最纯粹的方式弥合了软件开发和运 ...
- DevOps工程师到底做些什么?
我们之前已经听到很多谈论DevOps和DevOps世界的最新趋势的事情,但是就DevOps工程师本身,到底干些什么呢? 在最纯粹的存在形式上来说,DevOps工程师是为了加快开发和运营团队之间的交付效 ...
- DevOps工程师的成长路线图
DevOps工程师的成长路线图 我们推崇的是 Reducing the gap between Devs and Operation teams. 来自kamranahmedse you built ...
- DevOps 工程师成长日记系列五:部署
原文地址:https://medium.com/@devfire/how-to-become-a-devops-engineer-in-six-months-or-less-part-5-deploy ...
- DevOps 工程师成长日记系列四:打包
原文地址:https://medium.com/@devfire/how-to-become-a-devops-engineer-in-six-months-or-less-part-4-packag ...
- DevOps 工程师成长日记系列三:版本
原文地址:https://medium.com/@devfire/how-to-become-a-devops-engineer-in-six-months-or-less-part-3-versio ...
- DevOps 工程师成长日记系列二:配置
原文地址:https://medium.com/@devfire/how-to-become-a-devops-engineer-in-six-months-or-less-part-2-config ...
- DevOps 工程师成长日记系列一:必备知识与技能组合
原文地址:https://medium.com/@devfire/how-to-become-a-devops-engineer-in-six-months-or-less-366097df7737 ...
- DevOps - 工程师职责
章节 DevOps – 为什么 DevOps – 与传统方式区别 DevOps – 优势 DevOps – 不适用 DevOps – 生命周期 DevOps – 与敏捷方法区别 DevOps – 实施 ...
- 优秀DevOps工程师必会的33个面试题
DevOps面试问题 01 您能告诉我们DevOps和Agile(敏捷)之间的根本区别吗? 答:尽管DevOps与敏捷方法(这是最流行的SDLC[Software Development Life C ...
随机推荐
- Elasticsearch(5) --- 基本命令(集群相关命令、索引CRUD命令、文档CRUD命令)
这篇博客的命令分为ES集群相关命令,索引CRUD命令,文档CRUD命令.这里不包括Query查询命令,它单独写一篇博客. 一.ES集群相关命令 ES集群相关命令主要是_cat命令,所以这里详细讲解下该 ...
- TCP的网络编程基础
服务器建立 ServerSocket 对象ServerSocket 对象负责等待客户端请求建立套接字连接,类似邮局某个窗口中的业务员.也就是说, 服务器必须事先建立一个等待客户请求建立套接字的 连接 ...
- Bottleup pg walkthrough Intermediate
一开始看到page=view/.html的时候就想到目录穿越了尝试../../../../../../../../../../../etc/passwd 发现不行 找半天其他可能存在漏洞的地方又找不到 ...
- oracle 根据节点id递归查询全部的父节点(转载)
本文转载自 https://blog.csdn.net/BondChenJ/article/details/78581625 1.适用状况:blog 适用树状结构数据,例如包含id,parent_ ...
- Delphi中的变体Variant数组相关函数
转自:Delphi中的变体Variant数组相关函数 1.VarArrayCreate procedure TForm1.Button1Click(Sender: TObject); var V, ...
- Lua字节数组与float互转
纪念那些在双流工厂奋斗的日夜,防爆表屏项目 是一次很成功的实践,包括设计的页面堆栈和跳转机制 历史回退机制 页面密码保护机制 串口分包机制 ,运用综合所学来搭建的屏上独立内循环系统 ,自恋点说的话各 ...
- HT-014 Div3 扫雷 题解 [ 绿 ] [ 二维差分 ]
分析 观察到是曼哈顿距离 \(\le r\) 的范围可以扫到,联想到如下图形: 左边是 \(r=1\) 可以扫到的范围,右边是 \(r=2\) 可以扫到的范围. 于是,我们只要对这样的图形在 \(10 ...
- 升级 element-ui 2.15.7 后遇到 el-date-picker 警告问题
近期把 element-ui 升级到了官网最新的 2.15.7 版本,无意间发现控制台出现了 Prop being mutated: "placement" 警告,完整警告:
- 【Spring Boot】我的第一个Spring Boot练习
背景 Spring 在 Java 生态的企业级开发项目中极其常用,通常我们为项目引入一项新技术时,不得不考虑如何将新技术与 Spring 整合在一起. 我们知道,预研一项新技术,我们基于 MVP(最简 ...
- 一个nginx + vue下二级路径版本化方案
PS: 尽量不要做版本化!尽量不要做版本化!尽量不要做版本化! 过程说明: 1.arg_appver表示读取url上appver参数 2.对appver参数做变量映射得到alias_party1_te ...