为什么你不想使用云计算

我们公司正在考虑从将自己的服务器托pipe到EC2,我想知道这是不是一个好主意。

我已经看到很多关于云计算(特别是EC2)做x的东西,还是可以做y,但是我真正的问题是为什么你不想使用它?

如果你正在build立一个企业,那么你会selectpipe理你自己的服务器的麻烦是什么原因(成本之外)?

我知道有很多关于带宽,磁盘使用等的费用计算,但是当然还有维护自己服务器的其他费用。 为了这个讨论,我愿意考虑大致相同的成本。

我似乎记得Joel Spolsky曾经写过一些模糊的内容,但是我找不到它。

任何人有任何理由?

谢谢!

我可以想到为什么不使用EC2的几个原因(我在谈论EC2,而不是一般的网格):

  • 可靠性 :Amazon不保证EC2的可用性/停机时间/安全性
  • 安全性 :亚马逊并不保证将向谁透露您的数据
  • 持久性 :确保数据的持久性(包括设置系统的努力)比EC2复杂
  • pipe理 :在EC2上部署云的集成pipe理工具非常less
  • networking :允许EC2实例通信的虚拟networking具有一些相当痛苦的限制(延迟,无组播,任意的拓扑位置)

并完成这一点:

  • 成本 :从长远来看,如果您不使用EC2来吸收峰值stream量,那么投资成本将远高于投资到自己的服务器上(像Supermicro这样的廉价服务器成本只有几百美元)

另一方面,如果您的架构允许,我仍然认为EC2是吸收非敏感峰值stream量的好方法。

有些问题要问:

什么是预期的正常运行时间,以及停机时间如何影响您的业务? 你能得到什么样的服务水平协议,错过了什么惩罚,以及你对SLA的正常运行时间目标能够满足有多自信? (保持系统比你更好或更糟)。

您build议投入云端的数据有多敏感? 我们再次回答提供商承诺如何安全的问题,合同处罚和赔偿是什么,以及提供商将如何确信达成协议。 此外,可能有外部要求。 如果您在美国处理与健康相关的数据,那么您将受到非常严格的要求。 如果你处理信用卡数据,你也有责任(合同,不合法)。

退出这个安排有多容易,服务不应该是预期的,或者如果你在其他地方find更好的交易, 这不仅包括取回数据,还包括您使用的某些版本的应用程序。 考虑一下你的提供商破产的可能性(亚马逊不会很快破产,但他们可能会分裂出一个可能破产的云提供商),或者进行内部重组。 请记住,一家陷入严重困境的公司可能无法辜负您对服务的期望。

你将拥有多less独立性? 你会运行他们select的软件或软件吗? 重新configuration有多容易?

什么是定价scheme? 如果没有足够的警告,这些法案是否有可能达到不可接受的水平?

什么是灾难计划? 理想情况下,它运行在与灾难发生地点不同的服务器上的软件。

你的法律部门(或保留的公司律师)认为合同是什么? 有争议解决机制吗?如果有,对你来说公平吗?

最后,你希望从云端移动到什么程度? 你愿意付出什么? 你可以妥协什么,你需要什么?

高度敏感的数据可能会更好地控制自己。 还有立法; 一些隐私敏感的信息,例如,可能不会离开这个国家。

另外,除了Microsoft Azure与SDS相结合外,数据存储往往不是关系型的,这在某些情况下是令人讨厌的。

也许担心这个大公司会更容易被政府的代理人史密斯(Smith)来接触,从而监视每个人,一个小小的供应商。

大公司 – 更多的客户 – 更多的数据来聚合和识别模式 – 更多的资源来组织一个复杂的手表系统。

也许这更多是一个幻想,但谁知道呢?

如果你没有偏执狂,那并不意味着你没有被监视。

最大的问题是:如果亚马逊(Amazon)瘫痪,就没有办法让它恢复原状。

我不是在谈论公司消失的末日情景。 我的意思是说,你处于停工期的摆布之中,没有什么自己的办法。

  • 安全 – 你不知道你的数据正在做什么
  • 依赖 – 您的业务现在直接与供应商交织在一起

有许多不同的供应商提供不同种类的云计算。 编写我的应用程序与单个云供应商合作会让我感到紧张。 你必须为..amazon和微软编码我相信你需要专门为该平台编码 – 也许谷歌也。

也就是说,我最近抛弃了自己的专用服务器,搬到了Mosso Cloud平台(没有专有的编码),到目前为止,我真的非常满意。 减less一半的成本,performance比以前更好。 我的SQL服务器数据库现在运行在32位内存的64位企业SQL服务器版本上 – 这将使我在以前的提供程序基础结构上花费大量财富。

就云端运行不幸而言,如果我的专用服务器出现故障,情况确实如此 – 但从来没有这样做,但是如果在专用服务器上发生硬件故障,我不确定它会重新联机任何比Racks更快的速度都可以使他们的云备份。

缺乏控制。

把你的软件放在别人的云上代表一些控制权。 他们可能会build立一个file upload大小限制,或内存限制,可能会毁了你的应用程序。 他们的控制面板安全Vulcanbility可能会让你的网站被黑客入侵。

如果您的应用程序执行自己的encryption,则安全问题不相关。 亚马逊然后存储他们无法解密的encryption数据。

但除了正常运行时间问题之外,亚马逊还可以决定将价格提高到任何他们想要的水平。 如果你依赖他们,你只需要付钱。

与第三方云服务相比,取决于您对自己的基础架构的信任程度。 在我看来,大多数企业(至less不是IT相关的)应该select后者。

您在云中失去的另一件事是能够准确select您要运行的操作系统。 例如,EC2上最新的Fedora Linux内核是FC8,最新的Windows版本是Server 2003。

除了可靠性,可靠性和成本方面提出的问题外,还有数据所有权问题。 当您在其他人的服务器上查找数据时,您不再控制谁查看,访问,修改或使用该数据。 虽然云端运营商可以限制您的访问,但是您无法限制他们或限制他们提供访问权限。 是的,您可以encryption服务器上的所有数据,但您无法知道谁拥有对服务器本身的根访问权限,也无法阻止其他人下载encryption数据并将其打开。 你失去了对你的数据的控制; 取决于您运行的应用程序types以及涉及的数据的专有性质,这可能会导致企业安全性和/或责任风险。

另一个要考虑的因素是如果亚马逊和/或EC2突然在一夜之间消失,你的公司将会发生什么。 虽然看起来荒谬的立场,它可能会发生。 您是否能够迅速填补空白并恢复服务,或者当您的IT员工争相获取服务器和带宽以使其恢复在线时,您的潜在创收应用程序将会夭折? 另外,你的数据会发生什么? 持有您所有信息的云端硬盘在某个地方仍然存在,并且可能会根据您存储在其中的信息(如个人信息,商业交易logging等)提供潜在的责任风险。

如果我现在开始自己的事业,我会经历购买和维护自己的服务器的麻烦,所以我保留了数据所有权。 我可以控制对硬件的根访问,以及控制谁可以访问和修改数据。

未解答的安全问题。

真的,你想要你的IP在那里,你不是在控制它?

大多数云计算环境至less是部分厂商特定的。 没有什么好的方法可以将东西从一个云端移到另一个云端,而不必进行大量的重写。 当涉及到停机时间,价格上涨等情况时,这种locking将使您受到某个供应商的摆布。如果您租用或拥有自己的服务器,托pipe提供商和colos几乎可以互换。 你总是有select移动别的地方。

这可能会在将来发生变化,因为这些事情变得标准化,但现在将自己绑在云上意味着将自己绑定到特定的供应商。

这有点像我多年前从pipe理层那里得到的“为什么要使用Linux”的评论。 我得到的答复是,这是一个解决问题的方法。

那么你转向EC2的目标和目标是什么?

我有兴趣知道你是否还想转移到云端,如果是你自己的。

云计算使得并行编程更接近于大众,但是您仍然需要了解如何最好地使用它,否则您将浪费计算周期和带宽。

为了最有效地使用云计算服务而重新构build您的应用程序是非常重要的。

除了这里已经提到的,我们必须考虑整个业务的一致性。 你们所有的应用程序将被托pipe在云中,还是只有大部分? 当你还需要有人员来处理一些特殊的服务器时,是否足以拉动使用云的触发器?

特别是,您可能需要使用特殊硬件与此类调制解调器进行通信以接收传入的数据或进行自动电话呼叫的语音卡。 我不知道在云环境下如何处理这样的事情。