如何开始容器化

news/2024/7/12 2:24:30 标签: devops, 运维
本文讲的是如何开始容器化【编者的话】这是一篇入门级的文章。这篇文章描述了DevOps团队开始使用容器的原因及指导DevOps工程师明确进行应用容器化的战略。

【3 天烧脑式容器存储网络训练营 | 深圳站】本次培训以容器存储和网络为主题,包括:Docker Plugin、Docker storage driver、Docker Volume Pulgin、Kubernetes Storage机制、容器网络实现原理和模型、Docker网络实现、网络插件、Calico、Contiv Netplugin、开源企业级镜像仓库Harbor原理及实现等。

作为我工作的一部分,我经常会遇到DevOps工程师,与他们讨论容器战略。大多数时候,他们都渴望获得容器提供的好处,但作为新手,他们可能已经有一个基于容器的系统,或部署在本地或云端,却没有明确的战略。

鉴于容器的创新性,我们容易兴奋,想要全力以赴,但我鼓励人们明确界定短期和长期目标,建立适应容器及其周边文化所需的跑道。

DevOps团队想要开始使用容器的主要原因如下:

1. 加快应用开发和部署

容器具有精益、轻便和快速。你可以基于流行的开源项目,使用现成的样板镜像,轻松开发容器。应用作为容器镜像进行打包、装运、并以同样的方式,在开发环境和生产环境中运行。如果流程中添加了自动化功能,例如CI/CD工具,可以达到更高的效率。

2. 将应用程序迁移到云上

容器的另一个非常有用的特性是可移植性。应用容器化是对应用的抽象,使其运行在主机操作系统和物理基础架构上。同一容器可以在本机或云(私有或公共)中运行,而无需转换部署格式或更改一行代码。

3. 转向微服务

每个容器通常是单一用途、单进程,它与微服务架构很好地对齐。组织正在寻找更好的方法来开发和维护他们的应用程序,可以放弃难于维护的大型的单体应用,使用更容易开发和升级的微服务架构。容器是微服务的完美平台,在其周围发展的生态系统,能够使大型组织达到微服务扩展策略。

应用容器化有很多好处 - 但问题是从哪里开始?你应该把遗留的单体应用重构到微服务容器中,或者容器化新的应用。

那么,还有其他方法开始吗? 将现有的遗留应用容器化,而不是重构为微服务。遗留的单体应用容器化,将失去微服务应用程序提供的一些优势,如: 易于维护和更新,但这样的做法也会带来很多好处。

应用容器化,将容器引入环境中,在构建团队并建立流程的同时,使团队熟悉容器和微服务架构,从而找到转换成微服务的优化方法。

同时,使用容器,你需要一个管道和工具链,可用于封装新的微服务, 管理遗留应用程序。这样,你可以对容器周围的所有流程进行规范化,即使你在容器内运行遗留的单体应用。这种方法的优点是你可以将微服务使用于现有的应用程序上,以便任何新的功能都是以微服务为基础的。

最近流行一种混合方法,做为 DevOps的一种用例,称为 “提升和转移”。 “提升和转移”是指将本地部署的单体应用容器化(通常来自旧数据中心)并将其转移到其他地方(通常进入现代公有云或私有云)的过程。

然而,正如一位 DockerCon参会者指出 的那样,“提升和转移”不仅是传输机制。它提供了转换到微服务模型的基础,并作为管理的方式将容器引入环境。这就是为什么它很快成为熟悉容器的DevOps团队的流行方法。即使收益有限,但对于想在容器战略上展现明确前进目标,也是快速的胜利。

如果你的目标是使用容器重新构建遗留应用,以微服务架构完整的重写是一大步。这里面有很多中间步骤,例如将应用程序重构成几个更大的块 –“宏观服务”,如果你愿意的话。它还将提供一些好处,并允许你逐渐深入到真正的微服务架构中。

DevOps团队首先决定什么进行容器化,以及他们可能会考虑与外部利益相关者建立关系,以帮助支持进一步的创新。鉴于我的博客的名称是“DevSecOps”,因此我希望将安全性放在首位,因为他们有潜力成为DevOps极具战略意义的合作伙伴。

无论安全和DevOps之间可能存在什么障碍(我之前发布的其中一些内容),DevOps的合作精神可以成为安全工程师的强大诱惑。 安全团队不仅可以成为一个强大的盟友,他们可能会深入了解安全/ IT风险的考虑因素,从而加强DevOps驱动容器化特定的应用程序的商业理由。

“重建或容器化现有应用程序”没有一个适合所有的解决方案。 这就是为什么快速胜利如此重要 - 所以无论你决定做什么,做好准备,创造切合实际的成功标准。

原文链接:How to Get Started With Containerization(翻译:范彬)
===============================================================

译者介绍:范彬,从事微服务、Docker和Kubernetes容器技术等方面的工作。可以关注译者的微信公众号:范范米饭。

原文发布时间为: 2017-07-18
本文作者: 范彬
本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。
原文标题:如何开始容器化



http://www.niftyadmin.cn/n/978926.html

相关文章

PAT甲级 1130 中缀表达式

原题链接 给定一个句法二叉树,请你输出相应的中缀表达式,并利用括号反映运算符的优先级。 输入格式 第一行包含整数 N 表示二叉树的总结点个数。 接下来 N 行,每行以下列格式给出一个结点的信息(第 i 行对应于第 i 个结点&#xf…

五子棋人机对战

五子棋人机对战 参考:人机对战——填子游戏的攻防策略 关于机器的应对策略,在前文中有所表述,不一一解释,本文进行了修缮和补强,但漏铜依然存在。增加了一个倒计时功能,测试了一下,感觉一般,还是留在那里,表明曾经研究过,供今后完善;增加了棋谱保存功能和回放功能;…

Hibernate 事物隔离级别

Hibernate事务和并发控制YONG原创,转载请注明1. 事务介绍:1.1. 事务的定义:事务就是指作为单个逻辑工作单元执行的一组数据操作,这些操作要么必须全部成功,要么必须全部失败,以保证数据的一致性和…

微软表格数据集_泄露的薪水电子表格揭示了微软员工第二年的收入

微软表格数据集重点 (Top highlight)Over the course of August 2020, more than 300 Microsoft employees shared their salaries, bonuses, and stock awards in a Google spreadsheet to continue their push for fairer compensation.版本2020八月的过程中,300名…

PAT甲级 1143 最低公共祖先

原题链接 树中两个结点 U 和 V 的最低公共祖先(LCA)是指同时具有 U 和 V 作为后代的最深结点。 二叉搜索树 (BST) 递归定义为具有以下属性的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值 若它的右子树不…

亚马逊alexa智能家电_如何使用Amazon Alexa轻松设置智能家居设备

亚马逊alexa智能家电Alexa-compatible devices tagged as ‘Certified for Humans’ are relatively simple to set up. Here’s how to use Alexa to set up your smart home devices.标记为“人类认证”的Alexa兼容设备安装起来相对简单。 这是使用Alexa设置智能家居设备的方…

PAT甲级 1014 排队等候(队列大模拟+格式化时间)

原题链接 假设一家银行有 N 个服务窗口。 窗户前面有一条黄线,将等候区分为两部分。 客户排队等候的规则是: 在黄线以内的区域,每个窗口前都可以排一队人,每队最多可以排 M 个人,当 N 个窗口前的队伍都排满时&#xff…

五子棋人机对战(续)

五子棋人机对战(续) 参考五子棋人机对战 从tkinter改成pygame,主要是熟悉一下pygame的编程模式,具体的也没有什么好说的,就是觉得程序稍微简洁些,计时功能好像比前面那个要强,还增加了一个辅助功能,即鼠标移动到有效区域显示模拟落子。感到郁闷的是,回放后程序的退出…