资讯专栏INFORMATION COLUMN

DevOps和容器:本地or云端,如何选择?

王陆宽 / 838人阅读

摘要:在本文中,我们将分析云和本地容器部署的利与弊,以及您所在的组织若想要做出正确选择,应该考虑哪些因素。公共云私有云混合在比较云和本地容器部署时,还需要考虑另一点公共云和私有云部署并没有完全不兼容,甚至在许多方面,它们之间根本没有明显的界限。

在本地,还是去云端?这一辩论由来已久,尤其是在云计算兴起时,那时人们一直在反复思考是该将工作负载保留在本地数据中心还是迁移到云主机上。

但是,Docker带来的技术革命把这场辩论引入了一个新的层面。随着越来越多的机构采用容器,他们迫切地想知道,托管容器的最佳位置是本地还是云端。

如你所想,其实根本不存在适用于每个人的单一标准答案。在本文中,我们将分析云和本地容器部署的利与弊,以及您所在的组织若想要做出正确选择,应该考虑哪些因素。

DevOps、容器和云

首先,让我们快速回顾一下DevOps、容器和云之间的基本关系。从多方面评测,DevOps和容器的组合不失为在云中做IT的一种方法。毕竟,许多人把应用系统迁移到云上的主要原因就在于容器最大限度地提高了可伸缩性和灵活性,这也是DevOps运动的关键目标。像虚拟化和持续交付似乎完全适用于云(或云计算环境),并且很有可能的是,如果DevOps起源于敏捷世界,它将自然而然发展出适用云计算的IT实践进程。

DevOps和本地部署

然而,这是否意味着容器化、DevOps和持续交付在某种程度上不适用本地部署,甚至与本地部署根本不相关?不尽然,“本地部署”已经有所改变了,它现在具有云的许多特性,包括高度虚拟化,以及通过抽象实现硬件约束的相对独立性。

一般而言,本地系统符合“私有云”的定义,并且它们能够很好地适用于DevOps核心的自动化开发和操作周期。

事实上,DevOps/容器领域的许多主要厂商(包括AWS和Docker)为本地部署提供了强大的支持,而复杂强大的容器管理工具(如Rancher)旨在实现跨公共/私有云边界无缝工作。可以毫不夸张地说,容器,对于云或本地部署而言已经没有太大区别了。

本地部署的原因

为什么要在本地部署容器?

本地资源

也许最直接的原因在于需要直接访问和使用如存储或特定于处理器的操作等硬件功能。 例如,如果你使用一个图形芯片阵列进行矩阵密集型计算,你可能会被绑定到本地硬件。

容器,和虚拟机一样,总是需要一定程度的抽象,但本地运行的容器会将应用程序和底层metal之间的抽象层数减少到最小。您可以通过容器直接访问底层操作系统硬件,这对于裸机上的虚拟机或公共云中的容器而言,就难以实现了。

本地监控

同样,您也可能需要容器来监视、控制和管理本地设备。在工业环境或研究设施中,这可能是重要考虑因素。当然,您也可以使用更传统的软件类型执行监控和控制的功能,但是,容器化和持续交付的结合使您能够根据制造过程或研究程序的变化快速更新和调整软件。

本地安全控制

当涉及到在内部部署容器时,安全性也可能是其中一个主要考虑因素。由于容器从底层操作系统访问资源,它们具有潜在的安全漏洞,为了保证容器安全,必须采取向容器系统添加安全功能这类积极措施。

大多数容器部署系统都具有内置的安全功能。然而,本地部署为添加额外安全层起到了积极作用。除通过控制对物理设施的访问之外,内部容器部署还能够利用底层硬件的内置安全功能来提升安全性。

传统基础架构和云迁移

如果你不能放弃现有的内部部署基础架构怎么办?如果一家公司有相当数量的资金投资在硬件上,或者根本不愿意或者不能够一次性地从一个大型和复杂的互连的遗留应用程序迁移,那么暂且维持现有状态可能是最实用的(或最谨慎的)中短期选择。通过内部引入容器(和DevOps实践),您可以为逐渐迁移到云计算铺设一条相对容易的路径。

在本地测试,在云中部署

您还可能希望在本地开发和测试容器化的应用程序,然后在云中部署。本地开发允许您密切监控软件与部署平台之间的交互,并在受控条件下观察其操作。

通过将应用程序在云中的行为与其在已知的受控环境中的行为进行比较,可以使隔离未预料到的部署后问题变得更容易。它还允许您在一个可信任的环境中部署和测试基于容器的软件,而不必担心可能会泄漏给您的竞争对手。

公共云/私有云混合

在比较云和本地容器部署时,还需要考虑另一点:公共云和私有云部署并没有完全不兼容,甚至在许多方面,它们之间根本没有明显的界限。

当然,对于传统的单片应用来说,它可以驻留在私有服务器上,同时通过基于云的接口访问远程用户,但通过容器,在适当时候,公共/私有的界限可以更加模糊和灵活。

例如,您可以通过公共云中的容器部署大部分应用程序,令某些功能在本地容器上运行。 这使您能够对诸如安全或本地设备访问等事项进行精细控制,同时您还可以利用公有云部署的灵活性、广泛覆盖面和成本优势。

如何正确组合

哪种类型的部署对您的公司更好?

一般来说,初创公司和中小型企业对绑定到硬件的需求不会那么强烈,因此它们很容易迁移到(或开始迁移到)云上。更大规模的公司以及需要管理和控制本地硬件资源的公司则更有可能倾向于本地基础架构。在这些企业中,内部部署容器可以作为整个公有云部署或混合私有/公有部署的桥梁。

然而,选择公有云还是本地,要取决于您的业务的具体需求。这世界不存在两个一样的企业,也没有两个软件部署是一样的,但无论您的软件/IT目标是什么、您如何计划去达成,在内部部署和公有云部署之间,都有足够的空间令该计划灵活进行。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26821.html

相关文章

  • 优势+工具+实践=DevOps&Docker的企业级落地

    摘要:的设计模式的设计模式以持续集成持续测试持续交付和持续部署为中心,自动化协作和持续监控是中使用的一些其他设计模式。持续集成持续集成是不断地将源代码集成到一个新的构建或发布的过程,源代码可以在本地存储中,也可以在或中。 showImg(https://segmentfault.com/img/remote/1460000010452455); 识别二维码报名活动 8月19日,来自微软、数人...

    stormjun 评论0 收藏0
  • 如何利用Docker构建基于DevOps的全自动CI

    摘要:三私有代码库阿里云使用引言使用肯定离不开和代码的集成。本着代码可靠性,服务器稳定性,功能扩展性综合对比,我们选择使用阿里云的库。 来自用户的DevOps实践分享,分享从开发代码到生产环境部署的一条龙操作的实践及经验, 包含工具技术的选型及考量、私有代码库与私有镜像库的应用等。 (一)容器服务的Rancher选型 1、为什么说是下一代核心技术 从互联网的多次变革说起,早期的C/S架构,到...

    stormzhang 评论0 收藏0
  • 精读《Serverless 给前端带来了什么》

    摘要:前端框架总是带入后端思维,而则是把前端思维带入了后端运维。前端同学对应该尤为激动。而带来了进一步优化的空间。当服务器面临攻击重启磁盘故障时,打开复杂的工作台或登陆后一通操作才能恢复。 1. 引言 Serverless 是一种 无服务器架构,让用户无需关心程序运行环境、资源及数量,只要将精力 Focus 到业务逻辑上的技术。 现在公司已经实现 DevOps 化,正在向 Serverles...

    wizChen 评论0 收藏0
  • DevOps到Cloud Native,应用上云姿势全解锁

    摘要:此文已由作者林帆授权网易云社区发布。好在问题发生在工作时间,被及时发现,没有导致什么损失。此外,服务的安全性也逐渐需要提上日程。这种应用与云高度融合的实践算得上是的一种终极形态。 此文已由作者林帆授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 序文伴随着IaaS、PaaS等云端基础设施技术的成熟,应用上云成为许多企业软件部门的心头大事。通过把传统软件系统搬到云...

    GT 评论0 收藏0
  • 如何构建安全的企业混合云

    摘要:几年前,行业预测分析人员表示,一旦企业决定了他们的云计算战略,他们将会首先构建私有云,并在以后根据需要添加公共云服务。如果要在本地实施容器或作为云计算部署的一部分实施容器,则需要确保其工作负载是安全的。几年前,行业预测分析人员表示,一旦企业决定了他们的云计算IT战略,他们将会首先构建私有云,并在以后根据需要添加公共云服务。但这种事情并没有发生。事实证明,采用云计算可以尽快让组织的董事会分配资...

    MarvinZhang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<