美文网首页Docker 随笔docker实践Awesome Docker
大数据用Docker和火星上种土豆一样靠谱!

大数据用Docker和火星上种土豆一样靠谱!

作者: 灵雀云 | 来源:发表于2015-12-01 16:45 被阅读48次

三十年后,当马特·达蒙回忆起自己波澜壮阔的一生,最令他回味的,也许不是参加了诺曼底滩头的迷茫战斗《拯救大兵瑞恩》,不是在失忆的惊惶中流亡天涯《谍影重重》,也不是冰天雪地里30多年的春秋大梦《星际穿越》,而是红色星球上种土豆的日子《火星救援》。

‌‌


据说,空间站宇航员已经食用过了太空生长的莴苣。NASA一位植物学家也称,人类可以在火星上栽种土豆,而且可种植的不止土豆一种。2014年,荷兰就有一群好奇的科学家,已经在模拟月球土和模拟火星土上,种植了西红柿、胡萝卜、小麦等14种农作物。

所以,那个15岁起就被美国国家实验室聘为软件工程师的『太空宅男』安迪·威尔,即使写小说,也是很靠谱的!

看完『火星救援』,今年值得期待的科幻大片就剩『星战7』了。


据说『星战7』在北美的预售票房就超过了5000万美元,70%都是18-49岁的男粉丝,平均年龄在34岁,67%的人都会在上映一周之内就去一睹为快……

以上这些数据都是由一家叫Movio的公司发布的,Movio是干嘛的呢?

Movio主要有两个产品,Movio Cinema和Movio Media,Movio Cinema主要和各大影院合作(已经覆盖了北美52%的荧幕,全球24.5%),通过大数据分析为影院的顾客提供个性化的服务;Movio Media则主要服务于电影的制造商和发行商,利用Movio Cinema上收集到的数据,为制片商和发行商提供有效建议。总之就是一家立志用大数据分析和互联网改变电影产业的公司。

而Movio正是Docker的重度用户。Movio为了使其代码能在日益复杂的同时,保持弹性扩展,开始采用微服务架构和Docker。以下内容来自Movio的技术博客,主要讲述了其如何在开发环境中使用Docker。

Docker将应用封装在一个『完全的』OS环境中,并运行在一个容器里。容器和虚拟机很类似,但是更像物理机:比如,内存并不是提前分配给容器的,需要容器向主机动态申请。

使用容器意味着库依赖(Library dependencies)可以独立于主机系统,被提前安装好。其它的依赖,比如配置文件也可以被提前配置好默认值,并放在合适的位置。有了Docker就相当于每个应用,不管在任何操作系统中,都能有一套标准的环境以相同的方式运行起来。主机操作系统中安装的库(Library)和软件包(package)不会影响到应用,因为这些应用是相互独立的。

Docker在Movio的开发过程中主要是这么用的:

Run anywhere

程序猿们对OS X和Linux多个发行版可谓各有所爱,由此造成的开发环境不统一问题,是非常痛苦的。而应用运行在容器中,意味着每个人都能依赖于相同的配置。而当你需要一些个性化配置时,也可以在启动容器时设置参数。

比如,你可以在容器外挂载一个volume,存储容器过程中产生的数据。比如,你有一个数据库容器,你希望这个容器停止或被删除后,其中的数据能够保存下来。

灵雀云也提供了持久化存储服务,将云存储抽象成最直观的存储卷,可以直接挂在容器上,就像本地操作Docker的存储卷一样方便。在存储卷基础上,为了进一步提升数据的持久性,灵雀云还提供“存储卷备份”,可用于抓取存储卷闪照并进行保存。

方便各个组件间的集成

如果你有一个微服务,需要和另外一个小组维护的微服务做集成,运行docker pull就可以将那个微服务下载到在你的环境上,都不用担心环境依赖的问题。

这个过程完全复制了各个服务在生产环境中的交互,这也使得我们相信在测试环境中看到的结果,会被完全地反映到生产环境中。

灵雀云支持多容器发布管理,与docker-compose兼容,可通过YAML文件描述应用的容器组件,以及容器间的依赖,并一键部署完整的多容器应用。

可组合的Docker镜像

基于此,可以简单地复用之前做过的工作,我们有一系列的核心的基础镜像,同时也意味着我们的镜像都基于相同的基础。同时,各个组之间也可以复用镜像。

Docker镜像是分层管理的,每个部分都被实现为其中一层,并且可以共享base层,带来的好处有2个:减小了Docker库的,缩短了下载新镜像所用的时间。

灵雀云提供高性能本地Registry服务用于创建私有、公有镜像仓库,并提供上传、下载、构建及托管的全方位镜像服务。

加强开发、测试和运维的协作

用了Docker后,开发人员会更具有全局思维,他们会有意识地去思考在开发环境之外,运行这个应用还有哪些需要。

而测试环境将是生产环境的复制,并且是标准化的,因为Docker镜像都是标准化的,pull下来就能马上运行起来,不需要再根据文档一步步地配置。

Docker带来的挑战

Docker的实现机制也意味着会有很多的基础镜像依赖。例如,我们有一个Clojure写的微服务,它是基于Clojure镜像构建的,但Clojure镜像又是基于Java镜像构建的,Java镜像又要基于一个通用的基础镜像。一旦这个基础镜像发生了改变,所有的中间镜像都要重新build,这无疑增加了额外的开销。

由于Docker是基于Linux内核的,在OS X系统上就需要在虚拟机中运行一个Linux的操作系统。官方的工具是基于VisualBox的,文件和文件夹要先mount到VM上,再mount到Docker容器,尽管这个工具可以自动做到这些,但是chown和chmod的操作无法工作。

OS X中文件名是不区分大小写的,但是大部分Linux系统都是区分的。如果不正确的命名恰好在挂载路径中出现,就会找不到这个路径。

以上这些挑战是在本地主机环境中使用Docker会遇到的问题,如果使用CaaS服务,比如灵雀云都可以避免以上的问题,将您的精力放到核心业务上,同时享受Docker带来的诸多好处!

总结

在使用Docker的初期,肯定会有一个学习曲线,但是总体来说,Docker确实提高了我们的生产效率。在以往,新员工入职需要数天才能配置好本地环境,并且一直会被环境问题所困扰。有了Docker,生产环境对本地环境的依赖变得很小。随着我们的发展,这种效率的提升变得越来越明显。

针对大数据分析,灵雀云在Docker的基础上还提供了一些个性化的解决方案,感兴趣的用户可以关注我们哦!

相关文章

  • 大数据用Docker和火星上种土豆一样靠谱!

    三十年后,当马特·达蒙回忆起自己波澜壮阔的一生,最令他回味的,也许不是参加了诺曼底滩头的迷茫战斗《拯救大兵瑞恩》,...

  • 火星救援---种土豆

    种土豆,都是挑选比较大的土豆,按照土豆上面芽眼的分布,切成小块,种植到土壤里面。 火星上种土豆的那个人,没有切块,...

  • 69 《火星救援》|在火星上种土豆

    宇宙,这个词在你脑海中出现的频率是多久一次呢? 一般人,每天忙于工作、生活、学习,只顾低头走路,很少抬头仰望天空,...

  • 数据化 永远 比感觉靠谱

    数据化 永远 比感觉靠谱 数据化 永远 比感觉靠谱 数据化 永远 比感觉靠谱 感觉这个东西,太不靠谱了 从今天起,...

  • 火星探险

    印象中有部电影,叫单身男女,第一部告诉大家有种男人叫火星男十分靠谱,第二部告诉大家火星男情商低再靠谱也不愿...

  • 火星上烤土豆

    地球 从地球飞往火星所花费的时间其实并不是太久,时间全做浪费在了抵达火星的前的准备上了。其中最重要的是你要准备好足...

  • 成为一个靠谱的人

    【对一个人最高的评价】 我认为是:靠谱。 靠谱是一种做人的品行,一种修为。 俗话说:“和聪明的人聊天,和靠谱的...

  • 电影:火星救援   细细的红线

    电影:火星救援 亲爱的 我制造了空气 制造了水 我开始在火星上 种植土豆 为了你 我有信心 和决心 把火星...

  • 《用大数据分析大众情绪,靠谱吗》

    用大数据分析大众情绪,靠谱吗?如何分析?哪些领域可以用大数据进行分析? 一.用大数据分析大众情绪的意义 用大数据分...

  • 真正靠谱的关系,都有点“冷淡”

    啥叫靠谱? 严格意义来说: 靠谱就是值得托付; 通俗的话来讲: 靠谱就是为人实在。 靠谱, 不是用金钱换来的, 不...

网友评论

    本文标题:大数据用Docker和火星上种土豆一样靠谱!

    本文链接:https://www.haomeiwen.com/subject/cmbjhttx.html