如何开始容器化

本文讲的是如何开始容器化【编者的话】这是一篇入门级的文章。这篇文章描述了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。

原文标题:如何开始容器化

时间: 2024-10-21 15:56:41

如何开始容器化的相关文章

将Node.js项目docker容器化并纳入kubernetes调度编排的实践

  简述 此文档以XXXLogApi-nj项目为例,讲解了将基于Node.js+Express开发的javascript项目容器化的过程.希望以后类似的项目可以以此为参照进行扩展. XXXLogApi-nj本身是一个微服务化的项目,其作用是为系统单纯的收集相关发布日志,以便能及时的展示给用户. ***这份文档的操作,开始于编码完成之后流程.不涉及GIT和JENKINS的等的操作. ***为保持职业操作,涉及公司信息的地方作了敏感化处理. ***在这个系列中,我同时作了spring boot, b

DockOne微信分享(九十九):海航生态科技舆情大数据平台容器化改造

本文讲的是DockOne微信分享(九十九):海航生态科技舆情大数据平台容器化改造[编者的话]海航舆情监控系统能够为海航集团内部提供监控网络舆情信息,对负面信息.重大舆情及时预警,研判具体舆情或者某一舆情专题事件的发展变化趋势,生成图标报告和各种统计数据,提高舆情工作效率和辅助领导决策.然而,随着项目的持续运行,许多问题逐渐暴露出来,为了解决这些难题,对整个项目重新规划设计,迁移到Hadoop.Spark大数据平台,引进持续化Docker容器部署和发布,开发和运营效率得到显著提升. 一. 舆情平台

阿里搜索业务容器化中的一些经验和思考

概要 参加了上一次CNUTCON 大会,有来自coreos的李响,分享了很多关于etcd的事情,以及关于k8s包括自己和coreos公司的一些观点:还有来自mesos的tim chen, 他分享了很多mesos的思路以及一些接入容器过程中踩过的一些坑:swarm kit的负责人陈东洛也分享了swarm的思路,这方面由于刚出来没多久以及分享的同学也只有他,所以东西并不多:总的来说,感触很深. 关于容器和编排,想到开源和创业 从会议分享者来看.相比去年,容器技术有了更大的发展:docker很热,每一

114期:阿里云成为MariaDB基金会白金会员,手淘开源安卓客户端容器化框架Atlas!

本期头条   • 阿里云成为MariaDB基金会白金会员:全球唯一入选云计算公司 • 大规模团队移动开发利器:手淘安卓客户端容器化框架Atlas正式开源 • [资料合集]Spark&Hadoop Summit精选PDF,免费下载! • 双11数据大屏背后的秘密:大规模流式增量计算及应用 • 阿里中间件技术专题:大神直播,快来围观!   技术干货   [开源峰会回顾]AliSQL开源功能特性 在2017在线技术峰会"阿里开源项目最佳实践"上,阿里云数据库内核专家赵建伟(冷香)为大

DockOne微信分享(一一七):沪江容器化运维实践

本文讲的是DockOne微信分享(一一七):沪江容器化运维实践[编者的话]沪江目前容器技术主要应用场景:OCS课件业务无状态应用:基于Apache Mesos+Marathon实现沪江容器系统调度管理:Consul + Consul Template + Nginx实现服务自动发现和注册:Prometheus + Grafana + Alertmanager报警实现容器监控报警.本次分享将从以下几方面来讲解: 选择容器技术缘由 容器技术选型 容器存储 容器网络 监控报警 镜像管理 调度管理 服务

Pinterest的容器化实践经验

本文讲的是Pinterest的容器化实践经验[编者的话]本文介绍了Pinterest向容器化平台转型的实践和经验. Pinterest堪称图片版的Twitter,网民可以将感兴趣的图片在Pinterest保存,其他网友可以关注,也可以转发图片. 过去的一年里,Pinterest云管理平台和站点可靠性工程团队关注于将工作负载从EC2实例迁移到Docker容器上.到目前为止,我们已经迁移了超过一半的无状态服务,包括所有的API fleet.该博文给大家分享整个过程中我们的经历和收获. 最近这些年里,

福利!阿里宣布手淘安卓客户端容器化框架Atlas正式开源

继Weex之后,阿里在移动技术领域又有开源大动作. 3月13日,手机淘宝安卓客户端容器化框架Atlas正式宣布开源(https://github.com/alibaba/atlas).Atlas由阿里巴巴移动团队自研,以容器化思路解决大规模团队协作问题,实现并行开发.快速迭代和动态部署,适用于Android 4.x以上系统版本的大小型App开发. Atlas特别适用于大规模团队的协同开发.通过提供组件化.动态性.解耦化的支持,Atlas能够实现每个业务在开发阶段独立编译.独立调试.独立运行,最后

微服务应用容器化场景中常见问题总结

简介 云原生技术栈是下一代应用转型的必然选择,它包含了微服务架构,DevOps和容器技术.对于微服务架构来说,应用是"第一公民",他逐渐蚕食原来底层软件或者硬件的功能,例如服务注册与发现以及负载均衡:而对于容器平台来说,容器是"第一公民",他提供了容器注册与发现和负载均衡,同时容器技术将应用和外面的世界做了隔离,这样很多应用运行的假设就会失效.那当微服务应用运行在容器中的时候,我们会遇到哪些常见问题?我们又该如何解决呢? 企业应用在向微服务架构转型的过程中,微服务如

DockOne微信分享(九十八):Insta360容器化&DevOps之路

本文讲的是DockOne微信分享(九十八):Insta360容器化&DevOps之路[编者的话]作为一个全景/VR创业公司,随着公司人员增加以及全球化方向转变,刀耕火种的CI/CD方式已经不能满足当前的需求.综合考虑当前的人员状况与技术架构的拓展性后,我们采用一套以阿里云为基础,Docker为核心,第三方服务为工具的开发.测试.部署流程,以及内部的代码提交,版本管理规范. 背景 我司是一家集硬件研发与软件开发为一体的互联网创业公司.2016被称为全景/VR元年,预示了机遇到来的同时,也注定了我们

DockOne微信分享(一三五):求取一份极致的简单:海量应用容器化改造之路

本文讲的是DockOne微信分享(一三五):求取一份极致的简单:海量应用容器化改造之路[编者的话]公司内部近千个应用,从需求.开发.测试.发布及后期运维都是各自为营,没有一个统一的平台来标准化应用的整个流程,由此,设计一个这样的标准化平台就极其迫切,同时为了享受当前容器化技术带来的福利,我们决定完全基于容器技术来进行全面的应用容器化改造,以下就是我们团队在平台研发及应用容器化改造过程的一些经历和思考向大家分享一下,思虑不周之处,望大家斧正. [3 天烧脑式基于Docker的CI/CD实战训练营