evops是一个很高大上的名字,其实说的简单点就是开发和运维本身就是一个团队的,要干就一起把事情干好。谁出了问题,网站都不行。作为一个架构师,必须要devops,而且要知道如何推行devops。

首先要自动化,举个阿里的例子,阿里通过aone系统来实现半自动化部署:

  • 开发人员开发代码先自测通过后,提交代码到git。
  • 在aone中一键部署到日常环境。部署是自动化扫描依赖冲突,系统安全等问题。
  • 测试接到部署成功的通知,进行测试,如果测试通过,则审批通过,可以线上发布。
  • 线上运维人员一键部署到线上,部署可以分配部署,进行A/B测试。如果出现问题可以一键回滚。

当然这里面牵扯到了很多角色,其实如果是一个公司,这个团队应该一体的,不分彼此。团队中每个角色都是程序员,每隔一段时间需要轮换岗位。

其实不只是部署需要自动化,测试、扩容、监控、分析等等都需要自动化。当然这需要根据你公司的实际情况进行实践,最先需要的其实也是部署自动化,如何实现呢:

  • 使用开源产品 git,hudson,ansible或者puppet
  • 制定相应的规范,自动化部署是有规范的,每个人都必须遵守,否则故障就会马上出现
  • 进行定制化开发,使整个系统形成一个整体,
    • 上面的开源产品并不是一个整体,需要通过自己编码使其成为一套系统。
    • 涉及web系统开发,底层脚本编写,打包规范制定
  • 不断发现重复劳动,使其自动化
  • 要有对应的监控系统,及时发现异常

有了这一个自动化系统之后,你可以考虑一下后面的产品安装、测试、扩容、监控、分析系统的自动化。

另外持续改进也是devops的核心,要有发现改进的眼睛。只要有事情重复做3次以上,就考虑是否需要自动化。

如果你不进行devops,随着业务的增多,系统的增多,最终还是需要进行从头到尾的改造。不如一开始建设的时候就预先设计考虑好,其实这些东西如果你懂的,开始的时候就做好,并不浪费太多时间,反而能节省大量的时间,何乐而不为。

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. bootstrap无限级分类 jq拓展 之前的无限级分类的封装版~
  2. GBG java
  3. 【MySQL】frm文件解析
  4. 安装Numpy和matplotlib
  5. IDEA 整合Junit实现自动生成测试代码
  6. java基础之运算符
  7. uitableview的空白处不能响应 touchesbegan 事件
  8. chart.js制作折线图
  9. html中上标、下标、删除字、小号字等
  10. stringstream clear()的疑问 - yuanshuilee的日志 - 网易博客
  11. POJ1080 Human Gene Functions 动态规划 LCS的变形
  12. HDU1532 Drainage Ditches 【最大流量】
  13. vue-cli脚手架npm相关文件解读(7)dev-server.js
  14. poj 3662 Telephone Lines
  15. 小白的Python之路 day1 变量
  16. Metrics.NET step by step使用Metrics监控应用程序的性能
  17. 00-自测4. Have Fun with Numbers
  18. 单目视觉里程计 mono vo
  19. ZOJ 3780 - Paint the Grid Again - [模拟][第11届浙江省赛E题]
  20. Java高并发综合

热门文章

  1. April 6 2017 Week 14 Thursday
  2. OpenGL学习 Introduction
  3. 【转载】#402 - Value Equality vs. Reference Equality
  4. IOS 加载更多数据中
  5. CPU体系结构
  6. 【洛谷4815】[CCO2014] 狼人游戏(树形DP)
  7. poj 3485 区间选点
  8. [Python]面向对象近期笔记-super
  9. 【转】Android开发学习总结(一)——搭建最新版本的Android开发环境
  10. js 实现序列号效果实现