老外编辑带你迈出自己容器化的第一步

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

作为一名技术编辑,我在工作中经常与人讨论他们的容器化战略。在刚开始接触容器的时候,人们总是希望得到容器技术所带来的利好,而没有想到过破坏性容器。他们可能有一两个基于容器的系统,或者在使用云技术,但是没有明确的战略。

在你兴奋的全力奔向容器之前,最好弄清楚破坏性容器是什么。我建议人们建立短期和长期的目标,并且在容器化的道路上适应新的需求并且接受其文化内涵。


Devops团队要开始使用容器的原因是:

首先,加快应用程序的开发和部署:容器简洁、轻便、快速,你可以很容易的开始使用基于热门开源项目的现成模版图像和显影容器。准备就绪之后,你可以打包你的任务为容器映象,并在生产环境中运行,与你在开发环境中所做的完全一样。如果将自动化添加到进程中,比如CI/CD工具,那么进程将变得更快。

其次,将应用程序迁移到云中:容器的另一个非常有用的特性是它们的可移植性。容器化一个应用程序来自主操作系统和物理基础设施,相同的容器可以在前提下运行也可以在公有或私有云中运行,而不需要转换部署格式或更改代码。

最后,转向微服务构架:每个容器通常是单一的指向,单一的过程,并且恰当的校准微服务构架。组织正在寻找更好的方法来开发和维护应用程序,离开那些难以维持微服务构架的大型应用程序,会有助于开发和升级。容器是微服务构架的完美平台,生态系统的涌现使得大型微服务战略得以实施。

容器化你的应用有很多好处,但问题是从哪里开始呢?你应该把过去的应用重构为现代微服务构架容器还是应该用容器制造一些新的东西?

有时我们也会尝试用另一种方法,容器化现有的应用程序而不是重构为微服务的模式?当我们容器化一个应用程序的时候,整体的应用程序可能和容器不兼容,你可能会损失一部分微服务应用带来的利好,特别是易于维护和更新的选项,但是仍然有很多可以保留的地方。

容器化一个应用程序可以使你把容器带到环境中,帮助你去构建团队和建立流程,优化这之间的过渡,直到完成一个基于微服务构架的应用程序。

在容器化的结尾,你会想有一个管道和工具链,可以用于新的微服务和管理旧应用程序的打包。通过这种方式,您可以规范容器周围的所有进程,甚至可以在容器中运行遗留的单片应用程序。使用这个方法的优势是,你可以把微服务绑定在现有的应用程序上,然后所有的新功能都可以基于微服务构架。

一个最近比较流行的混合的方法是,用Devops的已知案例来提升和转移。"提升和转移"是指容器化过程中的一个前提。用单一的应用程序来解除它(通常来自旧的数据中心)并将其转移到其他地方(通常是现代公共或私有云)。

然而,作为一个提示,提升和转移应该不仅仅只是一个传送机制。它为转化为微服务构架模式提供了基础,并且以可管理的方式将容器引入环境中。这就是为什么它可以迅速成为一种Devop团队容器化的流行方法。但是当用于提供更有效的一系列好处时,对于那些想在容器战略上表现出实质性进展的人来说,这可能是一个快速的胜利。

如果你的目标是用容器重新构建一个遗留应用程序的话,完整改写微服务构架是重要的一步。这中间有许多环节,如分成几大块重构应用程序。它还将提供一些好处,让你逐步深入到真正的微服务构架中去。正如Devops团队决定如何运用容器技术一样,他们可能会考虑建立外部联系,因为外部的投资可以支持更长远的创新。就像我在博客中命名的"DevSecOps",我把安全小组放在列表的首位,我认为它将会是Devops有用的伙伴,非常有战略意义。

不管在安全和Devop之间会存在什么样的障碍,Devops的协作精神对于安全人员来说很有吸引力。安全小组不仅可以成为强大的盟友,他们可能在安全和IT风险方面有更长远的考虑,这可以加强对特定应用程序容器化的Devops驱动业务。

最后,对于重建或容器化现有应用程序,两难在于,没有一个解决方案是适合所有人的,这就是为什么快速获胜是非常重要的。所以不管你决定怎么做,做好计划,去创造一个现实的成功标准吧!

技术名词解释:

容器:
容器技术虚拟化技术已经成为一种被大家广泛认可的容器技术服务器资源共享方式,容器技术可以在按需构建容器技术操作系统实例的过程当中为系统管理员提供极大的灵活性。
Devops:
英文是Development和Operations的组合,是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。
微服务构架:
微服务是一项在云中部署应用和服务的新技术。大部分围绕微服务的争论都集中在容器或其他技术是否能很好的实施微服务。



作者:刘妮娜译
来源:51CTO
目录
相关文章
|
2月前
|
机器人 程序员 C++
Scratch3.0——助力新进程序员理解程序(十一、自制积木)
Scratch3.0——助力新进程序员理解程序(十一、自制积木)
39 0
|
6月前
|
存储 前端开发 JavaScript
潮玩宇宙大逃杀无聊猿卷轴模式系统开发详细规则丨步骤需求丨方案项目丨技术架构丨源码功能
确定游戏类型和规则:明确无聊猿卷轴模式游戏类型和游戏规则,包括敌人类型、地图设计、任务类型、战斗机制等。
|
7月前
|
存储 Web App开发 网络安全
一步步实现SDDC--学习平台环境的搭建(2)
在上一篇文章中,我们一起完成了ESXI服务器的安装和管理网络初始化设置。 但是,就像之前所说的,由于台式机很难在ESXI的兼容性列表中,因此使用标准的ESXI安装镜像可能会出现异常失败的情况。 本篇开头,我将向大家演示,如何通过VMware PowerCli创建一个自定义的安装镜像。
一步步实现SDDC--学习平台环境的搭建(2)
|
7月前
|
存储 网络协议 虚拟化
一步步实现SDDC--学习平台环境的搭建(1)
新年伊始,晓冬将分享如何一步步搭建一个超迷你但又完整的VMware软件定义的数据中心。
一步步实现SDDC--学习平台环境的搭建(1)
|
6月前
|
数据库连接 测试技术 开发工具
猿创征文|工具百宝箱-编辑器-笔记工具-日常小工具-原型设计工具
猿创征文|工具百宝箱-编辑器-笔记工具-日常小工具-原型设计工具
|
前端开发 JavaScript
Primordial Farm(初元农场)星球生态游戏开发源代码部署流程
Primordial Farm(初元农场)星球生态游戏开发源代码部署流程
|
测试技术 BI Android开发
移动app自动化测试工具发展历程--完整版
移动app自动化测试工具发展历程--完整版
143 0
移动app自动化测试工具发展历程--完整版
|
Web App开发 前端开发 JavaScript
【前端第一课】前端的基本概念;安装各类开发软件;git使用方法
【前端第一课】前端的基本概念;安装各类开发软件;git使用方法
|
存储 Web App开发 前端开发
【干货】私藏的这些高级工具函数,你拥有几个?
很多功能,其实内置的Web API已支持, 比如基于URLSearchParams或者URL的queryString获取和生成 比如基于btoa,atob的base64的编码和解码 比如基于sendBeacon的数据上报 比如基于 Array.from的序列生成 比如基于canvas的视频截图 比如基于URL的UUID生成 我们用精简的代码来实现相对复杂的功能,没有第三方库,你也能秀得飞起。
116 0
【干货】私藏的这些高级工具函数,你拥有几个?
|
定位技术 开发者 Python
保姆级教程带你开发优质的Python库之中篇【命令行发行】
正式的Python专栏第10篇,同学站住,别错过这个从0开始的文章!
135 0
保姆级教程带你开发优质的Python库之中篇【命令行发行】