前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >云计算的乐高玩具,Docker从根本上改变应用程序开发

云计算的乐高玩具,Docker从根本上改变应用程序开发

作者头像
CSDN技术头条
发布2018-02-08 16:18:10
7290
发布2018-02-08 16:18:10
举报
文章被收录于专栏:CSDN技术头条CSDN技术头条

【编者按】Docker改变了应用程序开发领域的很多事情,已经成为时下最流行的开源项目之一,而且也从根本上改变了人们构建应用程序思维方式。Docker正在改变云的开发实践,允许任何人以整合别人容器的形式利用封装社区的最佳实践,这就像云组件的乐高玩具。

以下为译文:

Docker就像一场森林大火,这个新的Linux容器技术以它自己的方式点燃了周围的一切,我们许多人难以跟上它蔓延的速度。Docker不仅是历史上最流行的开源项目之一,而且也从根本上改变了人们构建应用程序的思维方式。

严格来说,许多基于Docker应用程序背后的理念并不新颖,但Docker却给这些旧理念带来了新的思维角度。Docker鼓励像12-Factor Applications的最佳实践,那么利用Docker到底改变了什么?且看以下四个领域。

微服务架构的崛起

单片云应用开发已经被淘汰了,取而代之的是微服务架构,它将大型应用程序拆解成通过普通REST API通信的更小的、 目的驱动的服务。

在90年代,一个类似的概念被称为接口/基于组件的体系结构,后来,SOA似乎势头很猛,到现在微服务器概念已经成为Docker社区一个标准的主题,它的趋势是将应用程序拆解为解耦的、极简的以及为做好一件事而设计的专门容器。

完全封装的Docker容器能通过为微服务应用程序创建一个高效的分销模式来提供微服务,这改变了云开发实践模式,使得原来在Facebook和Twitter使用的大规模架构,在小开发团队里的应用变得可能。

让dev和ops更加紧密

尽管Puppet、 Chef、 Salt等开创了devops运动,这些工具在运维团队的受欢迎度仍然比开发人员高。

Docker是第一个devops工具,它在开发者和运维者之间同样受欢迎,为什么?因为开发人员可以在容器内部工作,而运维工程师可以并行的在容器外部工作。

当开发团队采用Docker,他们为软件开发生命周期添加了一个新的敏捷层。最大的区别是一致性,基于Docker应用程序能够和开发阶段一样运行在笔记本电脑上。因为Docker封装应用程序的所有状态,你不必担心由于底层操作系统的差异缺陷造成的管理或bug问题。

保证持续集成一致性

通过自动测试你代码的持续集成是一个非常好的方式来减少你最终产品的bug数量,但持续集成有两大缺点。

首先,很难封装所有依赖项。传统CI(持续集成)/CD(持续交付)技术如Jenkins 或Travis由于binary dependencies或OS-level变更,导致代码在开发阶段和dev/test/QA阶段稍有出入,而Docker封装了整个应用程序的状态,这使得代码运行在dev/test/QA阶段和开发阶段完全相同。

其次,持续集成并不是为微服务架构而构建的。CI是基于一个App位于一个代码库的假设而构建的。然而,Docker最佳实践鼓励微服务架构与各种Docker容器全部松散耦合,于是有了新的CI/CD工具Drone和Shippable,它们是基于Docker容器构建的。这些工具可以让你从多代码库中提取测试多容器的应用程序。

最佳容器的协同

并不是改变你们自己的服务容器如Hadoop、Nginx或MongoDB,Docker鼓励开源社区合作和在Docker Hub上微调容器。因为Docker可以封装状态,它们让你更灵活的配置软件来保证其最佳运行。

因此,Docker由于允许任何人以整合别人容器的形式利用封装社区的最佳实践,从而改变了云开发实践。这对于云组件来说就像是乐高玩具,最后总会将它们拼在一起。

云计算的乐高玩具

新技术的出现总会伴随着打破现状,Docker正迅速改变云的规则和颠覆云技术领域,它改变了CI / CD、微服务、开源协作、devops等领域,Docker也正在改变应用程序开发生命周期和云工程实践。每一天,成千上万的开发人员愉快地重构或构建新的基于Docker的App。了解Docker已经成为企业或个人在激烈变化的世界中保持竞争力的一个关键因素。

原文:4 ways Docker fundamentally changes application development 

(http://www.infoworld.com/article/2607128/application-development/4-ways-docker-fundamentally-changes-application-development.html)

(编译/魏伟 审校/仲浩)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2014-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSDN技术头条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档