CI/CD

初创型公司-持续部署系列(一)服务架构

2016-12-10  本文已影响462人  lework

本人是一个运维工程师,所以不会从软件层面上去设计架构。网上很少有.net为例的持续交付,这次我们就以.net服务来说明初创型公司怎么做持续交付。

本次采用最基础的可扩展的集群架构

Paste_Image.png

这也是我建议初创型公司使用的架构,网站静态页面使用cdn缓存,与后端交互则走nginx负载层。nginx把外网流量均衡到后端各个服务器,服务器连接后端数据库,处理数据后并返回给用户。

** 如果预算允许的话,还可以加强下高可用性,比如使用下列架构。**

Paste_Image.png

面开始介绍线上环境持续交付的操作。测试环境稍后会说明。任何复杂的事情,画画流程图就显得清晰明了。下面请看线上持续交付的流程图

分为两步骤操作

** 第一步:编译打包**

Paste_Image.png

编译任务由jenkins操作,而不是由开发操作,一是为了节省开发的时间,而是确保版本控制里的代码是正确的,可编译得。

此处需要用到的东西:

第二步:发布

Paste_Image.png

打包和发布分开来的原因,一是减少代码发布时间,而是避免在发布过程中出现问题,我们在初创型公司也知道,到处都是坑,随时都会出现问题。

此处需要用到的东西:

对于持续交付的需求:

  1. 在发布过程中,服务不能中断;采用灰度发布。
  2. 提供维护界面;在出现发布错误的时候,自动的将维护界面展现给用户。
  3. 当部署代码出错时,可以回滚至上一版代码。
上一篇 下一篇

猜你喜欢

热点阅读