作为DevOps角色能做些什么?


DevOps工程师的工作职责是什么?

1. 配置管理
对于那些进行过配置管理的人来说,这不仅仅是使用一些安全的脚本,你还需要掌握操作系统的知识,他们的特点。最重要的是完全了解软件架构,这是任何Devops角色的最大要求。深入了解软件应该如何工作、已知模式是什么,然后才了解工具的语法。
由于DevOps角色要求您跨组织结构了解如何编程?网络应如何工作,虚拟化如何发生?您还必须制作胶水将它们粘结在一起,使用管道串联起来。

2. CI / CD
使用CI/CD(连续集成/持续交付)工具,广泛地使用git,Jenkins可实现这个流程的自动化配置和发布,从groovy到yaml 配置Jenkins ,这里花费了我很多时间和精力。

3. 安全和访问控制
使用身份验证,授权,使用LDAP,Keycloak(及其所有集成,SAML,Oauth等等)。

4. 基础设施代码
除了Docker,Vagrant,需要学会自动化一些云基础设施。

5. 负载均衡器和反向代理
配置Nginx等反向代理和负债平衡器

6. 应用开发
最后但并非最不重要的是,也进行全栈开发,使用Java和Javascript。我相信作为一个DevOps角色,并且不得不在完整的解决方案中将自己置于上下文中,这实际上使我成为一个整体更好的工程师和程序员,因为you built it.. you run it不言而喻。编写应用程序,支持基础架构代码,在它前面防止LB、部署和QA管道。

7. 数据库
我不是DBA,但最终还是配置ElasticSearch,PostgreSql,MySql的人,从他们的连接,他们的ACL,到他们的备份和管理,但我远不是一名SQL专家,无论如何都会避免陷入狭隘的领域,成为数据库或平面AWS专家。

8. 人类心态
好吧,到目前为止,我已经接触过很多语言和许多不同的环境,所以大多数时候,除了所涉及的所有编码之外,我最终还是和人类谈话,而我的部分工作实际上是在帮助其他同事拥有DevOps思维模式,简化事情,让他们生活更轻松,可在整个组织内运行他们自己的应用程序。

所以DevOps有时候被用来作为一个总称:万金油,或主架构师Master of Architecture