写点什么

Mesosphere 为 Mesos 驱动的数据中心操作系统发布 SDK

  • 2015-08-05
  • 本文字数:4141 字

    阅读完需:约 14 分钟

Mesosphere 公司为创建数据中心服务,发布了 Mesosphere 软件开发套件( Mesosphere software development kit (SDK)),该套件将运行在 Mesos 驱动的数据中心操作系统 (DCOS) 上。Mesosphere 的官方博客说,目前这套SDK 支持的语言包括Java、Go 和Python,可以通过DCOS 的web 界面或者命令行将服务打包,并在集群范围内安装和执行。

Mesosphere DCOS 是一种可伸缩的数据中心(datacenter-scale)操作系统,能够在数据中心或者云中,将服务和应用跨机器集群运行。DCOS 将 Apache Mesos 集群管理器与一些开源或者专利组件整合在一起,为开发和管理服务提供定制化的 web 界面和命令行。

Mesosphere 官方网站上说,DCOS 当前提供两个版本:社区版,包括免费云许可,当前可以运行在Amazon 的AWS 上,计划支持Microsoft 的Azure 和Google 云平台;商用企业版,可以运行在企业云或者公有云上,并享受24x7 的技术支持服务。

在Mesos 中已经一些存在的调度器或者Framework 的用法得以延续,这些应用包括,用于执行长时间运行(微)服务的 Mesosphere Marathon ,用于运行批量负载的 Chronos ,用于大规模数据处理的 Spark ,用于数据存储的 Cassandra ,以及其他一些应用。 Mesosphere 官方网站上说,相较于直接使用标准的 Mesos 集群,DCOS 的目标是简化这些 Framework 的安装和管理。发布 Mesosphere SDK 的目的是降低开发者创建特定 Framework 或者数据中心服务的门槛。

就 Mesos、DCOS 以及新的 Mesosphere SDK 等相关问题,InfoQ 采访了 Mesosphere 数据中心应用架构师 Michael Hausenblas

InfoQ: 包括 Mesosphere、Twitter 和 Apple 在内,很多公司都在基于 Mesos 构建 Framework。Spark 的 Framework 是 Mesos 的第一批 Framework 之一。你能向 InfoQ 的读者讲述一下相关的历史吗,以及为什么我们一直呼吁 Framework 的创建者要基于 Mesos 构建?

Mesos 的故事开始于 2009 年,加州大学伯克利分校的 AMPlab ,当时在读博士生 Benjamin Hindman、Andy Konwinski 和 Matei Zaharia 正在研究集群资源的配额和调度,并且构建了 Mesos。为了演示基于 Mesos 之上创建的,一个完整的新分布式系统能跑多快,他们开发了只有 1300 行代码的 Spark。Spark 是为 Mesos 编写的一个应用示例,诞生于 Benjamin 父母的滑雪小屋,耗时一个周末。

这创造了新一类数据中心开发者,他们可以在周末完成分布式系统。为了不重新发明轮子,他们使用了 Mesos 提供的群集资源共享元。这样以来,几乎不用写任何网络代码,开发周期更快,同时还可以依赖 Mesos 的容错性和可扩展性。

也许你已经知道,Benjamin Hindman 现在是 Mesos 背后的商业实体公司 Mesosphere 的首席架构师。Andy Konwinski 和 Matei Zaharia 是 Spark 背后的商业实体公司 Databricks 的联合创始人。我们将在这个生态体系中看到更多的商业形式。

InfoQ:Apache Mesos 和 DCOS 之间的区别是什么?

Hausenblas:Mesosphere DCOS 是一种新型的横跨数据中心或者云机器的操作系统,能够将全部机器资源池化,使它们的行为看起来像一台大计算机。Apache 的开源项目 Mesos,是这个操作系统的内核。这与 Linux 世界中的工作模式类似。你拿到 Linux 内核,它本身并没有多大用处,于是你拿到了一个像 Ubuntu 那样的发行版,它里面已经围绕内核增加了所有的系统服务和工具,使之成为一个完整的产品。我们已经为数据中心做了同样的事情。我们使用一系列组件包装了 Mesos 内核,比如初始化系统(marthon)、文件系统(HDFS)、应用打包和部署系统、图形化界面和命令行。所有这些组合在一起组成了 DCOS。关于 Mesos 和 Mesosphere 之间对比的讨论,可以看这篇博客

InfoQ:你觉得编写基于数据中心操作系统的数据中心服务,与开发者编写运行在本机操作系统的应用程序或者运行在手机操作系统上的 APP 有什么区别?

Hausenblas:非常类似的是:早在 PC 时代,我们有像 MacOS 和 Windows 这样的操作系统,它们将硬件和多核处理器抽象出来,为应用程序开发者提供了一种通过使用功能强大的 API 和原语,就可以快速编写桌面应用程序的方式。这使得快速开发、利用底层的硬件,以及易于(最终用户)同时运行许多应用程序成为可能。

不同的是:如今使用数据中心操作系统,我们要为不同的生产因素构建应用程序。在数据中心中,你是在面对 4 万核的机架编程,而你的笔记本电脑是 4 核。但这确实是一样的。请求内存分配、产生新的任务、抽象的硬件并为构建应用程序提供一个统一的 API,这只是规模不同而已。

要澄清的是:数据中心的开发正在成为主流,置身其中的大多数人可能不需要编写本地的数据中心服务。他们可以充分利用工具,比如使用 Marathon 构建应用程序和数据中心的工作负载。如果你真的需要开发数据中心的服务,我们的常见问题涵盖了如何去做。除此之外,从应用的角度来看,它真的是很简单:在最简单的情况下,如果要运行现有的应用程序,比如使用 JAR 文件或 Python 脚本的 Java 应用程序,你可以不用做任何修改。在更复杂的情况下,比如你要构建一个面向微服务的应用程序,是基于 Docker 镜像的,你可以使用 Mesos-DNS 做服务发现,使用 Marathon 组件启动和编排你的容器。

InfoQ:给我们讲讲 SDK 自身的事情吧,它都定义了哪些东西呢?

Hausenblas:Mesosphere 的 SDK(软件开发套件)是为 DCOS 开发者提供的,使他们能够更轻松地使用不同的语言(Java、Go、Python)创建一个新的数据中心服务,打包部署这些应用,且使用命令行工具中的一条命令即可完成安装。Mesosphere 的 SDK 开放了 Mesos API,同时还提供了 DCOS 的扩展包、构建服务(调度器的开发,执行器等)库、Alpha、Beta 和 Production 阶段的认证清单和开发者手册。此外还有一个非常强大的社区成长计划,这是应用程序开发走向成功的重要组成部分。

InfoQ:开放这些服务作为操作系统的抽象,其根本原因是什么。对于 Framework 的创建者,或者构建在服务之上的应用程序的最终消费者来说,卖点是什么?

Hausenblas:对于构建和运行分布式应用程序来说,按机器级别的抽象是错误的,因为它迫使你去推断机器的具体细节信息,比如 IP 地址和本地存储。通过将所有的机器,包括虚拟的或物理的,组成一个资源池,DCOS 为任务、服务发现和传递任务协调消息的自动配置,提供了内置的原语。因为你无需亲自写(测试和调试)这样的代码,因此效率得到很大的提升,你可以更快速地提供更好的用户体验。通过构建数据中心操作系统的抽象,你可以将新的可伸缩数据中心的产品,快速推向市场。这就是操作系统的催化剂作用。想象一下,如果没有 iOS 和 Android,要构建和交付 Uber,得花上好几年的时间。

但是,之所以使用数据中心操作系统的抽象也有经济因素。操作系统提供了可以在其上分发跨基础设施运行的应用程序的平台。这使开发者得以进入一个宽广、无摩擦的市场,在这里他们可以分发这些应用程序。我们已经让开发者很容易地分发他们的作品,例如,在 DCOS 中构建一个非常复杂的打包系统,可以让我们打包一个复杂的分布式系统(如 Cassandra、Kafka、Spark、Kubernetes 等),运维人员或者开发人员可以用一个命令,在几分钟内完成安装、配置和运行这个系统。这是前所未有的。我们的 CEO Florian 聊过,他在 Airbnb 公司的时候,曾经用了三个星期的时间来搭建 Cassandra。我用一个命令安装 Cassandra 只需要不到 2 分钟。

InfoQ:所有这些数据中心服务会被存在什么地方,InfoQ 的读者将如何获取这些服务呢?

Hausenblas: 数据中心的所有这些服务将会存储于一个不断发展和壮大的仓库中。DCOS 仓库是一种打包和交付大型分布式系统的方式。它的工作原理是将较低级别的容器仓库关联在一起,就像 DockerHub(存储我们容器镜像的地方)那样,但是 DCOS 仓库包含了所有的元数据,允许分布式系统复杂的安装和配置,比如 Hadoop 或者 Kafka。

由于新的数据中心服务的开发,开发者将它们添加到 DCOS 仓库(这里无需支付费用),然后他们通过一个命令安装成为客户和潜在客户。开发者很高兴能无摩擦地进入 DCOS 用户不断增长的生态系统,从世界 500 强企业到新兴的创业公司。DCOS 提供了部署和管理数据中心应用程序的标准化平台,无论是在云端还是在企业内部,历史性突破了企业采用最新技术的一个很大的障碍。

当你为 DCOS 构建之时,就是在为 Mesos 社区构建。因为 Mesosphere DCOS 是建立在 Mesos 之上的,你的应用程序将具备 Mesos 开源社区成员的所有好处,包括 DCOS 整套的部署、伸缩和管理功能。对于开发者来说,DCOS SDK 提供了社区和可重用的代码。对于客户来说,它提供了方便的应用程序发现,而且安装方便。

InfoQ:InfoQ 的读者将如何 SDK 呢?

Hausenblas:作为开发者计划的成员,你将获得全套的 DCOS SDK 开发工具和库,还将参与 DCOS 开发者社区的成长。通过加入开发者计划,你将有资格成为 VIP 合作伙伴。作为 VIP 合作伙伴,除了开发者计划,您将得到高优先级的获取 Mesosphere 开发、早期 DCOS 服务构建,并具备贡献完整认证的 DCOS 服务的能力。开发者计划是免费的,向所有人开放。VIP 合作伙伴计划只接受邀请,并且提供给经过挑选的合作伙伴。

InfoQ:你现在可否提供一些用 SDK 编写的服务示例呢(以及他们是如何定制使用 Mesosphere DCOS 提供的通用服务的呢)?

Hausenblas:我们有很多重要的 VIP 合作伙伴为 DCOS 构建了数据中心服务,他们的服务处于 alpha、beta 或者 production 等不同阶段。他们的服务包括 Kafka、Kubernetes、HDFS、Hadoop、YARN、MemSQL、Cassandra、ArangoDB、Crate.io、Spark,以及 Quobyte 等等。这些都是 DCOS 的最高需求的核心服务,我们预计在今年年底前能有超过 100 个这样的服务。关于 DCOS 服务的不断更新列表,详见 https://docs.mesosphere.com/reference/servicestatus

InfoQ: 非常感谢你今天的宝贵时间,Michael。还有什么想与 InfoQ 的读者分享的吗?

谢谢。我想我们已经覆盖了全部内容 - 我们非常期待 InfoQ 读者关于 SDK 的反馈,同时期待大家对新数据中心服务的贡献!

关于 Mesosphere DCOS SDK 的更多信息请访问 Mesosphere 的博客,在 Mesosphere 的官方网站上可以找到 Mesosphere developer program ,由此可以注册并获取 SDK。

查看英文原文: Mesosphere Releases SDK for Mesos-Powered ‘Datacenter Operating System’

2015-08-05 07:152569

评论

发布
暂无评论
发现更多内容

企业上云选择哪家好?需要考虑哪些因素?

行云管家

公有云 企业上云 云厂商

服务器故障用什么软件解决好?大家有推荐的吗?

行云管家

高可用 服务器 ha

uniapp 提示 打包时未添加 push模块

源字节1号

软件开发 前端开发 后端开发 小程序开发

嘉为蓝鲸可观测性产品获Gartner Toolkit 推荐

嘉为蓝鲸

运维 监控 Gartner 可观测

JavaScript刷LeetCode拿offer-链表篇

Geek_07a724

JavaScript LeetCode

前端工程师leetcode算法面试必备-简单的二叉树

js2030code

JavaScript LeetCode

滴滴Java后台3面题目:网络+内存溢出+各种锁+高性能+消息队列

小小怪下士

Java spring 面试 JVM

开源代码安全 | 微软是如何应对开源代码安全问题的?

龙智—DevSecOps解决方案

开源 开源代码

DevOps下测试的生存之道

嘉为蓝鲸

DevOps 测试

排障最后一公里,“融合”型的日志平台应该如何建设?

嘉为蓝鲸

运维 监控 日志 可观测性 告警

云原生时代的应用端到端可观测体系如何构建?

嘉为蓝鲸

运维 监控 可观测性 告警

【FAQ】关于华为地图服务定位存在偏差的原因及解决办法

HarmonyOS SDK

地图

Sanitizers 系列之 address sanitizer 原理篇

网易云信

数据库 算法 系统

浅谈Python中的生成器

何极光

Python 生成器 10月月更

JavaScript刷LeetCode拿offer-经典高频40题

Geek_07a724

JavaScript LeetCode

“程”风破浪的开发者|一起来看看北大才女刘媛媛珍藏已久的学习方法吧!一定要点进来

跟着飞哥学编程

学习方法 “程”风破浪的开发者

信用卡监管精细化,强化用户风险防范意识并驱动银行规范管理

易观分析

银行 信用卡

WhaleDI自助建模实践与探索

鲸品堂

AI Codec 建模

前端工程师leetcode算法面试必备-二叉树深度广度遍历

js2030code

JavaScript LeetCode

前端工程师leetcode算法面试必备-二叉树的构造和遍历

js2030code

JavaScript LeetCode

如何让 SAP Spartacus 访问 navigation node 的上下文,暴露更多的字段

阿英

typescript angular SAP Spartacus 10月月更

千锋武汉分校前端学员走访英志软件,并开展现场面试

千锋IT教育

ITSM | 对话龙智资深技术顾问,探讨ITSM实践如何从过去转向未来

龙智—DevSecOps解决方案

ITSM ITSM解决方案

一文浅析人工智能领域相关概念之间的关系

九章云极DataCanvas

人工智能 神经网络 机器学习

TOGAF认证考试开启“主线+支线+副本”模式!

涛哥 数字产品和业务架构

使用Docker部署软件运行环境

源字节1号

软件开发 前端开发 后端开发 小程序开发

华为开发者大会 2022即将举办 HarmonyOS开发者用“代码”创造无限可能

极客天地

MobLink for Flutter

MobTech袤博科技

flutter ios android

半导体初创公司如何加速成功?

龙智—DevSecOps解决方案

IP IP管理

澜舟科技推出【熊猫小说家】小程序,用 AI 书写你的故事

澜舟孟子开源社区

人工智能 nlp AIGC

2022年最新数据库经典面试题及答案汇总(含PostgreSQL、Oracle、MySQL)

墨天轮

MySQL 数据库 oracle postgresql 面试题

Mesosphere为Mesos驱动的数据中心操作系统发布SDK_DevOps & 平台工程_Daniel Bryant_InfoQ精选文章