AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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:152347

评论

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

SeaTunnel 加入开源之夏!一起来拿奖金

Apache SeaTunnel

Apache 大数据 开源 workflow Seatunnel

等保和分保的区别是什么?哪个更厉害?

行云管家

网络安全 等保 等级保护 分保

小型企业需要CRM系统的理由

低代码小观

CRM 企业管理系统 中小企业 CRM系统 客户关系管理系统

批量作业调度引擎 TASKCTL 安装与实例部署

敏捷调度TASKCTL

程序员 DevOps 分布式 ETL 自动化运维

清晰明了!人人都能懂的Python自动发送邮件实战教程

Python全栈库

Python 编程 程序员 面试 全栈开发

JAVA OOM异常可观测最佳实践

观测云

可观测性 可观测

netty系列之:HashedWheelTimer一种定时器的高效实现

程序那些事

Java Netty 程序那些事 5月月更

【LeetCode】后继者Java题解

Albert

LeetCode 5月月更

云计算的云是指什么?最简单的解释是什么?

行云管家

云计算 云服务 私有云 混合云

柏拉图会成为元宇宙风险标吗?PlatoFarm的机会很大

西柚子

邀您填写调研问卷 | 2022中国 AIOps 现状调查全面启动!

博睿数据

AIOPS 博睿数据

《安全大讲堂》 第十四期|不破不立:软件供应链的威胁与方案

腾讯安全云鼎实验室

供应链 安全大讲堂

Hoo研究院 | 什么是流动性池?(下)流动性池的运作

区块链前沿News

defi 流动性 Hoo

开源生态在中国:播撒种子,待成雨林

科技热闻

vuejs中的普通方法/计算属性computed与监听属性watch四者的比较

itclanCoder

JavaScript Vue 前端开发

vuejs中的默认插槽-具名插槽-作用域插槽三者的比较

itclanCoder

JavaScript Vue 前端开发

vuejs中的mixin混入-局部混入/全局混入

itclanCoder

Vue 前端开发

毕设不会做,怎么办?

图灵教育

机器学习 深度学习 毕设

HTTP请求转发那些事:你可能不知道的Hop-by-hop Headers和End-to-end Headers

华为云开发者联盟

HTTP 请求转发 web 容器 F5

这些年,使用缓存踩过的坑

鲸品堂

缓存

Spark离线开发框架设计与实现

百度开发者中心

KeyDB重量发布6.3.0开源版

华为云开发者联盟

redis 开源 多线程 分布式缓存 KeyDB

时间轮算法

领创集团Advance Intelligence Group

算法 时间轮算法

攻防演练中常见的8种攻击方式及应对指南

青藤云安全

大咖说*图书分享-Node布道师狼叔|三卷书详解Node.js

大咖说

前端 后端 代码

国内首个开源物联网边缘工业协议网关软件,Neuron v2.0产品解读

EMQ映云科技

开源 物联网 IoT 5月月更 neuron

DTMO直播预告|Taier1.1新功能详解&控制台介绍

袋鼠云数栈

大数据

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