漫谈专有云集成与发布机制

漫谈专有云集成与发布机制

    专有云与公有云是不太一样的,专有云是为一个客户单独使用而构建的云计算平台,为客户提供对数据 、安全性和服务质量最有效的控制。是一套完整技术服务体系输出, 一个专有云工程项目规划并部署起来,是要有很多的步骤的。

     所以我们也做个简单的类比:想把MS Office安装好,需要哪些东西?其实就两样:一是安装光盘,这是不随具体用户具体安装而改变的东西,是各用户通用的东西,是微软发布的内容。二是本次安装提供的个性化信息,比如输入的姓名、公司名称,比如对安装内容的选择(你可以偏就不安装Word或者Word的某个功能)。

     类似的,想把一朵专有云规划并部署起来,也需要两类东西:一是“安装光盘”,即阿里云专有云软件发布的内容,它不随具体工程项目而改变。二是具体工程项目特定的信息,需要具体工程项目的输入。本文主要简单谈论下专有云的集成与发布机制。

    专有云软件发布的内容,如果先不谈各种文档之类的话,它大概包括两类内容:一类是要部署的东西本身,也就是各类App包。这类内容,云计算部署运维自动化平台会把它们扔到各个服务器上,并跑起来。另一类是协助做一朵云的规划,并最终决定怎么部署的信息,比如集群(一组机器的集合,这些机器可能会部署在不同AZ)的构成描述等。这类信息我们姑且管它叫baseline/基线信息。特定的系统将读取这些信息,加上特定工程项目里用户的需求(选择哪些产品、使用哪些功能、规格和容量),自动产生R表,以便交给云计算部署运维自动化平台自动部署特定的一朵云。

     专有云软件发布内容的层次结构目前最佳的分成四个层次:

     1)最底层:Application包。它包括Docker、File、普通App三种类型。 

     2)第二层:Service/服务。一个Service包括两部分:一个Service包,内含若干Application包(即第一层)。除了这个Service包,还有该Service的baseline信息。一个Service的不同版本,意味着其Service包的内容可能变化了,和/或baseline信息变化了。

     3)第三层:Product/产品。比如ECS就是一个Product。一个Product也是包括两部分:若干Service(即第二层),以及此外的Product级的baseline信息。也就是说,某个Product的一个特定版本,包含各个Service的特定版本,以及特定的baseline信息。

     4)最顶层:System/系统。就是包含了各产品的整个专有云系统。System的一个特定版本也是包括两方面内容:各个Product(即第三层)的特定版本,以及此外的System级的baseline信息。

     如下图:

   

    专有云使用相关的docker, git技术来进行集成与发布。

    1.  从源代码到Docker image,先根据源代码build出war、rpm等类型的包,然后再把它们塞到Docker image里。

    2.  版本信息自动记录、统一存放:构建工具在做各种类型的build的时候(包括但不限于从源代码构建产生war/rpm包,根据war/rpm包构建产生Docker image),都把构建相关的版本信息(构建的原材料是什么,构建生成的产物是什么等等),完全自动地写到一个统一的版本数据库里。于是,从该版本数据库中,就总能追踪到源代码。比如,给定一个docker image的SHA256,先能查到组成它的各rpm包,进而查到每个rpm包当初构建时的源码Git库的commit SHA1。

    3.  有了Docker image,下一步我们要把它包装成App包,进而这些App包在一起组成Service包,Service包再和Service级baseline信息一起组成Service新版本,然后各个Service的适当版本以及Product级baseline信息一起,组成Product新版本。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值