首页 运维杂谈容器战略与DevOps、微服务和云战略到底什么关系?

容器战略与DevOps、微服务和云战略到底什么关系?

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

今天,几乎每个企业都在处理影响多个领域的数字化转型,包括DevOps、微服务和云的战略。容器在每个领域都发挥着特殊的作用。

DevOps战略

IT机构分为运营和应用开发。他们作为两个独立的团队运作,每个团队都有自己的一套目标。大多数企业正在朝着DevOps的方向发展,将这两个团队结合到一起。

容器在DevOps计划的成功中发挥着重要作用。DevOps成功的关键标准之一是提升开发对运营的影响力。开发人员不应该只将代码丢给运营操作,还应该关心代码如何在生产环境中运行。常见的技术是将“基础设施作为代码”。开发团队应该把环境设置作为代码提供,而不是提供容易出错的安装指令页面。

这正是容器所解决的问题。容器映像是容器的模板,包括整个堆栈,从基本操作系统到应用程序代码。使用容器,开发人员不会仅仅构建从Dev到QA到Prod的应用程序工件(例如.jar文件),相反,他们将传递一个版本化的容器映像,其中包括构建的工件和工件运行所在的环境。容器是包括所有的,把从操作系统库到中间件到应用程序捆绑成一个映像。因此,容器在开发中运行的方式与在QA和生产中运行的方式完全相同。容器是DevOps成功的关键因素。

容器战略与DevOps、微服务和云战略到底什么关系?插图

此外,容器平台正在进一步发展。典型的持续集成和交付(CICD)工具(如Jenkins)可用作在容器平台本身上运行整个CICD过程的容器,而不需要额外的基础设施。现在,你可以使用PaaS平台构建和运行CICD管道。

微服务战略

微服务是另一个热门话题。将应用程序分解为分离的小型服务,每个小型服务都很好地完成一个小任务——这是应用程序的设计方式。每个微服务可以基于适合的技术以不同的语言编写。它们将由小型团队创建和管理,并且可以快速更改。所有这些要求再次指向容器。容器足够小,是微服务的基础。容器可以支持你选择的任何技术和语言。它们易于创建和运行,并且可以快速更改。微服务和容器被认为已经结合了——如果人们谈论在不使用容器的情况下实现微服务,这听起来很奇怪。

事实上,虽然微服务承诺简易性,但其扩散增加了复杂性。需要一些微服务设计和部署模式出现以简化微服务的实施。这意味着开发人员现在需要一个平台,让他们可以轻松部署和协调这些微服务,并且:

1.以与语言无关的方式实现这些微服务的设计模式

2.不增加代码入侵的复杂性,使开发人员必须在其业务逻辑中包含大量的模式代码

3.有足够的灵活性部署在你所选择的基础设施上,而不是把你绑定到特定的云。

这就意味着选择一个正确的容器平台。以特定供应商的方式在特定基础架构上实现这些微服务将使应用程序与这些供应商平台相关联。使用诸如符合OCI的容器的标准技术来容器化微服务,将确保你的微服务可以在任何符合OCI的平台上运行。

选择正确的容器平台来运行微服务是另一个重要的决定。现在的选择很少。而如果在做这个选择时出现失误,可能会走上非标准、供应商锁定的道路。

云战略

云战略又是一个热门话题。不管你喜欢还是不喜欢,“即服务”模式是一个不可避免的变化。如果你不通过IT提供这项服务,你的开发团队可能会找到到达云的方法。此外,虽然使用云将使你从资本支出转移到运营支出,但管理云支出是一个不断升级的挑战。

云提供虚拟机。你会希望确保在启动其他虚拟机之前,最佳地使用此云上的CPU、内存和网络资源。容器在这里起着重要的作用。因为容器比VM小得多,并且如果你的应用程序在容器中运行,则可以在VM中安装更多的容器,而不是为每个VM运行一个应用程序组件。

公有云供应商众多,其中亚马逊网络服务(AWS)、微软Azure和谷歌云是最受欢迎的。此外,你可能希望在基于OpenStack的数据中心中拥有自己的私有云。每个云环境都有自己的协议、API和工具。当你希望应用程序在云上运行时,你就不希望应用程序编排是云供应商特定的,并且不想维护任何特定于云的代码。被特定云供应商锁定就好比在未来几年向供应商签发空白支票一样。

跨云的可移植性对云战略至关重要。你可以编写应用程序,而不必担心它们在哪里运行,容器平台屏蔽了特定的云供应商协议,防止你被一个云供应商锁定。

遗留系统

微服务架构带来的好处很多,但不是每个应用程序都可以重构到微服务中,有些只能部分地重构。传统应用程序遗留后,需要维护和管理。虽然容器支持微服务,但容器不仅仅是微服务。可以想象,你可以将大型应用程序和非微服务作为容器运行,因此只要你选择正确的容器技术和正确的应用程序平台,就可以运行许多(也许不是全部)的遗留应用程序作为容器。

小结

希望对各种策略和容器的解读有助于企业评估下一步,也很期待大家的反馈,分享经验教训以及为什么没有采取行动。

本文转自K8S技术社区

本文链接:https://www.yunweipai.com/12680.html

网友评论comments

回复 Mao 取消回复

您的电子邮箱地址不会被公开。

  1. Mao说道:

    DevOps与云、微服务之间是环环相扣的。
    这三者之间,驱动力是云化,云化并不等同虚拟化,云化是“在沙滩上建造高楼大厦”。相比传统的将可靠性建立在硬件之上,这个观念是完全颠覆的。
    因此软件需要云化,必定对架构要做出调整,所以就有了微服务。微服务拆分之后带来的一系列问题,就需要用DevOps系统来解决。

Copyright © 2012-2022 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部