400-888-5228

DevOps 这个词是由 Development(开发) 和 Operations(运维)组合起来的,你可以把它理解成为一种让开发团队和运维团队紧密合作的方法。

 

DevOps从2009年诞生到现在已经14年多了,一开始大家还在摸索,慢慢地就变成了现在的一种主流开发交付模式。你肯定也发现了,DevOps 在我们身边出现的频率还蛮高的!各种行业峰会上都有它的专场,行业里的公司在招 DevOps 工程师,企业在做 DevOps 转型,在设计和开发 DevOps 平台等等……

 

现在已经很少还有人在问“DevOps 有啥用”、“DevOps适不适合我”这种问题了,大家都更关心怎么落地实践 DevOps,怎么让它充分发挥价值。而且 DevOps 专家的岗位薪资也很高,仅次于一些高级管理层,都已经到了 IT 行业的金字塔顶部区域。

 

所以说,DevOps 基本上成了所有 IT 从业人员都必备的技能。不过呢,因为市场上资料太多太杂,个人的精力又有限,好多人都挺困惑的。

 

下面小艾老师就帮大家来科普一下。

 

01

对DevOps的理解

 

任何牛逼的项目,都是从一个单体项目慢慢发展而来。我们IT开发里边_个要面对的就是单体架构,然后一步一步到集群、分布式、微服务、容器化,开发模式从瀑布开发,到敏捷开发,再到DevOps。

 

单体架构+瀑布开发:如果服务器少,部署又简单(基本就是LNMP),那就不需要运维,开发直接按照瀑布流方式进行就好了。写好代码,找台服务器安装好环境,把 jar 包上到远程服务器,开启服务就好了。

把开发和运维凑一块,就是 DevOps了吗?你对DevOps的理解,还远远不足! -- 第1张

分布式架构+敏捷开发:后面业务体量大了,一台服务器扛不住,就要加机器,再加入 nginx、cdn、缓存等通用基础服务,这个时候需要专门的运维人员(Ops)介入,需要多人协同开发。然后因为业务可能也变复杂了,开发就会分工,每个人负责一小部分,再通过不断迭代,小步快跑的方式持续开发,这个就是敏捷开发。

把开发和运维凑一块,就是 DevOps了吗?你对DevOps的理解,还远远不足! -- 第2张

微服务架构+DevOps:如果发展到阿里、腾讯这种体量,或者系统复杂到一定程度,协同开发会涉及到很多人,JAVA,PHP,GO 各种技术栈都会有,一般的做法就是将项目拆成一个个小的服务单独部署,不然一个Bug就能导致业务线全线崩溃了。

把开发和运维凑一块,就是 DevOps了吗?你对DevOps的理解,还远远不足! -- 第3张

拆分部署,就催生出了DevOps所谓DevOps开发模式,实际上就是运维事先把上线的规则都给定义好了,开发只要按照规则自己就可以完成上线,如果出问题了也可以快速定位去调整。运维要做的就是制定规则和自动化的代码及工具,比如监控,有专门的监控组件和可视化,基础服务有CDN、负载均衡,日志也有专门的日志工具等等……只要配置好这些工具,开发即运维,就能做一部分运维的事情了。

把开发和运维凑一块,就是 DevOps了吗?你对DevOps的理解,还远远不足! -- 第4张

DevOps 的三大支柱:即人(People)、流程(Process)和平台(Platform

人 + 流程 = 文化

流程 + 平台 = 工具

平台 + 人 = 赋能

 

02

DevOps平台搭建工具

把开发和运维凑一块,就是 DevOps了吗?你对DevOps的理解,还远远不足! -- 第5张

↑DevOps 工具全景图

 

项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker

产品和UI图:蓝湖

代码管理(SCM):GitHub、GitLab、BitBucket、SubVersion

构建工具:Ant、Gradle、maven

自动部署:Capistrano、CodeDeploy

持续集成CI(Continuous Integration):Gitlab CI

持续交付CD(Continuous Delivery):Gitlab CD

配置管理:Ansible、Chef、Puppet、SaltStack、ScriptRock GuardRail

容器:Docker、LXC、第三方厂商如AWS

编排:K8S、Kubernetes、Core、Apache Mesos、DC/OS

服务注册与发现:Zookeeper、etcd、Consul

脚本语言:python、ruby、shell

日志管理:ELK、Logentries

系统监控:Datadog、Graphite、Icinga、Nagios

性能监控:AppDynamics、New Relic、Splunk

压力测试:JMeter、Blaze Meter

预警:PagerDuty、pingdom、厂商自带如AWS SNS

网关:Kong,zuul

链路追踪:Zipkin

HTTP加速器:Varnish

消息总线:ActiveMQ、SQS

应用服务器:Tomcat、JBoss

Web服务器:Apache、Nginx、IIS

数据库:MySQL、Oracle、PostgreSQL等关系型数据库;cassandra、mongoDB、redis等NoSQL数据库

 

 

03

要实践 DevOps ,需要知道些什么?

 

不同公司的“DevOps 工程师”含义不同。小型公司可能找有系统管理经验的,大型公司或老牌公司,已经有一个稳固的系统管理团队了,他们要找的可能在 “设计运维功能的软件工程师”……这取决于不同公司的招聘经理。

 

一般来说,招聘的“DevOps 工程师“需要对以下这些内容有深入学习:

 

  • 管理和设计安全、可扩展的云平台,像 AWS 等。
  • 用流行的 CI/CD 工具构建发布部署流水线和策略,如 Jenkins 等。
  • 用基于时间序列的工具监控、记录和报警,像 Kibana 等。
  • 用配置管理工具做到“基础设施即代码”,像 Chef 等,还有发布工具如 Terraform 等
  • 容器越来越受欢迎,掌握 Docker 等及编排工具知识有帮助。

 

如果你希望做 DevOps 实践的系统管理员,还得会写代码,Python 和 Ruby 是DevOps的流行语言。

 

如果你是开发人员,想做 DevOps ,建议再学学 Unix、Windows 及网络知识。

 

如果你觉得这些内容多,也别担心。建议参加艾威的DevOps Foundation认证培训,此认证由 DevOps 学院与 PeopleCert 联合推出,提供了一套“成体系”的 DevOps 实践知识、工具和方法,非常值得我们学习。

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

  • 2024-09-03 20:00
    职场故事:How PMP work in my project?
  • 2024-09-04 19:00
    CAISP认证系列(一)AI算法与模型快速进阶
  • 2024-09-05 20:00
    研发创新管理:探索创新的秘密,寻找产品的第二增长曲线
  • 2024-09-10 20:00
    财务与业务协同高效运营:实施业务流程管理(BPM)系统和共享运营系统的落地策略
  • 2024-09-11 20:00
    闻风而动:安全运营管理
  • 2024-09-12 20:00
    BANI时代传统管理者的职业规划
  • 2024-09-18 20:00
    “一切皆服务”!ITIL4构建的IT 服务管理框架(SVS)
  • 2024-09-19 20:00
    需求分析与设计定义:打造解决方案的实用工具集
  • 2024-09-20 14:00
    全面解读TOGAF 10:9跟10的区别是什么?如何把证书升级到10?我该如何备考?
  • 2024-09-24 20:00
    职场故事:我在半导体大厂的项目管理进阶之路——从PMP到MPM
  • 2024-09-26 20:00
    职场故事:从战略规划到项目管理交付
  • 更多直播讲座
    小艾老师还在安排中…
查看全部 >

扫码一键预约全部

查看更多 > 查看更多 >

数字化转型8大核心认证

  1. PMP项目管理认证

    艾威最近一期班: 针对2024年11月考试
  2. CBAP业务分析认证

    艾威最近一期班·开课时间: 2024-09-21
  3. CBPP流程管理认证

    艾威最近一期班·开课时间: 2024-12-07
  4. ITIL4 IT管理认证

    艾威最近一期班·开课时间: 2024-09-21
  5. TOGAF企业架构认证

    艾威最近一期班·开课时间: 2024-10-12
  6. CDMP数据管理认证

    艾威最近一期班·开课时间: 2024-11-23
  7. CISA信息安全审计师认证

    艾威最近一期班·开课时间: 2024-09-21
  8. CISSP信息安全专家认证

    艾威最近一期班·开课时间: 2024-11-16
近期课程安排