整体应用容器化改造
本教程以“整体应用容器化改造”为例,指导您将一个“部署在虚拟机上的ERP企业管理系统”进行容器化改造,部署到容器服务中。
您不需要改动任何代码和架构,仅需将整体应用构建为容器镜像,部署到云容器引擎中。
本例应用简介
本例“企业管理应用”由某企业(简称A企业)开发,这款应用提供给不同的第三方企业客户,第三方客户仅需要使用应用,维护工作由A企业提供。
在第三方企业需要使用该应用时,需要在第三方企业内部部署一套“Tomcat应用和MongoDB数据库”,MySQL数据库由A企业提供,用于存储各第三方企业的数据。
如图1,该应用是标准的tomcat应用,后端对接了MongoDB和MySQL。这种类型应用可以先不做架构的拆分,将整体应用构建为一个镜像,将tomcat应用和mongoDB共同部署在一个镜像中。这样,当其他企业需要部署或升级应用时,可直接通过镜像来部署或升级。
- 对接mongoDB:用于用户文件存储。
- 对接MySQL:用于存储第三方企业数据,MySQL使用外部云数据库。
本例应用容器化改造价值
本例应用原先使用虚机方式部署,在部署和升级时,遇到了一系列的问题,而容器化部署解决了这些问题。
通过使用容器,您可以轻松打包应用程序的代码、配置和依赖关系,将其变成易于使用的构建块,从而实现环境一致性、运营效率、开发人员工作效率和版本控制等诸多目标。容器可以帮助保证应用程序快速、可靠、一致地部署,不受部署环境的影响。
类别 |
before:虚机部署 |
after:容器部署 |
---|---|---|
部署 |
部署成本高。 每给一家客户部署一套系统,就需要购置一台虚拟机。 |
成本降低50%以上。 通过容器服务实现了多租隔离,在同一台虚拟机上可以给多个企业部署系统。 |
升级 |
升级效率低。 版本升级时,需要逐台登录虚拟机手动配置升级,效率低且容易出错。 |
秒级升级。 通过更换镜像版本的方式,实现秒级升级。且CCE提供了滚动升级,使升级时业务不中断。 |
运维 |
运维成本高。 每给客户部署一套应用,就需要增加一台虚拟机的维护,随着客户量的增加,维护成本非常高。 |
自动化运维。 企业无需关注虚拟机的维护,只需要关注业务的开发。 |