阅读更多

0顶
0踩

互联网

原创新闻 一个非营利性的Docker案例

2016-06-20 14:48 by 副主编 mengyidan1988 评论(0) 有5221人浏览
即使是在和那些非常熟悉Docker的讨论时,我发现很多人也坚信它只适用于大规模扩展的用户场景。这是事实,Docker是在任何层面上应对服务扩展的完美工具,并且也是微服务架构的理想工具。但它的的价值并不仅仅与此。

在本文中,我将展示Docker从相反方向应用的价值。不同于服务扩展的用户案例,今天让我们来讨论下缩减的。

单体应用vs隔离干扰

我在一个叫做SIL International的非营利组织工作,在此我负责领导我们的IT应用开发团队。作为IT开发部门,我们负责数十种主要为全球内部用户使用的应用程序开发。相应的,很多我们开发的应用程序都是基于同样的技术。

由于我们只有很少的预算(就像大多数的非营利性机构一样),我们认为运行大量我们的应用程序最便宜和最简便的方案是集中部署在同一服务器上。这导致了大量单体应用程序纠缠在一起,它们运行的web应用,它们的数据库,以及其他随机服务都在同一服务器上。

以今天的标准来说,所有人都会同意这不是一个好的运维方式。

因为一个应用程序的问题会影响到其他的应用程序,我们决定增加投资以隔离各种干扰以及迁移各个应用程序到相应的一系列服务器上。与此同时,我们也考虑过这样是否会更省成本,即迁移到云上而不是运行和管理我们自己的数据中心。经过多种成本比较和参考其他非营利性组织的情况,我们决定迁移到Amazon的云上,并利用OpsWorks来帮助实施自动化。

最初时,它们进展的非常好。我们迁移了多个应用程序以及相应的技术栈到OpsWorks。我们的开发人员非常享受我们实现的自动化部署,并且我们的运维人员也非常满意不必再支持服务器的维护以及分离的应用服务。然而,最终却走向了我们所未预期的更高成本,以及更低资源使用率。

由于我们的用户群很小且分布在各个不同的时区,所以我们看到的是服务器一贯的低使用率。我们的每一个OpsWorks栈都包括一个弹性负载均衡,一个NAT服务器,一个微型EC2实例,一个微型RDS实例。

这个问题很复杂,因为我们也想要一个模拟环境(staging environment,即在软件最终发布前,开发或者设计人员对软件进行调整后可以及时预览改变的测试环境,这个环境更接近于产品最终发布后的运行环境),为每个应用程序真正分配其中的两个栈。同时我们也想要在模拟环境中分享这些资源,但是基于OpsWorks每个栈都只运行在各自的虚拟专用网络内,所以资源都是彼此分段隔离的。

基于一年服务的定价,这种配置大约需要花费每个栈800美元或者每个应用1600美元。这确实解决了我们的干扰隔离的问题,但是它太昂贵并且感觉太浪费了,因为我们的服务器几乎是24/7的空闲着。

高密度服务器

是否有一种方案能让我们的应用程序保持隔离,同时获取更高效的资源利用率?假如有的话就太好了。

Docker登场

就像其他爱好者一样,当我们在数年之前抓住了Docker的风潮时,我们就开始学习它。所有内容听起来都非常棒,但看起来并不适用于我们,因为我们并没有服务扩展的需求和问题,并且我们大多数的应用程序并不是基于微服务架构实现的。

偶然的,我们意识到Docker既然可以方便的支持扩展那么它也可以非常方便的应用于缩减。这导致我们开始向Docker迁移。

现在我们在AWS上使用它们的EC2容器服务运行了很多基于Docker的应用程序,我们应用程序的平均计算量和内存使用率大概是一个微型实例的1/6到1/4,运行状况良好。我们现在又为每个应用程序增加了备份实例,用于增强负载均衡以及服务可用性的提高,以及降低成本。

由此,我们获得我们所购买的服务器更好的利用率,并且我们可以以我们所期望的粒度隔离我们的应用程序。我们现在能够运行一系列的Docker主机服务器集群在一个单一的虚拟专用网络内,所以我们可以在需要的地方适当的共享服务及隔离干扰。

例如,我的团队的模拟集群有一个弹性负载均衡器,一个NAT实例,一个RDS实例,四个小EC2实例,用以支持19个应用程序。 所有的这些花费一年大约1,200美元。 因此,每个应用程序的成本大约是每期63美元。这比一个专用OpsWorks堆栈800美元要好得多。

在我们的生产环境中,每个应用程序得到一个专用的弹性负载均衡器和RDS实例以避免单点故障。 因此,每个应用程序的成本上升了一点,但它仍然低于使用专用的堆栈,因为它们可以共享一个NAT实例。

我们不但可以节约成本,同时得益于冗余实例提高了我们的服务可用性。

这不仅仅是关于钱,我非常理解成本是很多决策的重要考量因素,就像人们不断往Docker迁移的主要因素就是成本,当然也有一些其他无形的原因。

作为一个非盈利性组织的员工,我为组织工作,因为我相信自己的使命,而不是因为薪水不错的。 但作为一个非营利性组织,我的组织也有动力和自由去探索新的技术,想办法改善我们的服务,降低成本。也正是这种动机和自由导致很多公司正在以我从未经历过的方式去投资它们的员工,主要来自于那些在硅谷的大型高科技公司。

作为一个开发者,我爱学习和尝试新的东西,并且作为一个管理者,我想提供我的员工同样的能力。所以,我相信向Docker迁移不仅仅提供了可以像我们一样节约成本的机会,这里也同样有机会投资员工成长,通过鼓励他们学习一些像Docker一样有价值的新技术。

引用
原文链接: https://dzone.com/articles/a-nonprofit-case-for-docker

译者:王旭敏,Nokia开发工程师,关注云计算、高性能及可用架构、容器等。
责编:魏伟,CSDN docker专家群和微服务群已经建立,汇聚数百行业大咖,赶快加入我们吧,微信搜索“k15751091376”拉入。
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 小 I 选宾馆 SDUT

    小 I 去天津玩啦,一路上,他跟他的同学发生了许多有趣的事。到了晚上了,小 I 跟他的同学们要选一个宾馆住下了。但是形形色色的宾馆让小 I 不知所措。对于一个宾馆来说,有许多特征,比如「价格」、「舒适度」。小I会对每个特征都有一个满意度。小I会选择出满意度更高一些的宾馆。其中,「价格」对于小 I 来说是最重要的,其次是「舒适度」。如果有两个宾馆,如果对「价格」的满意度相同,那么根据「舒适度」进行选...

  • docker 案例_Docker的非营利案例

    docker 案例 即使在与非常熟悉Docker的人进行讨论时,我发现许多人仍然相信只有那些存在重大扩展问题的人才需要这样做。 这是真的,码头工人是梦幻般的任何一级加强服务,它可以是理想的微服务... 我在一个名为SIL ...

  • Docker的非营利案例

    即使在与非常熟悉Docker的人进行讨论时,我发现许多人仍然相信只有那些存在重大扩展问题的人才需要这样做。 这是真的,码头工人是梦幻般的任何一级加强服务,它可以是理想的微服务架构... 我在一个名为SIL Internati...

  • Docker 安全:基于内核的弱隔离系统如何保障安全性?

    “Docker 安装:入门案例带你了解容器技术原理”中,我有介绍到 Docker 是基于 Linux 内核的 Namespace 技术实现资源隔离的,所有的容器都共享主机的内核。其实这与以虚拟机为代表的云计算时代还是有很多区别的,...

  • Docker 公司宣布把 Docker Distribution 捐献给 CNCF

    2021年2月4日,负责维护 Docker 引擎的 JustinCormack 在 Docker 官方博客宣布把Docker 发行版(Docker Distribution)贡献给 C...

  • Docker容器化实战第三课 dockerfile介绍、容器安全与监控讲解

    易于版本化管理,Dockerfile 本身是一个文本文件,方便存放在代码仓库做版本管理,可以很方便地找到各个版本之间的变更历史; 过程可追溯,Dockerfile 的每一行指令代表一个镜像层,根据 Dockerfile 的内容即可很...

  • docker学习笔记

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。简言之,docker就是用go开发的一种轻量级虚拟化容器。 Docker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与...

  • 工程师如何对待开源——一个老工程师的肺腑之言

    |作者:谭中意|编辑:李佳阳|设计:苏子馨|责编:王玥敏工程师如何对待开源本文是笔者作为一个在知名科技企业内从事开源相关工作超过 20年的工程师,亲身经历或者亲眼目睹很多工程师对待开源软件的优秀实践,也看到...

  • 袜子商店应用:一个云原生参照应用

    袜子商店应用始于一个简单的演示应用,之后发现它十分有用,最终演化成一个完全容器化的、云原生参照应用。 该应用混合使用了Go、Java、Spring以及Node.js。它拥有完整的持续集成和发布管道,最终会发布到AWS上...

  • 商业公司主导下的非营利开源软件基金会之 ———— Cloud Foundry 基金会简史

    那么到今天,所发起的兼容Kubernetes项目: 代号:Eirini 的项目,开发速度迟缓 Garden 团队一直假装很努力 兼容带来了无比的复杂性,重构的难度实在太大 CloudFoundry 之道(开源项目方法论) 熟悉非营利基金会和...

  • 欢迎走进"云原生专场",总有一款活动适合你 | 人人都可以参与开源

    本次活动无差别面向广大开发者,不管你是第一次接触开源社区的萌新小白,还是驰骋各大开源社区的高手常客,龙蜥社区提供了数千个入门型、进阶型任务,并准备了上千份实物激励,邀你一起玩转龙蜥,成为开源贡献者。...

  • 每一个“流量”的诞生,都离不开天时地利人和

    在实时更新的IT业界新闻、铺天盖地的互联网公司宣传中,“云原生”(Cloud Native)成为一个频繁被提及的字眼。它的火,可以说是多重因素叠加下的结果。今天我们就先聊聊云原生这把火是如何燃起来的。 “流量”背后...

  • 关于开源的6个误解

    但是,OSS也有其局限性。 在本文中,我们将解决对开源项目的一些误解,并帮助开发人员对使用开源组件充满信心,同时承认一些相关的风险和顾虑。我们还讨论了为什么GrapeCity行业领先的商业产品可以成为开源应用程序...

  • 上手体验!如何借助龙蜥实验室快速部署 Web 应用?

    龙蜥实验室是一个预装了 Anolis OS 的在线服务器资源服务,支持一键申请、免费试用、秒级体验。龙蜥实验室可以:体验最新版的龙蜥操作系统(AnolisOS)、使用 AnolisOS 创建一个标准、纯净的虚拟机镜像来快速排查...

  • 2021爱分析・区域性银行数字化实践报告

    受经济整体放缓态势的影响,地方经济发展也随之放缓,中小微企业生产经营受到强烈冲击,导致以中小微企业为主要客户的区域性银行面临多重问题: 第一,不良贷款率上升、资产质量下降。因此,强化风控管理、提高风控...

  • Coding and Paper Letter(七十一)

    这个系列有点久没更新,最近事情比较多。后面会继续坚持资源整理。...在这个系列的第十七篇里有另一个相关的包,有兴趣的同学可以做下比较。 ggcorrplot2 2.R代码的分析,可重现研究与审查。 CodeDepends 3....

  • 【问链财经-区块链基础知识系列】 第二十课 区块链联盟链攻伐战

    编者按:联盟链是目前区块链落地实践的...FISCO BCOS 管理方是金链盟,金链盟是由深圳市金融科技协会、深圳前海微众银行、深证通、腾讯、华为、中科院等金融机构、科技企业、学术机构等组成的非营利性组织;(参考 ...

  • 以太坊入门手册(附各类工具链接)

    诞生于 2014 年的以太坊,到今天已经走过了整整 5 个年头。本文将围绕以太坊,介绍相关基础知识,提供各种查询工具、社群链接,帮助大家更加深入学习以及在以太坊上进行开发。 以下为本入门...

  • 程序员技术进阶手册(一)

    AI正在迅速改变世界,对于程序员来说,这绝对是...但是,有效的机器学习是困难的,因为机器学习本身就是一个交叉学科,没有科学的方法及一定的积累很难入门。 开头先奉上云栖社区翻译小组的年中总结!

Global site tag (gtag.js) - Google Analytics