SAMI:来自三星的基于Docker和Mesos的容器解决方案(一)

本文讲的是SAMI:来自三星的基于Docker和Mesos的容器解决方案(一) 【编者的话】如今的容器技术就像当年的虚级化技术一样,改变了IT界的工作方式。今年5月底,三星推出了自己的开源平台SAMI,随着平台的发展,产生了一系列问题,容器热之下,三星选择顺应潮流,转向了Mesos和Docker。

每隔几年,就会出现一种革命性的新技术来改变IT世界的工作方式。十年之前,虚拟化技术的出现铺平了通往云服务和云计算的道路。现在,容器及其创造出的充满活力的生态系统劲头正猛。本文将向你展示三星如何基于 Mesos Docker 管理和运行物联网规模的计算基础设施的。

容器革命很大程度上要归因于DevOps的进步,更要归因于Docker的成功。容器是对流行的『 微服务 架构』的完美补充,正因如此,这也使得将软件应用设计为独立部署的服务成为可能。在三星,我们已经完全接受了这种新趋势。
1.jpg

SAMI是个非常复杂的平台,很多部分都是可替换和移动的。在撰写本文时,我们已有40多项内部服务(增加中),以及目前最流行的一些后端技术,其中包括NoSQL数据存储、消息代理、服务注册表、配置存储、图形数据库、HDFS、大数据处理器、内存缓存和传统SQL数据库。这个平台仍在不断发展,我们会不断引进新技术和应用来应对物联网所需的大数据处理过程中出现的问题和挑战。我们负责设计和管理支持其工作负载的基础设施,确保可扩展性、安全性和一致性,同时还要保持敏捷!

大约在一个月之前,我们把SAMI平台搬到Mesos和Docker上运行。可以把Mesos看做数据中心的内核,它抽象了所有的底层硬件和虚拟机,让你把数据中心当成一个超级大电脑来编程。同时,Docker作为容器化技术,简化了打包和搬运应用的方式。

这真正改变了我们对应用打包、部署、协调和监督的思考方式。这要求我们对自动化流水线进行彻底的重新设计,引进令人振奋的新技术的同时,也要淘汰许多老工具。

向容器技术推进

在容器成为家喻户晓的热门话题之前,我们曾有一个相当不错的全面自动化流水线,其核心是我们的配置管理(CM)系统。从配置到符合应用程序的部署,一切都通过我们的配置管理工具实现自动化。

但随着我们平台的增长,这些工具的缺点开始逐渐暴露出来。为了支持和衡量如SAMI般日益复杂的系统,一些新功能被迅速推出,我们意识到,我们急切需要一种新方法来部署和管理日益增多的微服务。

下面是一些需要解决的限制问题(注:这些都是CM工具中常有的陷阱,而未必是执行时常见的):
  1. 节点/机器专属角度(Node/Machine-specific perspective)
  2. 声明:Run ‘this’ on ‘that’ VM
  3. 静态分区
  4. 多租户需要手动配置
  5. 资源浪费
  6. 无资源隔离
  7. 配置和部署时间长
  8. 没有依赖/工作流管理:可以不执行“仅当部署Service-A之后且通过健康检查再部署Service-B”
  9. 无自愈功能:机器宕机,操作员需手动更换死亡节点
  10. 异构基础框架困难:几乎所有的cookbook/module/playbook都不能跨越两个发行版本
  11. 陡峭的学习曲线

要在物联网规模下运行一个现代平台,这些限制是我们不可接受的。

进入Mesos和Docker,帮忙扭转乾坤。在 《物联网级负载的容器:下》 中我们会解释SAMI中他是如何完成的。

原文链接:Containers for IoT-Scale Workloads: Part 1(翻译:马远征 审校:魏小红)

原文发布时间为:2015-07-16
本文作者:夕口夕
本文来自云栖社区合作伙伴DockerOne,了解相关信息可以关注DockerOne。
原文标题:SAMI:来自三星的基于Docker和Mesos的容器解决方案(一)
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/224917

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。