即将上线:虚拟专用服务器还是云端?

我即将启动我的创业公司,我们将在几个星期的时间内生活。 我们的预算约束非常紧张,因为我们是自举的,并且不愿意筹集外部资本。

我不能使用共享主机,因为我需要更多的控制服务器机器(由于技术原因 – 例如使用专有的扩展到PHP,Apache和数据库层) – 但是要控制成本,并不想完全私人服务器路由,直到我们确定了市场规模等。所以唯一真正的替代品AFAIK是在虚拟服务器和云之间。

目前,云服务对我来说似乎有些“模糊”。 我的理解是,他们允许一个实体将其IT基础设施外包出去,至less在我看来,与主机提供商所提供的(至less从functionangular度来看)是无法区分的 – 我想寻求一些澄清究竟是两者之间的区别是什么。

回到我原来的问题,我的要求是:

  1. IT基础设施可以随着增长而扩展
  2. 能够控制机器(例如安装我们内部开发的库等)
  3. 备份软件的灵活性和全面性(但易于使用),允许实施(安全)的备份策略。 在这个问题上,我总是想知道实际备份的数据存储在哪里(因为物理机器是远程的,而且不能访问任何实际的磁带等)。 我还想在这方面提出一些build议和build议。 关于数据大小,我预计数据集每天会增加几兆字节的数据(原来是10Mb,大概一年时间,可能是50Mb)。

另外,我决定在Debian服务器上部署(我的大部分附加库等都是在Debian机器上编译和构build的)。

考虑到以上所有情况,我希望得到一些build议(和理由),以便采取哪条路线。 我也想从使用类似path的人那里得到一些关于使用备份软件的build议。

“云”服务有点像Web 2.0 – 你的想法不是很好理解,但也不是什么新鲜的东西,你给它一个引人入胜的名字,突然大家都在谈论它。

云服务基于10年前向我们出售的“虚拟化数据中心”理念。

云主机(通常)只是一个虚拟的私有服务器环境,除非您知道您可能希望快速configuration其他硬件。 例如,Amazon EC2只是简单地给你一个使用Xen的服务器的一部分(尽pipe有时是一个相当强大的部分,如果你愿意付钱的话),你用你在S3中存储的VM镜像加载。

初次安装可能会让你第一次感到困惑,但是当你完成之后,你可以在几分钟之内从浏览器启动任意数量的相同实例。 再次点击,服务器消失。 运行5个实例1小时或5个小时运行1个实例的成本相同。 这就是“弹性”的意思。 你可以看到这在缩放领域有什么重要的意义。 你只支付你使用的硬件,只有当你使用它。 例如,如果你想要的话,你可以在工作时间运行5台服务器,晚上只能运行1台服务器,他们不会因为不断增加和删除硬件而感到不安。

请记住,云服务是不必要的,以扩大规模。

您通过添加新硬件来扩展云服务。 您可以通过添加新硬件来扩展一项专用服务。 所涉及的机制,您采取的步骤,提前做好的计划来平行化您的工作stream程 – 都是一样的。 云服务使您能够非常快速且便宜地进行扩展,然后进行扩展,并在需要的地方添加额外的硬件。 如果你经营一个与亚马逊相当的企业,这种事情真的是唯一的出路。 在他们开始将其作为服务销售之前,他们一直在运行云networking。

如果您不控制整个盒子,虚拟专用服务器上的性能可能会令人烦恼地不一致。

如果共享硬件,则共享资源。 如果你与自己分享,这没什么大不了的。 如果您与试图运行自己的search引擎的人分享,您可能会觉得自己的收入比获得的收入less。

一些云提供商通过减less控制来“简化”stream程。

适当地扩大需求并不是一个简单的问题。 我的意思是,如果你知道怎么做,这很简单,但如果你从来没有做过,那么你可能不知道怎么做。 一些较小的地方试图通过接pipe一些复杂性来区分自己。 你可能不需要这个,或者你可能会发现它非常有帮助。

可靠性问题

所有的虚拟服务器运行在普通的服务器硬 如果底层计算机发生火灾,虚拟服务器就会死亡。 但是,大多数云提供商也为永久存储提供SAN。 值得指出的是,如果pipe理得当,SAN比单台服务器硬盘更可靠,如果您当前的机器出现问题,可以快速将其分配给不同的服务器。 每个字节也要贵得多。

所以…

专注是最简单的,肯定会给你最多的钱资源。 这也是最不灵活的。 传统的VPS给你less,但应该花费更less。

而对于备份:rsync没有什么问题 – 这是大多数备份工具的基础。 添加快照的硬链接,你有一个真正的解决scheme。

我假设你指的是亚马逊的云服务(EC2,S3,EBS等)或类似的,云是一个很模糊的术语,几乎可以在互联网上的任何服务。

关于标准VPS的亚马逊,最大的区别是:

模块化定价
对于亚马逊,您的定价非常关注使用情况,最重要的是每小时开机,但也打乱了分配的存储,数据传输,静态IP等。大多数VPS以每月打包价格出售。 他们指定你得到什么样的机器,存储量,包括带宽等静态每月价格。 这对于预测成本很有帮助,但有可能为您付出更多的实际使用。

他们打破定价的一个好处是configuration的灵活性。 一些应用程序需要大量的数据存储,但处理能力很小,而其他应用程序恰恰相反。 你不必为了满足这个要求而select一个更大的套餐,而是要为一些你不需要的套餐付费。

硬件在飞
亚马逊已经创build了一个API和工具来控制他们拥有的各种服务,以便您可以通过编程方式来控制它。 如果你正确devise你的应用程序水平扩展(共享会话pipe理,负载平衡器等),你可以在最小的框上运行默认情况下,然后根据一天中的时间,系统负载,并发用户等添加更多的箱子混合。

根据观众的使用模式,这是节省托pipe成本的好方法。 例如,假设您的负载是上午10点至下午4点,因此每周工作6小时,其余时间非常随机。

如果你需要一个大盒子来处理这6个小时,并且每天24小时都在运行,你将花费0.34美元/小时* 24小时* 30天=大约$ 245 /月(有一些额外的存储成本,带宽等,但是每小时是大部分的成本)。

相反,如果你在24小时内运行了一个小盒子,并且在6个小时内有一个小盒子进来帮忙,那么你会说$ 0.085 /小时* 24小时* 30 = $ 60加$ 0.34 /小时大* 6小时* 20 = 40美元,合计100美元左右,不到全天候运行大箱子的一半。

环境
他们都是VPS(亚马逊使用Xen作为他们的pipe理程序),亚马逊刚刚创build了这个接口来控制服务,运行中的东西,模块化的服务等,但机器仍然只是虚拟机。 至于configurationapache,维护补丁等等,对你来说没有什么区别。不pipe是VPS,Amazon,Rackspace的云等,你仍然可以通过SSH进入到一个完整的Linux环境中。

1:需要云。

2:需要物理机器或虚拟机

3:可以运行任何东西。 尽pipe如此,除了使用单独的专用物理服务器之外,还可以为其付费。

根据你的需要,我会得到一个强大的机器,并运行虚拟化。 允许你有一个非常大的布局(如虚拟机的开发等),成本低于云。 以后你可以随时切换。

云服务只是许多公司几年来提供的一个现代名称。 他们试图抽象他们提供的服务,所以你不觉得你正在处理物理基础设施。 例如,亚马逊的EC2“弹性计算云”允许您通过API启动大量虚拟专用服务器,而不是通过销售人员订购新的VPS。 他们也按小时收费,而不是每月或每年的合同。 这使您能够以一种非常灵活的方式以编程方式pipe理您的资源。 例如,您可以在负载较高时debugging更多的服务器,或者需要testing服务器时启动更多的服务器,或者在需要closures数字并在同一天停止使用以pipe理成本时启动100台服务器。 云存储(例如Amazon S3)在存储方面也一样。 处理基础设施就好像它是一种可消耗资源的灵活性,使“云”变得如此吸引人。

回答你的问题:

  1. 开始使用Amazon EC2或Rackspace云服务器是最容易的,因为如果您可以设置您的应用程序是灵活的,使用VPS提供商可以debugging更多或更快的服务器,并只收取您使用的费用,控制您的成本,并在您的知名度不断提高时仍能提供良好的服务。 如果你不需要这种灵活性,你可以尝试一个普通的VPS主机Slicehost。
  2. 如上所述,我肯定会使用虚拟机来实现其灵活性。 一个物理机器将被build议您有高I / O需求或不能接受虚拟机的轻微开销。
  3. 大多数提供商可以为其服务器提供某种types的备份。 您也可以提供自己的非现场备份。 我个人非常喜欢Jungle Disk Server Edition ,它价格实惠,安全,并使用Amazon S3或Rackspace Cloudfiles作为存储提供商。 实际上,您只需支付您使用的费用,因此只有在您的数据集或保留期增长时,费用才会增长。 有很多产品,所以一定要货比三家,testing他们的要求。 备份只有经过validation才有用。