首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AWCMP实现云应用全生命周期管理

AWCMP实现云应用全生命周期管理

原创
作者头像
海云捷迅
修改2020-08-24 14:25:10
1.1K0
修改2020-08-24 14:25:10
举报

云应用生命周期管理是整个云平台的核心业务,以“应用商店”为核心,实现快速的应用开发和应用分发,实现整个云应用生命周期的管理和运营。通过对虚拟机、容器和物理机以预先定义好的脚本进行编排管理,云应用可以以多实例的方式交付,每个云应用的租户单独使用一套完整的云应用。虚拟机支持KVM、Hyper-V等异构虚拟化技术。

云应用生命周期管理主要包含如下模块:

  • 云应用模板定义:应用模板语言来编写整个应用的部署架构、各组件及虚拟机之前的编排关系等信息。
  • 云应用产品定义与发布:将开发好的云应用上传到应用商店,进行定价和发布。
  • 云应用交付:用户购买云应用后,使用编排的方式快速交付应用。
  • 云应用监控:可以监控云应用的使用情况和图形展示。

根据我们的业务规划,整个云应用生命周期管理其实为了解决三个问题:

  • 如何构建适应云平台应用开发的DevOps流程。
  • 在应用开发的各个阶段如何与云平台进行整合对接。
  • 开发测试完成的交付物如何由云平台统一管理使用。

下面我们试着说明AWCMP是如何解决这几个问题的。

上面提到的三个问题完整的涵盖了云应用的全生命周期。AWCMP的多个服务门户和平台也正是为云应用生命周期服务的。概括起来就是两个平台、两个门户、四类角色。

开发者:应用的生产者,申请IAAS资源、申请PAAS资源,进行应用开发,CI/CD,最终将正式应用打包提交给运维管理员审核。

运维管理员:对开发者发布的应用进行审核、对运营退回的应用进行进一步的退回。

产品经理:对产品进行封装、定价。提交上架审核。

运营管理员:对商品进行审核上架、下架。

图 1-1
图 1-1

通过使用GitLab、Jenkins、NPM、maven、packer、Murano等开源技术实现整个云平台的DevOps流程。整个流程分为源码拉取、源码构建、构建镜像、部署环境、自动化测试、环境清理等任务,利用Jenkins将这些任务串联成pipeline。Jenkins赋予了任务编排的能力,通过自定义不同的任务可以完成整个DevOps流程,通过Jenkins抓取任务的执行日志,可以查看每个任务的执行情况。图1-2所示是一个典型的DevOps流程。

开发人员提交代码到GitLab后,自动触发代码的拉取任务,源码拉取后继续利用Maven进行后端程序构建输出后端程序包,利用NPM进行前端构建输出前端程序包,源码构建完毕后将程序包上传到下载服务器。

packer使用预定义脚本拉取程序包后进行镜像构建,构建完毕后输出镜像到指定位置。

Murano使用PL语言自定义脚本并结合上一个任务中输出的镜像进行环境部署,环境部署完毕后结合自动化测试工具对应用进行自动化测试。

最后,可以选择清理以上环境。有时仅仅为了验证整个DevOps流程,并不实际使用环境,此时可以选择在上述过程成功后清理环境。

图 1-2
图 1-2

AWCMP通过结合Jenkins的pipeline,解决了“如何构建适应云平台应用开发的DevOps流程”的问题。通过开发者门户的资源管理模块,开发前申请资源;通过开发者门户的持续集成模块,在开发过程中CI/CD;通过开发者门户的应用包管理在开发、测试完成后将应用打包发布,从而解决了“在应用开发的各个阶段如何与云平台进行整合对接”的问题。通过贯穿两平台、两门户的完整流程,解决了“开发测试完成的交付物如何由云平台统一管理使用”的问题。进一步来说,AWCMP真正的实现了云应用的全生命周期管理。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
CODING DevOps
CODING DevOps 一站式研发管理平台,包括代码托管、项目管理、测试管理、持续集成、制品库等多款产品和服务,涵盖软件开发从构想到交付的一切所需,使研发团队在云端高效协同,实践敏捷开发与 DevOps,提升软件交付质量与速度。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档