加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

企业容器化如何选型?全方位对比 Heroku 与 Docker

发布时间:2019-11-16 08:24:51 所属栏目:移动互联 来源:冬雨编译
导读:【线上直播】11月21日晚8点贝壳技能总监侯圣文《数据安详之数据库安详黄金法例》 Heroku 和 Docker 都可以闪开拓职员可以或许在容器内开拓、陈设和运行应用措施。容器是在单个操纵体系内核上运行的假造情形,使应用措施可以或许行使假造机或裸机计较机体系所需资源
副问题[/!--empirenews.page--] 【线上直播】11月21日晚8点贝壳技能总监侯圣文《数据安详之数据库安详黄金法例》

Heroku 和 Docker 都可以闪开拓职员可以或许在容器内开拓、陈设和运行应用措施。容器是在单个操纵体系内核上运行的假造情形,使应用措施可以或许行使假造机或裸机计较机体系所需资源的一小部门来运行。容器还使我们可以或许快速扩展应用措施,并轻松地从开拓过渡到出产。固然 Heroku 和 Docker 都为软件陈设和打点提供了一个容器化的办理方案,可是它们在实现和术语方面有很大的差异。每个体系也有着差异的利与弊。

什么是容器?  

容器是使应用措施可以或许共享单个操纵体系的软件体系。容器体系凡是由容器引擎、主机操纵体系和处理赏罚器构成。

容器引擎——在这种环境下,Docker 或 Heroku 是一种用于陈设容器化应用措施的托管情形。容器引擎打点内核和内存。它还打点各个应用措施的空中断绝和安详性,并应承可伸缩性。

主机操纵体系 (OS)——主机操纵体系 (凡是是 Linux) 提供用户界面,内存等资源的打点,并为应用措施提供处事。

处理赏罚器——也称为中央处理赏罚器,它基于来自操纵体系和应用措施的指令,认真执行全部的使命。

容器的利益  

由于容器应承应用措施共享资源,以是它们提供了以下几个利益:

低落本钱——容器通过应承应用措施共享资源来低落本钱。

增进的靠得住性和结实性——容器使我们可以做到快速的妨碍切换和规复。

可伸缩性——容器使我们可以快速且轻易地伸缩应用措施的数目。

断绝——容器在名称空间中行使本身的资源断绝每个应用措施。因此,尽量应用措施共享资源,但它们在职能上是彼此断绝的。这还意味着一个应用措施中的妨碍是与其他应用措施断绝的,从而使容器比假造机或裸金属体系更安详。

一连集成——由于容器很轻易被摧毁和陈设,以是它们支持迭代进程,好比火速。

可移植性——容器很是便携,应承从开拓到出产的轻松转换,在云情形中结果尤为明显。

安详——容器的模块化计划增进了断绝性,使体系更难被进攻,并限定了恶意软件的影响。

  • 容器历程必需只向容器特定的文件体系写入信息。
  • 容器定名空间必需与私有内部网断绝。
  • 容器特权必需断绝。
Heroku

企业容器化如何选型?全方位对比 Heroku 与 Docker

Heroku 是一个平台即处事 (PaaS) 平台,是 2007 年建设的第一批云平台之一。Heroku 最初只支持 Ruby,但此刻已支持 Java、Node.js、Python、 PHP 等。Heroku 由以下组件构成:

  • BuildPack—Heroku BuildPack 是一组用于建设镜像的剧本。BuildPack 确定应用措施可以运行的说话,包罗 Java、Python、Ruby 和其他说话。Heroku 为各类说话提供了默认的 BuildPack ,开拓职员也可以构建本身的 BuildPack。
  • Slug——运行 BuildPack 时,它会建设应用措施的打包副本,称为 Slug。Slugs 包括运行应用措施所需的全部成果,可以快速轻松地陈设。
  • 按照 Heroku 的说法,“Dynos 是断绝的、假造化的 Linux 容器,用于按照用户指定的呼吁执行代码”。行使 Dynos,可以按照资源需求将应用措施扩展到任何级别。
  • 可为 Heroku 购置 Add-Ons-Preconfigured 构建块,以构建更伟大的应用措施。
  • 呼吁行界面 (CLI)——用来打点 Heroku 容器的呼吁行界面。

有没有思量过将 DeployPlace 作为 Heroku 的更换方案以停止被供给商锁定?

Docker  

企业容器化如何选型?全方位对比 Heroku 与 Docker

Docker 是一个开源器材,用于在容器中建设、打点、陈设和运行应用措施。与 Heroku 必需在本身的云情形中运行差异,Docker 可以安装在条记本电脑、处事器或如 Amazon Web Services (AWS) 之类基于云的情形中。Docker 由以下高级组件构成:

  • Dockerfile——Dockerfile 是一组用于构建 Docker 镜像的呼吁 (拜见下文)。Dockerfiles 也代表着 Docker 镜像的最终设置。
  • Docker 镜像——通过运行 Dockerfile 建设的 Docker 镜像 (拜见上文)。Docker 镜像是一个多层文件,包括运行应用措施所需的全部资源、依靠项、数据、文件和配置。每次启动一个 Docker 镜像时,它城市建设一个统一个应用措施的容器,从而提供了简朴的可伸缩性。
  • Index——Docker 图像可以上传到 Index 分享给 Docker 社区。这样可以让其他用户基于从 Index 下载的单个 Docker 镜像组件构建伟大的应用措施。

呼吁行界面(CLI)——与 Heroku 相同,Docker 提供了用于打点容器的 CLI。

Docker 和 Heroku 术语  

企业容器化怎样选型?全方位比拟 Heroku 与 Docker

Docker vs Heroku  

固然 Docker 和 Heroku 有一个配合的观念,即应用措施的容器化,可是这两个平台之间有着一些首要的区别。Heroku 提供了运行应用措施的容器和托管应用措施的基本办法。换句话说,Heroku 提供了容器化的全部利益,可是你也必需在 Heroku 平台上运行它。这使得 Heroku 很是轻易搭建和运行,可是同时也有一些限定。与 Docker 差异,Heroku 不能在当地处事器或基于私有云的处事上运行。

Heroku  

Heroku 的利益:

Heroku 易于搭建、实验和陈设。Heroku 打点硬件、软件和其他资源,使开拓职员可以险些只专注于开拓他们的应用措施。

Heroku 支持多种说话,包罗Ruby、Java、Node.js、Scala、Clojure、Python、PHP和Go。

Heroku 是一个通晓多种说话的平台——通过行使各类构建包,开拓职员可以在险些任何编程说话中陈设应用措施。

Heroku Dynos 应承简朴的开拓和可用性——由于由 Heroku 打点和运行应用措施,将开拓职员从操纵体系和其他体系设置的打点中解放出来。

Heroku 应承即时的可伸缩性——通过增进或镌汰 Dynos 的数目,可以很轻易地按比例增进或镌汰 Heroku。

Heroku 的弱点:

在 Heroku 上运行的应用措施只能在 Heroku 平台上运行。因此,Heroku 不能在内部处事器或私有云上运行。相识一下 DeployPlace,以停止被供给商锁定。

Heroku 应用措施只能行使 Linux 操纵体系运行。

固然 Heroku 提供了一个免费的版本,但尺度套餐每月 25 美元起。

Heroku 的蜚语:

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读