DevOps实施历程-v1.0
有AF项目的成功案例(DevOps实施历程-半自动化),公司新项目全部依此为模板,实现了从代码到安装的自动化流水线,为此我输出了Jenkins自动化指南、AF项目指南等文档,方便大家查阅和参考,同时也输出了一系列规范验收所有项目自动化成果。
随着公司的发展和新人才的引进,2016年底-2017年公司先后成立了测试部门、云计算产品部,并对原有老系统进行重构,原架构由几个Python编写的模块,性能和可扩展性都面临瓶颈。新架构是Java(在线业务模块)+Python(离线管理模块)+C(CDN、存储、转码等三方功能模块)等多语言40+个模块的复杂系统,可伸缩性非常强。
系统模块激增,随之带来运维成本增大。不同语言、环境兼容、一致性都面临很大挑战。经常转测试后,不同环境安装的结果不一样,配置也出现不一样,导致各种折腾。此时云计算产品部全力投入云平台产品的研发中,将Rancher体系引入进来(这里就不讲体系内的特性了,后面再出文章教程)。同时测试部也在着手自动化测试平台的立项,通过几个月的努力,我们的DevOps v1.0体系问世:
每个模块(网元)的setup.sh安装脚本集成到了Dockerfile中(有了此基础,Dockerfile只需要几行代码),在完成镜像构建到私有仓库后,自动将网元镜像推送安装到Rancher平台。
所有网元Docker化后,研发、测试、灰度、生产环境高度一致,部署40+网元也从原来的1天或几天缩减到几分钟内完成。
至此,SVI的DevOps体系在研发体系的后半部已经初具雏形,并且已经满足项目需求。这一年在深圳参加了DevOps运维大会,接触了各大厂的DevOps模式,又有了新的方向~~~
DevOps实施历程-v1.0的更多相关文章
- Linux系统部署规范v1.0
Linux系统部署规范v1.0 目的: 1.尽可能减少线上操作: 2.尽可能实现自动化部署: 3.尽可能减少安装服务和启动的服务: 4.尽可能使用安全协议提供服务: 5.尽可能让业务系统单一: 6.尽 ...
- 部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0)
部署Bookinfo示例程序详细过程和步骤(基于Kubernetes集群+Istio v1.0) 部署Bookinfo示例程序 在下载的Istio安装包的samples目录中包含了示例应用程序. ...
- MathExam小学一二年级计算题生成器V1.0
MathExam小学一二年级计算题生成器v1.0 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning ...
- SmartIDE v1.0.23 一个非常不敏捷的发布
SmartIDE v1.0版本(CLI Build v1.0.23.4650,Server Build v1.0.23.4646)已经发布,在超过4000 个 Builds 之后,我们终于发布了v1. ...
- Git异常:fatal: V1.0 cannot be resolved to branch.
GitHub实战系列汇总:http://www.cnblogs.com/dunitian/p/5038719.html ———————————————————————————————————————— ...
- 自己动手写计算器v1.0
今天突发奇想,想着看了还几个设计模式了,倒不如写点东西来实践它们.发现计算器这种就比较合适,打算随着设计模式的学习,会对计算器不断的做改进. 包括功能的增加和算法的改进.初学者难免犯错,希望大家不吝指 ...
- ASP.NET Boilerplate终于发布v1.0了
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:ABP经过2年多的开发,终于发布第一个主要版本了,谨此提醒ABP的使用者. ASP.N ...
- 【JS】heatmap.js v1.0 到 v2.0,详细总结一下:)
前段时间,项目要开发热力图插件,研究了heatmap.js,打算好好总结一下. 本文主要有以下几部分内容: 部分源码理解 如何迁移到v2.0 v2.0官方文档译文 关于heatmap.js介绍,请看这 ...
- 图像处理工具V1.0
图像处理工具V1.0(仿彗星图片处理工具.VS2015安装界面)----个人无聊作品 以下是界面: 部分代码一.(摘自网络----加水印代码): public static void ImageWat ...
随机推荐
- python的数据类型之字符串(一)
字符串(str) 双引号或者单引号中的数据,就是字符串. 注意事项 1.反斜杠可以用来转义,使用r可以让反斜杠不发生转义. 2.字符串可以用+运算符连接在一起,用*运算符重复. 3.Python中的字 ...
- nginx反向代理中神奇的斜线
nginx反向代理中神奇的斜线 在进行nginx反向代理配置的时候,location和proxy_pass中的斜线会造成各种困扰,有时候多一个或少一个斜线,就会造成完全不同的结果,所以特地将locat ...
- 仿照Spring自己实现有各种通知的AOP,AOP实现的步骤分解
一.需求: 仿照Spring的AOP写的 MyAOP 2.0,有环绕通知.前置通知.后置通知.返回通知.异常通知等. 已实现:①通过动态代理+通知的注解类,实现了前置通知.后置通知等各种通知:②切点( ...
- python数据库-MySQL查询基本操作(50)
一.条件查询 1.使用where子句对表中的数据筛选,结果为true的行会出现在结果集中 select * from 表名 where 条件; 2.比较运算符 等于= 大于> 大于等于>= ...
- HDU 2121:Ice_cream’s world II(不定根的最小树形图)
题目链接 题意 求有向图的最小生成树,且根不定. 思路 最小树形图即求有向图的最小生成树,用的是朱刘算法. 这里不定根,那么可以建立一个虚根,让虚根和所有点相连,权值为一个很大的数(这里直接设为所有边 ...
- HDU 5117:Fluorescent(状压DP + 思维)***
题目链接 题意 给出n个灯,m个开关,每个开关控制一些灯,如果打开这个开关,这个开关控制的灯如果本来灭的就会亮,如果本来亮的就会灭.问在每个开关按下与否的一共2^m情况下,每种状态下亮灯的个数的立方的 ...
- SPOJ MINSUB - Largest Submatrix(二分+单调栈)
http://www.spoj.com/problems/MINSUB/en/ 题意:给出一个n*m的矩阵M,和一个面积k,要使得M的子矩阵M'的最小元素最大并且面积大于等于k,问子矩阵M'的最小元素 ...
- python无网安装psycopg2
1. 问题描述 python项目要获取greenplum数据库数据,gp底层是postgresql,需要使用python的第三方工具包psycopg2操作数据库,但是问题是服务器上没有网络,无法在 ...
- Java面试题汇总---基础版(附答案)
基于我个人对面试的认知和招聘经验,在此我总结一下Java开发者的基础知识掌握要求,及应聘者面试的需要准备的内容. 首先,Java基础是每个面试官都会问到的,可能只是针对工作经验的多少,对问题追踪深度有 ...
- web页面保存图片到本地
web页生成分享海报功能踩坑经验 https://blog.csdn.net/candy_home/article/details/78424642 https://www.jianshu.com/p ...