使用EC2实例作为主要开发平台


28

我的问题

我正在为多家公司担任顾问。每个公司都会为我提供一台笔记本电脑,上面装有他们的软件,我也有自己的电脑,在那里有我的开发环境。我倾向于每隔两年购买一台新笔记本电脑,发现自己花费大量时间配置和安装软件。我还花费大量时间等待笔记本电脑处理事情。

为了解决所有这些问题,我现在正在考虑使用EC2(运行Windows实例)作为我的主要开发平台,并且可以从我碰巧使用的任何PC上进行访问。我计算出,每年运行大型实例(最便宜的64位)一天8小时,每年花费我960美元,这是可以接受的。

我想像一下,每天到工作场所时,我都会在手机上轻按一下以启动该实例,因此准备上班就可以了。我应该在手机上使用不同的图标来启动各种实例类型。当然,同一软件应该自动加载到各种硬件上(有时我什至需要它们的实例具有68.4 GB的内存)。

另一个优点是,如果我的实例遇到特定问题,则可以启动另一个实例,并让某人调查该问题并更新映像。

我的问题:

是否有人在EC2上进行过此类设置?您预见到什么样的问题?


2
如果您有足够好的家庭连接,则可以使用家庭中“服务器”计算机上的Windows远程桌面进行此操作。或者,如果需要多个实例,请在虚拟框下运行多个实例。没有月租费。
GrandmasterB

2
@GrandmasterB:没有月租费吗?您的意思是您住的地方用电不花钱吗?维护家庭服务器只需花费零时间?
约翰·巴塞洛缪

远程访问方法对您来说足够快速吗?

Azure虚拟机如何替代EC2来运行桌面环境?
feklee 2013年

您是否考虑过使用Linux VPS代替EC2?
Basile Starynkevitch 2015年

Answers:


11

我不使用EC2,但确实使用了非常大的Xen服务器场。坦率地说,我喜欢它是因为:

  • 我可以在任何地方上班
  • 制作整个文件系统的快照很简单(我正在使用VHD)
  • 生成ISO进行安装很简单
  • 如果我需要一个虚拟机来扩展并耗尽空间,则迁移虚拟机的过程很简单。
  • 当您拥有8到10个虚拟机时,诸如distcc之类的程序就能真正加快构建速度
  • 通过100MB的连接可以非常快速地下载资料:)

需要警告的是,如果由于某种原因我无法获得Internet,并且我没有从HG回购中获得最新消息,那我就很困惑。

如果您有一个非常非常精巧的安装程序,就无法在本地(或者也许可以)再次真正地制作它,但是重点是,没有任何联系,没有工作。


感谢您的出色回答。我已经用价格更新了这个问题。应该是每年960美元。
大卫

@David,更新:)
Tim Post

6

您正在发现Unix / Linux人们多年来所做的事情:在服务器上进行开发。然后,您可以将任何计算机和ssh / putty用于服务器并在那里进行开发。

廉价的linux服务器比ec2便宜得多。您可以以每月$ 11的价格使用rackspacecloud(它们也具有Windows映像),但是您还可以通过http://buyvm.net/来获得每年15.00的基本计算机托管(客户满意,没有其他关系)

对于亚马逊,您可以查看3年预付费实例。这样可以为您节省很多。


4
到目前为止,在Linux服务器上远程运行GUI IDE并不是Unix / Linux人们所做的。
vartec

2
我没有提到GUI IDE。Unix人们通常不使用GUI IDE。它的EMACS VS VIM和一些纳米和埃德扔了进去。
克里斯托弗·马汉

1
因此,首先,AFAIK没有文本模式Visual Studio,因此,没有,在Windows上远程开发与使用vi远程编辑文件并不相同。其次,我不太同意你的概括。在我15年的Linux开发经验中,我看到很少有人使用文本模式编辑器。实际上,其中大多数是SysOps,而不是开发人员。另一方面,开发人员通常会使用成熟的IDE(Komodo,Eclipse及其衍生产品,KDevelop,Quanta +,InteliJ及其衍生产品)。
vartec

嗯,有趣。也许我们的经验各不相同。在进行广义概括时,请牢记这一点。
Christopher Mahan 2012年

6

我更传统地将EC2用作服务器。我预想的与您尝试的问题有关的问题:

  • 存储:您有两种选择,持久性EBS和临时存储。EBS相当慢,无法想象使用如此慢的磁盘与IDE一起工作。一旦停止实例,临时存储就会消失,因此也不是一个很好的选择。当然,其速度还不及SSD。

  • 内存:还不够,特别是考虑到当今的RAM多么便宜。

  • CPU:真的,真的动力不足,只有2个慢速虚拟核心。入门级i3将为您提供更好的性能,更不用说i5或i7了。

  • 连接性:AWS的延迟非常高,远远超出您的预期。考虑到我在从欧洲连接时正在欧洲使用EC2实例,因此我希望延迟会大大低于30ms,同时它更像是300-500ms。为了进行比较,跨大西洋潜伏期约为50毫秒。延迟会使任何交互式GUI环境无法使用。

总体而言,对于服务器云而言,它的巨大优势在于扩展(尤其是自动扩展)。您根本不会使用它。但是,您将不得不忍受云的所有烦恼。

截至2015年中的更新:自从我在2012年编写此答案以来,AWS已经添加了SSD存储,减少了延迟。至于CPU和RAM,它仍然适用,与普通笔记本电脑相比,EC2的功率严重不足,除非您愿意每月花费超过200美元。


4

我已经使用EC2实例通过大型Windows实例使用Visual Studio 2010进行一些64位开发。效果很好!

即使我在南非,延迟也不是什么大问题。复制和粘贴以及编辑大块文本有点迟钝,但是在​​调试时我什至没有注意到延迟。对我而言,VS 2010和Office 2010进行大量下载以启动并运行,非常快-在几分钟内即可获得一些GB。我实际上是在半小时内就开始跑步了。

因此,我建议您尝试一下。


您正在复制和粘贴到IDE中做什么?格式不好!
lorddev

@lorddev在Visual Studio中的文件之间复制?您有什么建议呢?
柯克·布罗德赫斯特

开个玩笑。这些年来,我遇到了大量的复制和粘贴程序员。
lorddev

3

我看到的最大问题-至少对于Windows实例,并假设您使用的是远程桌面-网络滞后很烦人。根据您与亚马逊数据中心的物理距离,这可能不是问题。个人经历:我有一个星期,我的ISP决定将数据包路由到整个美国,到达我的办公室(12英里);用户界面无法使用。


至少在我使用移动连接时,这可能是个问题。我想我必须先进行测试,然后再决定任何事情。
大卫

1
我经常使用RDP来访问个人开发计算机。对于非图形编程,其性能是如此之好,以至于您很容易忘记自己不在机器旁。因此,它在很大程度上取决于您的连接及其配置方式(删除所有花哨的gui效果)。
GrandmasterB

1
@GrandmasterB-这在很大程度上取决于您的连接延迟。例如,即使在我的家庭LAN上,硬连线连接和无线连接之间也存在明显差异。数据包在Internet上的路由可能会导致很大的延迟:例如,美国海岸之间的6,000英里来回路程会增加3/100秒。
匿名

1

我通过免费层使用EC2微型实例,这太棒了。快速,反应灵敏,我几乎不用花一毛钱。它持续大约一年,但是如果您需要临时开发环境,则可以使用EC2。除了那里的丰富经验,我什么都没有。对于我来说,微型实例甚至支持每天高达10万次的点击量(也处理得很好,仅在CPU使用率达到约70%的峰值时)。

看看bitnami-这是一个快速启动的LAMP堆栈(或任何堆栈)映像,基本上在5分钟内即可运行。另外,请确保正确配置安全性!您的网络安全组中仅允许SSH,HTTP / HTTPS连接。使用SFTP进行文件传输。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.