Force12.io为Apache Mesos创建“微伸缩”框架

Force12.io日前发布了一款运行在Apache Mesos集群管理器之上的微伸缩容器原型示例。他们声称,在不同负载的情况下给定模拟的需求,启动和停止「优先级1」和「优先级2」的容器要比原来的autoscaling方法更加的快速。

能够有效的自动扩展计算机资源是一件非常有挑战的事情,尤其是各家企业都具有不同的使用需求和负载类型。举例来说,Netflix曾经讨论过如何在使用传统的autoscaling方法之外另辟蹊径,Netflix创建了一名为Scryer的项目,此项目利用机器学习技术来假设、预测当前和未来的需求,并预先调整计算平台底层的可用资源。Netflix还谈到过为了更加灵活的扩展性,他们还创建一个新的平台,是基于Mesos的,项目名称为Titan,而且还创建了一个定制的Mesos框架-Fenzo

Force12.io过去一段时间一直都活跃于这个领域,最近公布了一个基于Mesos的autoscaling调度器的[]演示程序](http://force12.io/),他们声称此调度器具备‘microscaling’的能力,而术语microscaling相比于传统的autoscaling所提供的,则粒度更细的和更加及时的扩展。Force2.io的调度器运行在Apache Mesos之上,基于Mesosphere的Marathon框架,能够基于模拟(随机)的需求启动和停止优先级1(高优先级)和优先级2(低优先级)的容器。此调度器的实现方法非常的类似于John Wilkes在QCon 伦敦 2015上所公开讨论的Google内部项目Borg集群管理器。

InfoQ近日采访了Force12.io的首席架构师Ross Fairbanks,就其他们在Mesos调度器所作的工作和Microscaling的前景进行了讨论。

InfoQ:Ross,非常感谢您今天能够腾出时间接受InfoQ的采访,麻烦您简要的介绍下自己,以及您在Force12.io博客上记录的实验动力何在?

Fairbanks:我叫Ross Fairbanks,是Force12.io的首席架构师,Force12.io是一家致力于实时的容器伸缩的初创公司。我的部分背景是曾在零售电商行业呆过,有工作在大型流量站点的经验,这一点导致我对自动伸缩非常的感兴趣,但是在虚拟机(VM)下实现这点很困难,增加容量的前置时间往往要好几分钟。这就需要诸如迅速扩展而慢慢的缩小这类解决办法。

所以容器的快速启动和关闭的属性是最为吸引我们的。基于容器可以在秒级甚至是亚秒级的时间内增加和缩减容量。所以我们在AWS的EC2容器服务和Apache Mesos上构建了演示环境以展示这一概念。现在我们正在努力开源我们的解决方案,届时大家也可以将之运行在自己的基础设施环境中。

InfoQ:我们看到你使用术语microscaling而不是autoscaling。这背后有何原因?

Fairbanks:我们试图要和传统的autoscaling区别开来,传统的autoscaling添加和缩减的能力都是以分钟计算的,基于microscaling,能够让用户更加有效的利用现有资源而且伸缩容器仅需要几秒甚至是亚秒。

Microscaling能够很好的适应微服务架构,微服务架构是能够做到不同的流量模式有不同的服务。一个来自零售的例子就是,当市场的邮件发出去之后,搜索服务就会忙起来,但与此相反,而fulfilment系统只有在订单出货后才会忙起来。

我们认为这两项技术是可以在一起工作的,尤其是在公有云环境中。Microscaling可用于快速响应高峰期的需求,通过autoscaling增加的额外的虚拟机的容量来实现。Netflix早就在AWS上使用他们的Titan这么做了,而且他们还开源了他们的Mesos框架Fenzo。Force12希望能够让更多的企业组织都达到此级别的服务器利用率。Force12亦是平台无关的,我们打算支持所有主流的容器调度器。

InfoQ:相比于其它替代方案,什么是您选择构建在Mesos和Marathon之上的原因?

Fairbanks:我们视Force12为一个容器调度器,能够和其它的调度器很好的协作,主要方向是Microscaling。Marathon是一个能够支持容错的高级调度器,而且拥有良好的REST应用程序接口,能够让我们很容易的整合它。为了能够让协作调度成为现实,我们认为需要调度的标准,而且这是我们与社区之间通力合作的事情。

InfoQ:在Force12.io的博客上提到您对Mesos集群作了特别的配置、调优,这背后的动机是什么?以及这些变更能否适用于实验之外?

Fairbanks:我们的Mesos集群是运行在EC 2之上的CoreOS实现的。我们使用Fleet来启动Mesos、Marathon和ZooKeeper,我们还使用了Consul来用于服务发现。我们还发布了整个步骤的代码,它可以运行在本地的3台Vagrant虚拟机环境中。我们还和Packet.net就此展开合作,而且我们还打算迁移我们的Mesos演示环境到他们的硬件服务器中,从而测试Microscaling在高性能硬件中的极限。

对于调优,我们首先是将Marathon启动任务配置为并行启动,而不是它默认的顺序启动。我们还减少了默认的分配间隔,从1秒降低到100毫秒。其它方面最大的更改是,在我们的CoreOS集群中运行了本地的Docker注册处,我们曾发现不论是在Mesos下还是在ECS中,Docker注册处的选择和位置是一个非常关键的因素,关于此我们在博客Mesos演示环境中作了更加细致的描述。

InfoQ:现在许多云供应商均提供容器解决方案(ECS、GKE、Triton等等),你认为你的研究他们会感兴趣吗?

Fairbanks:我们认为会的,作为microscaling可以运行在任何的容器集群中,且是以“数据中心操作系统”(DCOS)的方法来实现的。我们认为企业会迁移到“DCOS”,他们将开始更加的关注衡量服务器的利用率,他们会增加这方面的投入,从而让microscaling实现成本的大幅度节省。

InfoQ:您对microscaling的未来是怎么看的?它多久可以能够实际的大规模的商用(我们知道亚马逊已经发布了AWS lambda,一个概念上非常类似的产品)?

Fairbanks:要让microscaling得到普遍的使用,我们认为首先容器能够在大量的企业中用于生产环境。我们相信这将在接下来的12到18个月就能够实现。其中一些企业会更快的选择容器在生产环境中的使用,通常是因为他们需要那些由微服务架构带来的好处,例如autonomous团队。我们希望和这些早期的采用者展开合作,能够尽快的让microscaling准备好在生产环境中使用。

InfoQ:非常感谢你今天抽空接受我们的采访,还有其他和我们InfoQ读者分享的吗?

Fairbanks: 我们很快就会发布我们的第一个开源解决方案版本,如果你在Twitter关注我们(我们的Twiteter账号是@force12io),你会及时的收到发布的消息。我们真心希望能够获得来自社区的反馈。

关于Force12.io团队正在进行的工作的更多细节,请访问其官方blog。Apache Mesos的网站为开发者提供了如何创建自己的Mesos框架的文档。在Youtube频道MesosConf 2015大会上可以找到Mesos相关主题的各种讨论(从入门介绍到高级框架构建)。MesosCon EU大会也将于10月8号-9号在都伯林举行。

查看英文原文:Force12.io create a ‘Microscaling‘ Framework for Apache Mesos

全能程序员交流QQ群290551701,群内程序员都是来自,百度、阿里、京东、小米、去哪儿、饿了吗、蓝港等高级程序员 ,拥有丰富的经验。加入我们,直线沟通技术大牛,最佳的学习环境,了解业内的一手的资讯。如果你想结实大牛,那 就加入进来,让大牛带你超神!

时间: 2024-10-06 21:23:52

Force12.io为Apache Mesos创建“微伸缩”框架的相关文章

使用Spring Boot创建微服务

过去几年以来,"微服务架构"的概念已经在软件开发领域获得了一个稳定的基础.作为"面向服务架构"(SOA)的一个继任者,微服务同样也可以被归类为"分布式系统"这一类,并且进一步发扬了SOA中的许多概念与实践.不过,它们在不同之处在于每个单一服务所应承担的责任范围.在SOA中,每个服务将负责处理广范围的功能与数据领域,而微服务的一种通用指南则认为,它所负责的部分是管理一个单独的数据领域,以及围绕着该领域的相关功能.使用分布式系统方式的目的是将整体性的

CentOS7部署Apache Mesos

CentOS7部署Apache Mesos Apache Mesos是由加州大学伯克利分校的AMPLab首先开发的一款开源群集管理软件,支持Hadoop.ElasticSearch.Spark.Storm 和Kafka等应用架构.Mesos使用了与Linux内核相似的规则来构造,仅仅是不同抽象层级的差别.Mesos从设备(物理机或虚拟机)抽取 CPU,内存,存储和其他计算资源,让容错和弹性分布式系统更容易使用.Mesos内核运行在每个机器上,在整个数据中心和云环境内向应用程序(Hadoop.Sp

【转】Singularity:基于Apache Mesos构建的服务部署和作业调度平台

Singularity是一个在云基础设施中部署和运行服务和计划作业的平台,同时也是HubSpot PaaS的核心组件.它能够高效地管理底层进程的生命周期,并有效地利用集群资源.它可以作为持续部署基础设施的基本组成部分,而且是微服务部署的理想选择.它不仅能够管理数以百计的服务器上运行着的数以千计的进程,而且还提供了如下开箱即用的特性: 丰富的REST API,既有用于部署的,也有用于获取活动部署和历史部署信息的: Web应用客户端(Singularity UI)使用上述API向用户提供所有可获得信

下一代云计算平台Apache Mesos定制自己的PaaS(应用发布+负载均衡+服务发现)

书接上文<下一代云计算平台Apache Mesos之使用marathon发布应用> 作为一个简单的PaaS(平台即服务),应该具备发布应用,调整应用个数,重启应用,暂停应用(marathon提供)以及负载均衡和服务发现的功能.本文主要演示负载均衡和服务发现. 1 发布docker程序到marathon 1.1 发布docker镜像到marathon平台 1.1.1 编写Docker.json { "container": { "type": "

深入浅出Mesos(六):亲身体会Apache Mesos

http://www.infoq.com/cn/articles/analyse-mesos-part-06 关于下一代数据中心操作系统Apache Mesos的系列文章,已经完成的内容如下: 深入浅出Mesos(一):为软件定义数据中心而生的操作系统 深入浅出Mesos(二):Mesos的体系结构和工作流 深入浅出Mesos(三):持久化存储和容错 深入浅出Mesos(四):Mesos的资源分配 深入浅出Mesos(五):成功的开源社区 与本系列的前序文章相比,本文是一个短篇,因为这背后有充分

Apple使用Apache Mesos重建Siri后端服务

苹果公司宣布,将使用开源的集群管理软件Apache Mesos,作为该公司广受欢迎的.基于iOS的智能个人助理软件Siri的后端服务.Mesosphere的博客指出,苹果已经创建了一个命名为J.A.R.V.I.S.,类似PaaS的专有调度Framework,由此,开发者可以部署可伸缩和高可用的的Siri服务. 集群管理软件Apache Mesos将CPU.内存.存储介质以及其它计算机资源从物理机或者虚拟机中抽象出来,构建支持容错和弹性的分布式系统,并提供高效的运行能力.Mesos使用与Linux

JHipster创建微服务及相关微服务架构组件介绍

参考链接: jhipster官网 jdl官方语法文档 JHipster中文文档-CSND博客 在线使用jhipster创建应用 在线使用jdl生成器创建数据表和相应服务端代码 一.创建微服务 微服务是一种JHipster应用程序,它没有前端(必须在网关)上生成Angular前端),并且可以与JHipster Registry一起配置,发现和管理. 创建微服务应用 安装: 安装Java 8 from the Oracle website. 安装Node.js from the Node.js we

代码大爆炸|用Spring Boot创建微服务的21种代码描述(上)

代码大爆炸|用Spring Boot创建微服务的21种代码描述(上)

使用Apache Axis2 创建 Web Services (bottom-up)

使用Apache Axis2 创建 Web Services 一.什么是Web Services 简单来说Web Services 就是一种资源,我们可以通过http访问它,它以xml形式返回我们想要的结果. 二.Web 应用程序和web services对比 Web 应用程序 Web Services 返回HTML 返回XML(SOAP) 通过GET或POST形式提交数据 通过XML(SOAP)提交数据 结果返回给浏览器 结果返回给应用程序 三.Web Services组件 SOAP(Simp