写点什么

Flex:Engine Yard 的全新云服务

  • 2009-05-31
  • 本文字数:1794 字

    阅读完需:约 6 分钟

Engine Yard 的新生服务 Flex 所提供的服务“面向那些需要可靠性、可伸缩性和 7x24 的专业支持的高级 web 应用”。Flex 是为客户提供的云服务,和单个计算实例的 Solo 类似,但是支持集群,并且不需要完全部署在 Engine Yard 的 Slice 之上。 Flex 的新闻稿中写到:

Engine Yard Flex 引入了一些独一无二的特性,例如环境克隆和一键部署,还有一些专为敏捷设计的不可或缺的特性,如通过版本控制系统自动部署以及应用服务器自动恢复等等。 “因为 Ruby on Rails 超乎寻常的开发生产力,大量的开发人员和组织已经使用了它,并有越来越多的人考虑将云服务作为默认的部署平台。”Engine Yard 的首席技术官 Tom Mornini 如是说。“Engine Yard 的 Flex 将会是 Ruby on Rails 应用的自然的云服务选择,因为其需要可靠性和可伸缩性。”

我们采访了 Engine Yard 负责市场的副总裁 Michael Mullany,来了解更多关于 Flex 的信息。

Solo 和 Flex 的主要区别是单个实例与多个实例的区别,除此之外,这两者之间还有什么不同呢?

Solo 背后的哲学是提供平价的服务,让你可以快速建立一个可用的站点。Flex 的设计与我们所提供的 slice 很相似,你可以运行多个冗余的 web 服务器,或者一个容灾数据库等等。例如,Flex 有可选的付费技术支持,而 Solo 只有社区的支持。因此,如果你正运行一个 Flex 集群,你可以致电 Engine Yard 的 7x24 全球支持的人员。Flex 还有自我修复的能力,这意味着,如果一个服务器宕机,则会有一个新的启动起来,来接替宕掉的服务器的职责。

能谈一谈环境克隆、自动化和一键部署吗?

环境克隆可以让你将包括数据在内的整个生产环境复制一份用于测试等情况。在我们的系统之中,环境是一个封装的集合,内含 gem 和 unix 依赖、备份策略、待运行的应用以及其他用于实例化一个服务器或者一组服务器的信息。 一旦你拥有了一个正在运行的环境,单个实例也好,集群也罢,你就能点击“克隆”按钮,来创建一个整个环境完全独立的拷贝,包括所有数据阻塞级拷贝。我们会为旧服务器做一个快照,启动对应的拷贝,并载入快照以及根据所克隆的环境来配置服务器。我们甚至考虑到了正在处理的数据库事务,因此在克隆出的环境里,数据库依然是满足一致性的。

这些会给测试部署大量复杂代码修改或者大型迁移的时候,带来难以想像的便捷性。现在几乎没有一个演示环境可以和生产环境相对应,因为种种原因,它们总是有些区别。现在通过这套系统,你就能获得连一个字节都不差的演示环境来测试新部署。即便是是克隆了五个大型生产节点,并且用了一个小时来测试新部署,可能也只是花上个几美元而已。

应用服务器是如何实现自动恢复的?它是独立于运行中的应用的吗?

这项功能和运行中的应用是独立的。我们已经编写了自定义的监控守护进程,来监控所有运行中的应用服务器节点。每个应用服务器在 80 端口运行了 haproxy,而在 81 端口运行了 nginx 或者 apache。这些 haproxy 可以将请求均横至其他的应用服务器节点上,这样任何节点都能够成为主节点。这些节点当中,有一个会拥有主 IP,我们称之为“Application Master(主应用)”。其他的应用服务器都是“Application Slaves(从应用)”。从应用会监控主应用的健康情况,一旦主应用挂掉,从应用会通过法定人数投票来选出其中一个来,去获取一个锁。获得了锁的应用会 接管 IP 地址,成为新的主应用,并将旧的主应用杀死,在旧应用的节点上启动一个新的从应用。一旦新的应用开始正式提供服务,所有应用服务器上的 haproxy 就会自动重新配置,用于修复集群。这对于用户来说是全透明的,不需要任何额外的代码需要编写。而这确保了 Flex 集群的高可用性。

Flex 和其他的技术有什么联系,比如说 Vertebra?

Flex 是 Engine Yard 提供的服务。就和 Solo 一样,你可以在我们的站点上注册,并开始部署 rails 应用。自从公司成立后,我们赞助或贡献过很多开源项目,Vertebra 是其中之一。我们赞助或贡献的更大的项目包括 Rubinius,另一个 Ruby 运行时,MRI 解释器的替代品,还有 Merb,另一个 Ruby 框架,已经合并到 Rails 3 中。将 Passenger 应用服务器移植到 nginx 这个项目也是我们赞助的。现在,我们在 Engine Yard 内部使用 Vertebra,来用于自动化。但是我们还没有计划提供一个商业开源的版本。

Engine Yard Flex 将在六月份在 Amazon EC2 上发布,完整的特性集合和价格届时才会公布。

查看英文原文: Flex: Engine Yard’s New Cloud Offering

2009-05-31 12:551584
用户头像

发布了 80 篇内容, 共 20.1 次阅读, 收获喜欢 5 次。

关注

评论

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

雪花算法的原理及实现

架构精进之路

算法 6月日更

一文带你深入了解 Java 字节码

mghio

技术 后端 Java 25 周年 基础

未来,能源枯竭可以逆转吗?

白洞计划

未来,能源枯竭可以逆转吗?

脑极体

【译】JavaScript 中几种循环遍历方式对比

KooFE

6月日更

Python——数值列表

在即

6月日更

提升代码格调——JavaScript 数组的 reduce() 方法入门

编程三昧

JavaScript 大前端 数组 js ES6

分享8个可以提高开发效率的JavaScript库

devpoint

node.js axios 6月日更

立flag(第………………次)

凯迪

随笔杂谈

redis分布式锁原理

Skysper

redis 分布式锁

HTTP 长连接和短连接

看山

TCP/IP HTTP协议 6月日更

TempDB 的使用和性能问题

悟空聊架构

sql 性能调优 6月日更 TempDB

职场礼仪之坐车礼仪

石云升

6月日更 职场礼仪

【LeetCode】重复的DNA序列Java题解

Albert

算法 LeetCode 6月日更

【Vue2.x 源码学习】第十二篇 - 生成 ast 语法树-流程说明

Brave

源码 vue2 6月日更

【通俗易懂】虚拟DOM,如何更高效DIFF

蛋先生DX

Diff 6月日更

【Flutter 专题】105 图解自定义 ACEPageMenu 滑动菜单 (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

Scrum Patterns : MetaScrum(译)

Bruce Talk

敏捷开发 译文 Agile Scrum Patterns

内卷的出路是躺平?

Qien Z.

创新 内卷 6月日更 躺平

「SQL数据分析系列」1. SQL背景知识介绍

Databri_AI

数据库 sql

【21-5】Grafana 时间Panel 如何使用

耳东@Erdong

Grafana 6月日更 panel clock

贪心算法最优装载问题(Java代码实现)

若尘

数据结构 贪心算法 6月日更

网络攻防学习笔记 Day43

穿过生命散发芬芳

网络攻防 6月日更

架构实战营-作业六

大可

话题讨论|如何看待腾讯试点强制6点下班

石云升

话题讨论 加班文化 6月日更

《原则》(十二)

Changing Lin

6月日更

模块六作业 - 拆分电商系统为微服务

张大彪

Windows 10 如何设置网络属性为私有

HoneyMoose

MySQL基础之十:union与limit

打工人!

myslq 6月日更

并发王者课-黄金2:行稳致远-如何让你的线程免于死锁

MetaThoughts

Java 多线程 并发

SpringCloud Gateway 路由数量对性能的影响研究

黄仲辉

性能优化 动态路由 SpringCloud Gateway JMH性能基准测试

Flex:Engine Yard的全新云服务_Ruby_Mirko Stocker_InfoQ精选文章