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

author author     2022-08-25     281

关键词:

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


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


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


DevOps、容器和云


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


DevOps和本地部署


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


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


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


本地部署的原因


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


本地资源


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


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


本地监控


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


本地安全控制


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


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


传统基础架构和云迁移


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


在本地测试,在云中部署


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


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


公共云/私有云混合


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


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


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


如何正确组合


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


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


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


原文来源:Rancher Labs

本文出自 “12452495” 博客,请务必保留此出处http://12462495.blog.51cto.com/12452495/1909910

特性分支开发模式or主干开发模式,团队该如何选择?

 对于一个具有一定规模的开发团队而言,团队Devops的建设都是迈向高效开发的必经之路,即便没有达到Devops建设的程度,为了团队中开发之间的高效协作,基于版本管理工具来选择团队合理的代码分支开发模式... 查看详情

sre/devops:内网集群管理套件2说明文档

【客户端】一、初始化模块检查客户端本地的sshd守护进程是否已启动检查客户端本地的SSH公钥认证相关文件的名称及权限id_rsa.pubauthorized_keys检测云端是否在线建立TCP连接,发送一个‘?‘至云端,若收到云端回应的‘!‘,则表... 查看详情

Docker 镜像和容器的 DevOps 和环境变量

】Docker镜像和容器的DevOps和环境变量【英文标题】:DevOpsandenvironmentvariableswithDockerimagesandcontainers【发布时间】:2022-01-1722:32:26【问题描述】:我是docker新手,想了解如何处理映像/容器中的环境变量以及如何配置CI/CD管道。首先... 查看详情

容器化rds|计算存储分离or本地存储?

随着交流机会的增多(集中在金融行业,规模都在各自领域数一数二),发现大家对Docker+Kubernetes的接受程度超乎想象,并极有兴趣将这套架构应用到RDS领域。数据库服务的需求可以简化为:实现数据零丢失的前提下,提供可接受... 查看详情

秦俊:开放devops敏捷开发套件,助力开发者驰骋云端

...、CCI(持续集成服务)、SODA(游戏持续集成)、织云(云端运维)等DevOps相关产 查看详情

如何将 Gitlab 的 Auto DevOps 用于多容器应用程序?

】如何将Gitlab的AutoDevOps用于多容器应用程序?【英文标题】:HowtouseGitlab\'sAutoDevOpsformulti-containerapplication?【发布时间】:2022-01-0502:04:47【问题描述】:我有一个多容器应用程序,使用nginx作为Web服务器和反向代理,以及一个简单... 查看详情

容器技术与devops

容器技术的使用支撑了目前DevOps三大主要实践:工作流、及时反馈、持续学习。有人说容器技术与DevOps二者在发展的过程中是互相促进的关系。得益于DevOps设计理念的流行,容器生态系统在设计上与组件选择上也有相应发展。同... 查看详情

容器技术与devops

容器技术的使用支撑了目前DevOps三大主要实践:工作流、及时反馈、持续学习。有人说容器技术与DevOps二者在发展的过程中是互相促进的关系。得益于DevOps设计理念的流行,容器生态系统在设计上与组件选择上也有相应发展。同... 查看详情

微服务架构之「容器技术」

参考技术A现在一聊到容器技术,大家就默认是指Docker了。但事实上,在Docker出现之前,PaaS社区早就有容器技术了,以CloudFoundry、OpenShift为代表的就是当时的主流。那为啥最终还是Docker火起来了呢?因为传统的PaaS技术虽然也可以... 查看详情

选择合适的devops工具,从理解devops开始

近年来,得益于容器技术与微服务架构的蓬勃发展,在敏捷模型基础之上,开发和运维协同工作的DevOps模式应运而生。事实上,DevOps这个理念并不是凭空出现的,它来自于传统制造业的“精益”思想,最早出自丰田汽车企业文化... 查看详情

系统学习docker践行devops理念

Docker代表的容器技术是近两年的大热技术,和人工智能、区块链等热点不同,容器技术的门槛并不高,每一个开发、测试、运维人员都能在日常工作中掌握和使用,是当今IT从业人员的必备技能之一。本课程会带大家系统学习什... 查看详情

系统学习docker践行devops理念

Docker代表的容器技术是近两年的大热技术,和人工智能、区块链等热点不同,容器技术的门槛并不高,每一个开发、测试、运维人员都能在日常工作中掌握和使用,是当今IT从业人员的必备技能之一。本课程会带大家系统学习什... 查看详情

本地到云端数据如何处理

导读如今,很多企业上云,只是把本地的数据技术、治理模式和安全能力迁移到云端,并没有思考如何通过真正云化的数据存储形式和技术方法,重构云端体验。如何把数据从本地平滑迁移到云端?相信这是所有上... 查看详情

容器云原生devops学习笔记——第二期:如何快速高质量的应用容器化迁移(代码片段)

...s的理解一直懵懵懂懂,最近观看了阿里专家带你玩转容器云原生DevOps公开课开始系统的学习DevOps,所以根据学习视频整理出以下学习笔记希望分享给更多对此感兴趣的同学~课程大纲如下图所示,会陆续进行更新... 查看详情

Azure devops,利益相关者和基本用户有啥区别,如何选择?

】Azuredevops,利益相关者和基本用户有啥区别,如何选择?【英文标题】:Azuredevops,whatisthedifferencebetweenstakeholderandbasicuser,andhowtochose?Azuredevops,利益相关者和基本用户有什么区别,如何选择?【发布时间】:2021-05-1522:28:59【问题... 查看详情

devops度十大热点事件

...Ops加速发展的一年,在过去的这一年中:各个公司的使用容器和工具相关的DevOps实践在不断深化。techrepublic不久前评出了2016年DevOps领域十大热点事件,让我们来一睹为快。Docker强化了生命周期管理的信息安全特性Docker发布了它... 查看详情

容器云原生devops——第二期:如何快速高质量的应用容器化迁移(代码片段)

...s的理解一直懵懵懂懂,最近观看了阿里专家带你玩转容器云原生DevOps公开课开始系统的学习DevOps,所以根据学习视频整理出以下学习笔记希望分享给更多对此感兴趣的同学&#x 查看详情

2021年11个我们喜爱的devops开源工具

...噬云计算的预算。这些DevOps工具都是开源的,支持从容器构建和编配到微服务网络、配置管理、CI/CD自动化、全栈监控等一切功能。以下是我们最喜欢的2021年DevOps开源工具。1、kubernetes随着微服务和基于容器的软件的无处不... 查看详情