Sử dụng ví dụ EC2 làm nền tảng phát triển chính [đã đóng]


28

Vấn đề của tôi

Tôi đang làm việc như một nhà tư vấn cho các công ty khác nhau. Mỗi công ty cung cấp cho tôi một máy tính xách tay có phần mềm của họ và tôi cũng có một cái riêng, nơi tôi có môi trường phát triển của mình. Tôi có xu hướng mua một máy tính xách tay mới mỗi năm thứ hai và thấy mình dành nhiều thời gian để cấu hình và cài đặt phần mềm. Tôi cũng dành nhiều thời gian chờ đợi máy tính xách tay của tôi xử lý mọi thứ.

Để giải quyết tất cả các vấn đề này, tôi hiện đang xem xét sử dụng EC2 (chạy các phiên bản windows) làm nền tảng phát triển chính của mình và chỉ cần truy cập nó từ bất kỳ PC nào tôi có mặt. Tôi đã tính toán rằng việc chạy phiên bản Lớn (64 bit rẻ nhất) trong 8 giờ mỗi ngày trong một năm khiến tôi mất tới 960 đô la mỗi năm, điều này có thể chấp nhận được.

Tôi tưởng tượng rằng khi tôi đến nơi làm việc mỗi ngày, tôi sẽ nhấn một lần vào điện thoại của mình để khởi động ví dụ, vì vậy nó sẵn sàng khi tôi đi làm. Tôi nên có các biểu tượng khác nhau trên điện thoại để kích hoạt các loại thể hiện khác nhau. Tất nhiên cùng một phần mềm sẽ tự động được tải trên các phần cứng khác nhau (đôi khi tôi thậm chí sẽ cần phiên bản của chúng với bộ nhớ 68,4 GB).

Một lợi thế khác là nếu tôi gặp vấn đề cụ thể với cá thể của mình, tôi có thể kích hoạt một thể hiện khác và nhờ ai đó xem xét vấn đề và cập nhật hình ảnh.

Câu hỏi của tôi:

Có ai có kinh nghiệm với thiết lập như vậy trên EC2 không? Những loại vấn đề bạn thấy trước?


2
Nếu bạn có kết nối nhà đủ tốt, bạn có thể thực hiện việc này bằng Windows Remote Desktop trên máy 'máy chủ' tại nhà. Hoặc nếu bạn muốn nhiều phiên bản, hãy chạy một số trong hộp ảo. Không có phí hàng tháng.
GrandmasterB

2
@GrandmasterB: Không thu phí hàng tháng? Bạn có nghĩa là điện không tốn tiền nơi bạn sống? Và bảo trì máy chủ nhà của bạn làm bạn mất thời gian?
John Bartholomew

Phương thức truy cập từ xa có đủ "đủ" cho bạn không?

Làm thế nào về máy ảo Azure thay thế cho EC2 để chạy môi trường máy tính để bàn?
feklee

Bạn đã cân nhắc sử dụng một số VPS Linux thay vì EC2 chưa?
Basile Starynkevitch

Câu trả lời:


11

Tôi không sử dụng EC2, nhưng tôi sử dụng trang trại Xen rất lớn. Thẳng thắn mà nói, tôi yêu nó vì:

  • Tôi có thể đi làm từ bất cứ đâu
  • Thật đơn giản để tạo ảnh chụp nhanh toàn bộ hệ thống tệp (Tôi đang sử dụng VHD)
  • Thật đơn giản để sản xuất ISO để cài đặt
  • Di chuyển VM xung quanh là chuyện nhỏ nếu tôi cần một cái để phát triển và hết phòng
  • Các chương trình như distcc thực sự tăng tốc độ xây dựng khi bạn có 8 - 10 máy ảo có thể sử dụng
  • Công cụ tải xuống thực sự nhanh chóng với kết nối 100MB :)

Thông báo trước là, tôi rất khó chịu nếu tôi không có sự cập nhật từ các repos HG của mình trong trường hợp tôi không thể truy cập Internet vì bất kỳ lý do gì và điều đó đã xảy ra một vài lần.

Nếu bạn có một thiết lập thực sự, thực sự phức tạp .. không có cách nào bạn thực sự có thể sản xuất lại nó cục bộ (hoặc có lẽ bạn có thể), nhưng vấn đề là, không có kết nối, không có công việc.


Cảm ơn câu trả lời tuyệt vời. Tôi đã cập nhật câu hỏi một chút với giá cả. Đáng lẽ nó phải là $ 960 mỗi năm.
David

@David, đã cập nhật :)
Tim Post

6

Bạn đang khám phá những gì người Unix / Linux đã làm trong nhiều năm: phát triển trên các máy chủ. Sau đó, bạn có thể sử dụng bất kỳ máy và ssh / putty vào (các) máy chủ của mình và phát triển ở đó.

Máy chủ linux giá rẻ rẻ hơn nhiều so với ec2. Bạn có thể đi với rackspacecloud với giá $ 11 / tháng (họ cũng có hình ảnh cửa sổ), nhưng bạn cũng có thể đi với máy chủ lưu trữ cơ sở 15.00 / năm tại http://buyvm.net/ (khách hàng hài lòng, không có mối quan hệ nào khác)

Đối với amazon, bạn có thể xem xét các trường hợp trả trước 3 năm. Điều đó có thể giúp bạn tiết kiệm rất nhiều.


4
Chạy từ xa GUI IDE trên máy chủ Linux không phải là điều mà mọi người Unix / Linux đang làm.
vartec

2
Tôi đã không đề cập đến GUI IDE. Người Unix thường không sử dụng GUI IDE. Đó là EMACS vs VIM và một số Nano và Ed được ném vào.
Christopher Mahan

1
Vì vậy, trước tiên, AFAIK, không có chế độ văn bản Visual Studio, vì vậy không, phát triển từ xa trên Windows không giống như chỉnh sửa tệp từ xa với vi. Thứ hai, tôi không hoàn toàn đồng ý với sự khái quát của bạn. Trong 15 năm kinh nghiệm phát triển cho Linux, tôi đã thấy rất ít người chỉ sử dụng trình chỉnh sửa chế độ văn bản. Và hầu hết trong số họ thực tế là SysOps, không phải nhà phát triển. Mặt khác, các nhà phát triển chủ yếu sẽ sử dụng IDE hoàn chỉnh (Komodo, Eclipse và các công cụ phái sinh, KDevelop, Quanta +, InteliJ và các công cụ phái sinh).
vartec

Mmm, thú vị. Có lẽ kinh nghiệm của chúng tôi khác nhau. Tôi sẽ ghi nhớ điều đó khi tôi đưa ra những tuyên bố khái quát.
Christopher Mahan

6

Theo truyền thống, tôi đang sử dụng EC2. Các vấn đề tôi thấy trước với những gì bạn đang cố gắng:

  • lưu trữ: Bạn có hai lựa chọn, lưu trữ EBS và lưu trữ lâu dài. EBS khá chậm, thực sự không thể tưởng tượng được việc làm việc với một IDE sử dụng một đĩa chậm như vậy. Lưu trữ phù du sẽ biến mất ngay sau khi bạn dừng cá thể của mình, vì vậy cũng không phải là lựa chọn tốt. Và tất nhiên không nơi nào nhanh bằng SSD.

  • bộ nhớ: không đủ, đặc biệt là hiện nay RAM rẻ như thế nào.

  • CPU: thực sự, thực sự không đủ năng lượng, chỉ có 2 lõi ảo chậm. Nhập cấp i3 sẽ cung cấp cho bạn hiệu suất tốt hơn, chưa kể i5 hoặc i7.

  • kết nối: độ trễ với AWS là khá cao, cao hơn những gì bạn mong đợi. Cho rằng tôi đang sử dụng các phiên bản EC2 ở Châu Âu trong khi kết nối từ Châu Âu, tôi mong đợi độ trễ tốt dưới 30ms, trong khi đó, nó giống như 300-500ms. Để so sánh độ trễ xuyên Đại Tây Dương là khoảng 50ms. Độ trễ sẽ làm cho bất kỳ môi trường GUI tương tác không thể sử dụng.

Nhìn chung, đám mây cho máy chủ, lợi thế rất lớn của nó là mở rộng (đặc biệt là tự động mở rộng quy mô). Mà bạn sẽ không sử dụng chút nào. Tuy nhiên, bạn sẽ phải chịu đựng mọi phiền toái của đám mây.

CẬP NHẬT vào giữa năm 2015 : kể từ khi tôi viết câu trả lời này vào năm 2012, AWS đã thêm dung lượng lưu trữ SSD, giảm độ trễ. Đối với CPU và RAM, nó vẫn giữ, EC2 hoạt động kém hiệu quả so với một máy tính xách tay trung bình, trừ khi bạn sẵn sàng chi tiêu tốt hơn 200 đô la / tháng.


4

Tôi đã sử dụng một phiên bản EC2 theo cách này để thực hiện một số phát triển 64 bit bằng Visual Studio 2010 trên một phiên bản Windows lớn. Nó hoạt động rất đẹp!

Mặc dù tôi ở Nam Phi, độ trễ không phải là vấn đề lớn. Sao chép và dán, và chỉnh sửa các khối văn bản lớn hơi chậm chạp, nhưng khi gỡ lỗi tôi thậm chí không nhận thấy độ trễ. Thực hiện các tải xuống lớn để khởi động và chạy - đối với tôi VS 2010 và Office 2010 - cực kỳ nhanh - một số GB trong vài phút. Tôi thực sự đã lên và chạy trong vòng nửa giờ.

Vì vậy, tôi khuyên bạn nên thử nó.


Bạn đang làm gì để sao chép và dán vào IDE của bạn? Hình thức xấu!
lorddev

@lorddev sao chép giữa các tệp trong Visual Studio? Bạn đề nghị gì thay thế?
Kirk Broadhurst

Đó là một trò đùa. Tôi đã gặp rất nhiều lập trình viên sao chép và dán trong những năm qua.
lorddev

3

Vấn đề lớn nhất mà tôi thấy - ít nhất là với một phiên bản Windows và giả sử rằng bạn đang sử dụng máy tính để bàn từ xa - là độ trễ mạng gây khó chịu. Tùy thuộc vào mức độ thân thiết của bạn với trung tâm dữ liệu Amazon, nó có thể không phải là vấn đề. Kinh nghiệm cá nhân: Tôi đã có một tuần mà ISP của tôi đã quyết định để định tuyến các gói trên khắp nước Mỹ để đến văn phòng của tôi (12 dặm); UI không sử dụng được.


Nó có thể sẽ là một vấn đề, ít nhất là nếu tôi đang kết nối di động. Tôi đoán tôi phải kiểm tra nó trước khi tôi quyết định bất cứ điều gì.
David

1
Tôi sử dụng RDP rất nhiều để truy cập vào một máy phát triển cá nhân. Đối với lập trình phi đồ họa, hiệu suất tốt đến mức bạn có thể dễ dàng quên rằng bạn không ngồi máy. Vì vậy, nó sẽ phụ thuộc rất nhiều vào kết nối của bạn và cách cấu hình nó (loại bỏ tất cả các hiệu ứng gui ưa thích).
GrandmasterB

1
@GrandmasterB - nó phụ thuộc rất nhiều vào độ trễ của kết nối của bạn. Ví dụ, ngay cả trên mạng LAN gia đình của tôi, có một sự khác biệt đáng chú ý giữa các kết nối cứng và không dây. Và việc định tuyến các gói tin của bạn qua Internet có thể gây ra độ trễ lớn: một vòng tròn 6.000 dặm giữa các bờ biển Hoa Kỳ, ví dụ, thêm 3/100 giây.
Anon

1

Tôi đang sử dụng các phiên bản vi mô EC2 thông qua lớp miễn phí và thật tuyệt vời. Nó nhanh, nhạy và tôi hầu như không phải trả một xu nào. Nó kéo dài trong khoảng một năm, nhưng nếu bạn cần một môi trường phát triển tạm thời, EC2 là con đường để đi. Tôi không có gì ngoài những trải nghiệm tuyệt vời ở đó. Các trường hợp vi mô đối với tôi thậm chí đã hỗ trợ lưu lượng truy cập lên tới 100 nghìn lượt truy cập mỗi ngày (cũng được xử lý rất tốt, chỉ ở mức cao nhất khoảng 70% sử dụng CPU).

Hãy xem bitnami - đó là hình ảnh LAMP stack (hoặc bất kỳ ngăn xếp) nhanh chóng nào để chạy trong khoảng 5 phút. Ngoài ra, hãy chắc chắn rằng bạn cấu hình bảo mật của bạn một cách chính xác! Chỉ cho phép kết nối SSH, HTTP / HTTPS trong các nhóm bảo mật web của bạn. Sử dụng SFTP để truyền tệp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.