当前位置:云计算行业动态 → 正文

Supergiant.io —— 服务于有状态应用的容器平台

责任编辑:editor006 作者:Hrishikesh Barua |来源:企业网D1Net  2016-05-23 16:22:15 本文摘自:INFOQ

Supergiant是一个使用Kubernetes打造的容器托管平台,适用于分布式的有状态应用。Supergiant是由Qbox.io团队所开发的,该团队同时还提供了托管版本的Elasticsearch。

Supergiant是一种能够运行Docker容器、以托管有状态、集群化应用的框架。它的内部实现利用了Kubernetes的功能,但也开发了自有的结构与代码,以避免出现Kubernetes无法满足需求的场景,例如持久化保存以及外部的负载均衡。InfoQ与Qbox的CEO和联合创始人,同时也是Supergiant的创建者Mark Brandon进行了一次访谈,以深入了解Supergiant的技术细节。

QBox.io团队早期的业务是提供托管版本的Elasticsearch,当时他们经历过各种问题,其中包括由于因“吵闹的邻居”效应(本意是指某个VM由于存储而产生的大量I/O操作对同一环境中其他VM的影响)而难以实现扩展的情况。根据团队的博客文章所说,对于管理互联的容器与卷的管理,Docker与Kubernetes看起来是一种正确的选择。

部署在Supergiant平台上的应用中所涉及的存储功能都被分配在高可用的阵列中,但它并没有使用Kubernetes中的持久化数据卷。AWS目前已经提供了对Supergiant的支持,Supergiant使用了AWS中的Elastic Block Store(EBS),因此数据卷可随意在集群中移动。EBS中的数据卷的行为类似于硬盘,可接入虚拟机中或者撤消(也可进行挂载与卸载)。由于EBS数据卷的持久化可支持节点服务器的重启,因此即便某个节点变得不可用,数据也不会丢失。

Kubernetes内置了负载均衡与高可用性方面的特性。按照Brandon的说法,Supergiant特意为外部的负载均衡功能编写了代码,因为“虽然Kubernetes的内部负载均衡功能十分出色,但它的外部负载均衡策略对于Elasticsearch这样的分布式应用来说并非最佳。”

为了使你的软件作为一个Supergiant应用运行,它必须被打包为一个“组件”。这种组件既可以是一个NoSQL数据库,也可以是一个web服务器或node.js应用。根据Brandon所说:“任何一种可被Docker化的应用都可以成为一个组件”。Supergiant还提供了一套基于HTTP的API,用于组件的定义。

运行在AWS环境中的应用都需要满足一个要求,即可以忍受可用性地域(AZ)的故障,而对跨区域可用性的支持则是更高级别的能力。根据Brandon的说法,Supergiant可管理跨多个AWS地域的集群。

查看英文原文:Supergiant.io - Container Platform for Stateful Applications

关键字:SupergiantNoSQL

本文摘自:INFOQ

x Supergiant.io —— 服务于有状态应用的容器平台 扫一扫
分享本文到朋友圈
当前位置:云计算行业动态 → 正文

Supergiant.io —— 服务于有状态应用的容器平台

责任编辑:editor006 作者:Hrishikesh Barua |来源:企业网D1Net  2016-05-23 16:22:15 本文摘自:INFOQ

Supergiant是一个使用Kubernetes打造的容器托管平台,适用于分布式的有状态应用。Supergiant是由Qbox.io团队所开发的,该团队同时还提供了托管版本的Elasticsearch。

Supergiant是一种能够运行Docker容器、以托管有状态、集群化应用的框架。它的内部实现利用了Kubernetes的功能,但也开发了自有的结构与代码,以避免出现Kubernetes无法满足需求的场景,例如持久化保存以及外部的负载均衡。InfoQ与Qbox的CEO和联合创始人,同时也是Supergiant的创建者Mark Brandon进行了一次访谈,以深入了解Supergiant的技术细节。

QBox.io团队早期的业务是提供托管版本的Elasticsearch,当时他们经历过各种问题,其中包括由于因“吵闹的邻居”效应(本意是指某个VM由于存储而产生的大量I/O操作对同一环境中其他VM的影响)而难以实现扩展的情况。根据团队的博客文章所说,对于管理互联的容器与卷的管理,Docker与Kubernetes看起来是一种正确的选择。

部署在Supergiant平台上的应用中所涉及的存储功能都被分配在高可用的阵列中,但它并没有使用Kubernetes中的持久化数据卷。AWS目前已经提供了对Supergiant的支持,Supergiant使用了AWS中的Elastic Block Store(EBS),因此数据卷可随意在集群中移动。EBS中的数据卷的行为类似于硬盘,可接入虚拟机中或者撤消(也可进行挂载与卸载)。由于EBS数据卷的持久化可支持节点服务器的重启,因此即便某个节点变得不可用,数据也不会丢失。

Kubernetes内置了负载均衡与高可用性方面的特性。按照Brandon的说法,Supergiant特意为外部的负载均衡功能编写了代码,因为“虽然Kubernetes的内部负载均衡功能十分出色,但它的外部负载均衡策略对于Elasticsearch这样的分布式应用来说并非最佳。”

为了使你的软件作为一个Supergiant应用运行,它必须被打包为一个“组件”。这种组件既可以是一个NoSQL数据库,也可以是一个web服务器或node.js应用。根据Brandon所说:“任何一种可被Docker化的应用都可以成为一个组件”。Supergiant还提供了一套基于HTTP的API,用于组件的定义。

运行在AWS环境中的应用都需要满足一个要求,即可以忍受可用性地域(AZ)的故障,而对跨区域可用性的支持则是更高级别的能力。根据Brandon的说法,Supergiant可管理跨多个AWS地域的集群。

查看英文原文:Supergiant.io - Container Platform for Stateful Applications

关键字:SupergiantNoSQL

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^