CloudBees服务水平协议和功能服务

时间:2013-05-14 12:45:50

标签: java saas high-availability cloudbees paas

我一直在仔细比较Java PaaS,而且真的开始喜欢CloudBees。我只对他们有一个很大的担忧,那就是他们的SLA /正常运行时间。

在浏览完所有文档后,我只能找到one paper they offer on SLAs,其中说明了:

  

如果您在不使用高可用性选项的情况下使用CloudBees PaaS,那么CloudBees只能提供接近基本正常运行时间SLA的正常运行时间。   基础架构云提供商。

正如同一篇论文所提到的,亚马逊似乎提供了99.95%的正常运行时间,而且我知道CloudBees主要在AWS / EC2实例上运行。

因此,这会产生一系列密切相关的SLA问题:

  1. 如果我没有利用“高可用性”选项,那么我可以假设CloudBees甚至不保证99.95%吗?或者其他地方的文档是否说明了他们的正常运行时间,以及未能满足正常运行时间的补救措施?
  2. 他们在这里谈论什么高可用性选项?我刚刚阅读了他们的整个开发人员文档,从未见过有关HA的任何内容。
  3. 如果合作伙伴服务(如用于邮件的SendGrid或用于缓存的MemCachier)出现故障,我的补救措施是什么?关于GAE我喜欢的一件事就是CapabilitiesService,在你使用他们的电子邮件API或缓存API之前,你首先要与主人CapabilitiesService核实,以确保这些服务正在运行。我想对CloudBees做同样的事情,但似乎我需要自己构建它。这很好,但不确定CloudBees是否提供了一种机制(API调用等)来确定特定服务合作伙伴是在线还是离线。
  4. 提前致谢!

1 个答案:

答案 0 :(得分:2)

  1. 如果一个月内未达到特定的正常运行时间,则CloudBees不提供可用性的SLA,也不提供信用形式的补救措施。对于AWS上的其他产品(例如,Heroku),这是AFAIK常见的。 CloudBees通过支持协议提供基于标准响应时间的SLA。正如您参考的白皮书中所讨论的,我们还采用了自己使用AWS和外部提供商的做法,这些做法帮助我们将用户与某些特定的亚马逊问题隔离开来。

  2. 您可以使用的可用性功能包括:

    • 使用多个实例(并可能自动缩放)。应用程序实例由CloudBees跨不同的EC2实例传播,因此您可以避免在EC2实例发生故障时停机。
    • 使用session store。您可以使用我们的产品或Memcachier等合作伙伴产品,在您的应用实例的单独层中共享会话状态。
    • 使用CloudBees在多个AWS可用区中设置的dedicated servers
    • 确保与您的应用程序一起使用的数据库设置为高可用性配置。例如,RDS易于与CloudBees一起使用,并支持多个AZ中的备用数据库和只读副本。
    • 使用来自New Relic和AppDynamics等合作伙伴的应用监控解决方案,提醒您任何问题。

    关于使用“高可用性选项”的评论的主要观点是警告人们,简单地在CloudBees上部署应用程序并不能使其高度可用。如果EC2实例在单实例部署下失败,则您的用户将在我们的内部机器重新部署到工作实例时遇到停机,而多实例部署可能只会在部署新实例之前遇到较慢的响应。与在AZ之间没有备用数据库或副本数据的单实例数据库类似。虽然这只是说明了很多人的眩目显而易见的事情,但你可能会惊讶于有多少人只是假设正在发生一些魔法。

  3. CapabilitiesService的好点!我们在这个领域有一些想法,但你现在必须自己做这样的事情。