更新时间:2023-06-28 GMT+08:00

整体应用容器化改造

本教程以“整体应用容器化改造”为例,指导您将一个“部署在虚拟机上的ERP企业管理系统”进行容器化改造,部署到容器服务中。

您不需要改动任何代码和架构,仅需将整体应用构建为容器镜像,部署到云容器引擎中。

本例应用简介

本例“企业管理应用”由某企业(简称A企业)开发,这款应用提供给不同的第三方企业客户,第三方客户仅需要使用应用,维护工作由A企业提供。

在第三方企业需要使用该应用时,需要在第三方企业内部部署一套“Tomcat应用和MongoDB数据库”,MySQL数据库由A企业提供,用于存储各第三方企业的数据。

图1 应用架构

图1,该应用是标准的tomcat应用,后端对接了MongoDB和MySQL。这种类型应用可以先不做架构的拆分,将整体应用构建为一个镜像,将tomcat应用和mongoDB共同部署在一个镜像中。这样,当其他企业需要部署或升级应用时,可直接通过镜像来部署或升级。

  • 对接mongoDB:用于用户文件存储。
  • 对接MySQL:用于存储第三方企业数据,MySQL使用外部云数据库。

本例应用容器化改造价值

本例应用原先使用虚机方式部署,在部署和升级时,遇到了一系列的问题,而容器化部署解决了这些问题。

通过使用容器,您可以轻松打包应用程序的代码、配置和依赖关系,将其变成易于使用的构建块,从而实现环境一致性、运营效率、开发人员工作效率和版本控制等诸多目标。容器可以帮助保证应用程序快速、可靠、一致地部署,不受部署环境的影响。

表1 虚机和容器部署对比表

类别

before:虚机部署

after:容器部署

部署

部署成本高。

每给一家客户部署一套系统,就需要购置一台虚拟机。

成本降低50%以上。

通过容器服务实现了多租隔离,在同一台虚拟机上可以给多个企业部署系统。

升级

升级效率低。

版本升级时,需要逐台登录虚拟机手动配置升级,效率低且容易出错。

秒级升级。

通过更换镜像版本的方式,实现秒级升级。且CCE提供了滚动升级,使升级时业务不中断。

运维

运维成本高。

每给客户部署一套应用,就需要增加一台虚拟机的维护,随着客户量的增加,维护成本非常高。

自动化运维。

企业无需关注虚拟机的维护,只需要关注业务的开发。