it-swarm-vi.com

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

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 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 để 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 cá thể 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?

28
David

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 mà nó 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ó thông tin 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.

11
Tim Post

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 nào và ssh/PuTTY vào (các) máy chủ của bạn 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 mối quan hệ 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.

6
Christopher Mahan

Theo truyền thống, tôi đang sử dụng EC2 với tư cách là máy chủ. 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 bằng cách sử dụng một đĩa chậm như vậy. Tất nhiên không nơi nào nhanh như SSD.

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

  • CPU: thực sự, thực sự thiếu 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ễ cho 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ễ 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 bộ nhớ 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.

6
vartec

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ử.

4
Govert

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.

3
Anon

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, phản ứng nhanh 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.

1
Kevin Wang