产生背景

传统的软件开发流程需要开发人员、测试人员和运维人员共同协作完成,团队之间的相互沟通和产品交付会耗费大量的时间成本。开发环境、测试环境和生产环境重复冗余,也造成一定的资源浪费。在整个开发流程中软件产品缺少一个统一的打包标准,容易导致产品在各环节间的交付中出现一致性问题。软件产品开发完成之后部署上线,会产生大量繁琐复杂的运维工作,这些都需要专业的运维人员来人工完成。传统的运维手段和虚拟机解决方案仍然无法有效应对访问流量快速变化的场景,而且由于产品业务原因可能会造成服务器负载并不会稳定平均分布,这会导致应用负载低谷时存在大量的服务器资源浪费。

这里写图片描述

为了解决这一系列的问题,这里设计实现了一个基于Docker的应用托管与部署平台,是一个私有云解决方案,致力于为软件开发人员及中小企业打造一个项目托管和自动化部署运维平台,可用于软件开发的各个流程中,有效加快软件产品的持续集成和发布速率。自动化部署运维平台接管了运维人员的大部分工作,降低了运维难度,同时也为流量快速变化和闲时资源浪费场景提出了解决方案。

主要内容

  1. 应用托管: 平台对项目及用户权限进行管理,使用Docker镜像作为产品托管的唯一格式,制定了软件交付的统一标准,提供了公共镜像服务。
  2. 应用一键式部署: 平台根据用户的需求对应用进行一键式部署上线,同时还提供了弹性扩容缩容,多应用集成等服务。
  3. 持久化存储服务: 平台实现持久化存储卷,在应用容器内部运行环境和外部宿主环境之间建立了一个双向通道,可用于将外部数据导入应用,将应用的内部运行日志导出,以及可用于应用运行时环境与程序代码分离等。
  4. 日志管理与监控: 平台对应用容器提供了日志管理服务,而且可以实时监控应用容器和服务器资源使用情况。

依赖