容器化部署和传统部署区别

Z, ZLW 5188

容器化部署和传统部署的区别有:1、含义不同;2、环境复杂程度不同;3、可移植性不同;4、速度不同。其中,定义不同指的是容器化部署是指将软件代码和所需的所有组件打包在一起,隔离在自己的”容器”中,而传统的部署方式是环境和项目分开搭建部署,在平台或操作系统上直接编写代码。

1、含义不同

容器化部署:容器化部署是指将软件代码和所需的所有组件(例如库、框架和其他依赖项)打包在一起,让它们隔离在自己的”容器”中。

传统部署:环境和项目分开搭建部署,在平台或操作系统上直接编写代码。

2、环境复杂程度不同

容器化部署:可以在各个环境中实现一键安装,例如:一键安装Linux、一键安装Mysql、一键安装Nginx等。

传统部署:传统的软件开发与发布环境复杂,配置繁琐,经常会出现:代码在开发环境可以运行,一旦部署到服务器上就运行不了的问题。这是一个很常见的问题,现实中,同一个系统在不同的环境中部署(开发环境、测试环境、生产环境等),每一个环节都有可能出现各种问题,如:Mysql在测试环境安装报错,在开发环境下安装正常,我们往往在这方面浪费很多的时间。

3、可移植性不同

容器化部署:实现了将环境和项目统一化部署,方便迁移,方便管理——类似一个容器,集中式管理。

传统部署:传统的部署方式,环境和项目分开搭建部署,环境离散,不方便迁移。

4、速度不同

容器化部署:容器化部署将速度作为关键指标,即开发人员将代码推送到生产环境的能力,从而为利益相关者创造价值。允许开发人员以自动化工具的形式进行(受控)基础架构更改,这些工具根据版本跟踪的配置文件配置环境。开发者可以通过配置文件和从版本控制系统触发的自动生成管道来重新部署应用程序环境。这种快速且自动化的过程将部署概念融入了应用程序设计的核心。

传统部署:传统部署极有可能涉及多个手动过程,这些过程必须以正确的方式执行,部署才能成功。所有这些事情都使传统部署的速度比容器化部署慢得多。

拓展阅读

docker的8个使用场景

简化配置

虚拟机的最大好处是能在你的硬件设施上运行各种配置不一样的平台(软件、系统),Docker在降低额外开销的情况下提供了同样的功能。它能让你将运行环境和配置放在代码汇总然后部署,同一个Docker的配置可以在不同的环境环境中使用,这样就降低了硬件要求和应用环境之间耦合度。

代码流水线管理

代码从开发者的机器到最终在生产环境上的部署,需要经过很多的中坚环境。而每一个中间环境都有自己微小的差别,Docker给应用提供了一个从开发到上线均一致的环境,让代码的流水线变得简单不少。

提升开发效率

不同环境中, 开发者的共同目标:

  • 想让开发环境尽量贴近生产环境;
  • 想快速搭建开发环境。

开发环境的机器通常内存比较小,之前使用虚拟的时候,我们经常需要为开发环境的机器加内存,而现在Docker可以轻易的让几十个服务在Docker中跑起来。

隔离应用

开发时会在一个台机器上运行不同的应用:

  • 为了降低成本, 进行服务器整合;
  • 将一个整体式的应用拆分成低耦合的单个服务(微服务架构)。

整合服务器

Docker隔离应用的能力使得Docker可以整合多个服务器以降低成本,由于没有多个操作系统的内存占用,以及能在多个实例之间共享没有使用的内存,Docker可以比虚拟机提供更好的服务器整合解决方案。

调试能力

Docker提供了很多的工具, 这些工具不一定只是针对容器,但是却适用于容器. 他们提供了很多功能,包括可以为容器设置检查点,设置版本,查看两个容器之间的差别, 这些特性可以帮助调试Bug。

多租户环境

多租户环境的应用中,它可以避免关键应用的重写。我们一个特别的关于这个场景的例子是为loT(物联网)的应用开发一个快速,易用的多租户环境. 这种多租户的基本代码非常复杂, 很难处理,重新规划以应用不但消耗时间,也浪费金钱。

使用Docker,可以为每一个租户的应用层的多个实例创建隔离的环境,这不仅简单而且成本低廉,因为Docker环境启动的速度快,diff命令很高效。

快速部署

Docker为进程创建一个容器,不需要启动一个操作系统,时间缩短为秒级别。

可以在数据中心创建销毁资源而无须担心重新启动带来的开销,通常数据中心的资源利用率只有30% ,通过使用Docker并进行有效的资源分配可以提高资源的利用率。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部