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

简介:

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


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


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


DevOps、容器和云


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


DevOps和本地部署


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


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


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


本地部署的原因


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


本地资源


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


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


本地监控


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


本地安全控制


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


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


传统基础架构和云迁移


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


在本地测试,在云中部署


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


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


公共云/私有云混合


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


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


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


如何正确组合


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


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


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


本文转自 RancherLabs 51CTO博客,原文链接:http://blog.51cto.com/12462495/1909910
相关文章
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
917 30
|
存储 运维 Kubernetes
云端迁移:备份中心助力企业跨云迁移K8s容器服务平台
本文将简要介绍阿里云容器服务ACK的备份中心,并以某科技公司在其实际的迁移过程中遇到具体挑战为例,阐述如何有效地利用备份中心来助力企业的容器服务平台迁移项目。
|
存储 Kubernetes 负载均衡
云端应用容器化管理:全面深入评测与分析
阿里云ACK测评:提供一键式容器应用部署,集成ALB实现高效交付,但一键部署有时故障且高级配置需专业知识。操作界面直观,文档全面但对Helm等进阶主题指导不足。适合已有Kubernetes基础的用户,对于新手可能挑战较大。推荐给寻求云上容器管理解决方案的企业。
云端应用容器化管理:全面深入评测与分析
|
运维 安全 Cloud Native
"揭秘!Trivy——云原生时代的隐形安全侠,一键扫描,让容器镜像漏洞无所遁形,守护你的云端帝国坚不可摧!"
【8月更文挑战第14天】在云原生时代,容器技术如Docker与Kubernetes大放异彩,加速了应用部署。但容器化的普及也带来了安全挑战,尤其是镜像的安全性至关重要。Trivy,一款高效且轻量级的镜像安全扫描工具应运而生,成为开发者与运维人员的得力助手。它由Aqua Security开发,支持一键式全面扫描,能快速检测镜像中的漏洞与配置风险,并提供修复建议。Trivy采用Go语言编写,轻巧高效,支持多平台,并可轻松集成到CI/CD流程中,确保只有安全的镜像才能部署到生产环境。无论新手还是专家,Trivy都是构建安全可靠云环境的理想选择。
357 2
|
运维 监控 Devops
构建高效自动化运维体系:DevOps与容器化实践
【7月更文挑战第44天】在现代IT基础设施管理中,自动化运维已成为提升效率、降低成本、确保系统稳定性的关键。本文将探讨如何通过结合DevOps理念和容器化技术来构建一个高效的自动化运维体系。我们将分析这一体系对提高软件交付速度、优化资源利用率以及增强系统可靠性的积极影响,并提供一系列实施策略和最佳实践,帮助企业实现运维自动化转型。
|
Kubernetes Devops 持续交付
容器化技术在DevOps中的应用
【7月更文挑战第6天】容器化技术在DevOps中的应用极大地提高了软件开发的效率和可靠性。通过自动化部署、持续集成与持续交付、环境一致性以及资源管理和监控等功能,容器化技术为开发人员和运维人员提供了更加便捷、高效的管理和部署方式。随着云计算技术的不断发展和普及,容器化技术将在DevOps中发挥越来越重要的作用。
|
缓存 资源调度 Kubernetes
阿里云云效产品使用合集之如何将两个独立的代码仓库构建并部署到同一个容器内
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
运维 监控 Devops
构建高效稳定的云基础设施:DevOps与容器化技术融合实践
【7月更文挑战第58天】 在当今的软件开发领域,"DevOps"和"容器化"已成为提升项目交付速度、确保环境一致性以及实现持续集成和持续部署(CI/CD)的关键策略。本文深入探讨了如何将DevOps理念与容器化技术相结合,以构建一个既高效又稳定的云基础设施。通过分析现代运维的挑战,我们提出了一套实践方案,并讨论了该方案在现实环境中的具体应用及潜在益处。文章不仅为读者提供了理论指导,还分享了来自一线实践的经验教训,旨在帮助组织优化其云基础设施管理,提高业务竞争力。
|
API 开发工具 数据安全/隐私保护
阿里云云效操作报错合集之流水线镜像已经生成,但容器没有出现,是什么导致的
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
敏捷开发 Kubernetes 测试技术
阿里云云效产品使用合集之流水线创建时,不想选择节点和容器,该如何操作
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。