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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介:

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

技术名词解释:

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



作者:刘妮娜译
来源:51CTO
目录
相关文章
|
11月前
|
存储 前端开发 JavaScript
潮玩宇宙大逃杀无聊猿卷轴模式系统开发详细规则丨步骤需求丨方案项目丨技术架构丨源码功能
确定游戏类型和规则:明确无聊猿卷轴模式游戏类型和游戏规则,包括敌人类型、地图设计、任务类型、战斗机制等。
|
11天前
|
C# 开发者 Windows
勇敢迈出第一步:手把手教你如何在WPF开源项目中贡献你的第一行代码,从选择项目到提交PR的全过程解析与实战技巧分享
【8月更文挑战第31天】本文指导您如何在Windows Presentation Foundation(WPF)相关的开源项目中贡献代码。无论您是初学者还是有经验的开发者,参与这类项目都能加深对WPF框架的理解并拓展职业履历。文章推荐了一些适合入门的项目如MvvmLight和MahApps.Metro,并详细介绍了从选择项目、设置开发环境到提交代码的全过程。通过具体示例,如添加按钮点击事件处理程序,帮助您迈出第一步。此外,还强调了提交Pull Request时保持专业沟通的重要性。参与开源不仅能提升技能,还能促进社区交流。
22 0
|
11天前
|
图形学 C++ C#
Unity插件开发全攻略:从零起步教你用C++扩展游戏功能,解锁Unity新玩法的详细步骤与实战技巧大公开
【8月更文挑战第31天】Unity 是一款功能强大的游戏开发引擎,支持多平台发布并拥有丰富的插件生态系统。本文介绍 Unity 插件开发基础,帮助读者从零开始编写自定义插件以扩展其功能。插件通常用 C++ 编写,通过 Mono C# 运行时调用,需在不同平台上编译。文中详细讲解了开发环境搭建、简单插件编写及在 Unity 中调用的方法,包括创建 C# 封装脚本和处理跨平台问题,助力开发者提升游戏开发效率。
24 0
|
1月前
|
API Python
🚀一键启动创意引擎!生成式大模型提示词工程,让你的想象触手可及🚀
【8月更文挑战第1天】在数字时代,生成式大模型正重塑内容创作边界。提示词如同创意钥匙,通过明确主题、构建场景、设定角色与情节、添加风格情感等步骤,能激发模型生成所需内容。示例代码展示了从提示词到生成内容的过程。通过提示词工程,我们可以一键启动创意引擎,将想象变为现实,开启无限创意可能。
49 8
|
24天前
|
机器学习/深度学习 Ubuntu 数据挖掘
揭秘:Ubuntu系统下部署Anaconda环境及Python语言的终极指南!跟随这一步步神秘流程,解锁编程大师的秘密武器!
【8月更文挑战第19天】在Ubuntu中部署Anaconda环境与Python相当直观。首先需从官网下载Linux版安装包。接着,在终端依次执行命令:添加Anaconda清华镜像源至软件源列表,更新软件包信息,然后安装Anaconda。安装后可通过`anaconda --version`验证。使用`anaconda create -n myenv python=3.8`创建名为“myenv”的环境并指定Python 3.8版本。
105 0
|
3月前
|
JSON Unix Shell
详尽分享魔豆应用开发傻瓜书——helloworld
详尽分享魔豆应用开发傻瓜书——helloworld
|
存储 Web App开发 网络安全
一步步实现SDDC--学习平台环境的搭建(2)
在上一篇文章中,我们一起完成了ESXI服务器的安装和管理网络初始化设置。 但是,就像之前所说的,由于台式机很难在ESXI的兼容性列表中,因此使用标准的ESXI安装镜像可能会出现异常失败的情况。 本篇开头,我将向大家演示,如何通过VMware PowerCli创建一个自定义的安装镜像。
一步步实现SDDC--学习平台环境的搭建(2)
|
存储 网络协议 虚拟化
一步步实现SDDC--学习平台环境的搭建(1)
新年伊始,晓冬将分享如何一步步搭建一个超迷你但又完整的VMware软件定义的数据中心。
一步步实现SDDC--学习平台环境的搭建(1)
|
编解码 iOS开发
一节微课诞生的全过程(无保留分享,望收藏)
本来是想以直播的方式把制作这节微课的过程分享出来,但考虑到大家的时间不统一,制作过程太长,这节微课录音之后制作动画就足足用了两天
177 0
|
前端开发 JavaScript
Primordial Farm(初元农场)星球生态游戏开发源代码部署流程
Primordial Farm(初元农场)星球生态游戏开发源代码部署流程