it-swarm-id.com

Menggunakan instance EC2 sebagai platform pengembangan utama

Masalah saya

Saya bekerja sebagai konsultan untuk berbagai perusahaan. Setiap perusahaan memberi saya laptop dengan perangkat lunak mereka dan saya juga memiliki laptop saya sendiri, di mana saya memiliki lingkungan pengembangan saya. Saya cenderung membeli laptop baru setiap tahun kedua dan mendapati diri saya menghabiskan banyak waktu untuk mengkonfigurasi dan menginstal perangkat lunak. Saya juga menghabiskan banyak waktu menunggu laptop saya memproses sesuatu.

Untuk mengatasi semua masalah ini, saya sekarang mempertimbangkan untuk menggunakan EC2 (menjalankan instance windows) sebagai platform pengembangan utama saya dan hanya mengakses ini dari PC mana pun saya kebetulan berada. Saya menghitung bahwa menjalankan instance Besar (termurah 64-bit) selama 8 jam sehari selama setahun biayanya $ 960 per tahun, yang dapat diterima.

Saya membayangkan bahwa ketika saya mendekati tempat kerja setiap hari, saya akan membuat satu ketukan pada telepon saya untuk menyalakan instance, jadi sudah siap ketika saya mulai bekerja. Saya harus memiliki ikon berbeda di ponsel saya untuk menjalankan berbagai jenis instance. Perangkat lunak yang sama tentu saja harus secara otomatis dimuat pada berbagai perangkat keras (kadang-kadang saya bahkan membutuhkan instance mereka dengan memori 68,4 GB).

Keuntungan lain adalah bahwa jika saya memiliki masalah spesifik dengan instance saya, saya dapat menjalankan instance lain dan meminta seseorang melihat masalah dan memperbarui gambar.

Pertanyaan saya:

Adakah yang punya pengalaman dengan pengaturan seperti itu di EC2? Masalah apa yang Anda lihat sebelumnya?

28
David

Saya tidak menggunakan EC2, tapi saya menggunakan pertanian Xen yang sangat besar. Sejujurnya, saya menyukainya karena:

  • Saya bisa mulai bekerja dari mana saja
  • Mudah untuk membuat snapshot dari seluruh sistem file (Saya menggunakan VHD)
  • Sangat mudah untuk menghasilkan ISO untuk instalasi
  • Migrasi VM di sekitar adalah sepele jika saya membutuhkannya untuk tumbuh dan kehabisan ruang
  • Program seperti distcc benar-benar mempercepat pembangunan ketika Anda memiliki 8 - 10 mesin virtual yang dapat digunakan
  • Unduhan barang sangat cepat dengan koneksi 100MB :)

Peringatannya adalah, saya kacau jika saya tidak memiliki up to date dari repo HG saya jika saya tidak bisa mendapatkan Internet untuk alasan apa pun, dan itu telah terjadi beberapa kali.

Jika Anda memiliki pengaturan yang sangat, sangat rumit .. tidak mungkin Anda bisa memproduksinya lagi secara lokal (atau mungkin Anda bisa), tetapi intinya adalah, tidak ada koneksi, tidak ada pekerjaan.

11
Tim Post

Anda menemukan apa yang telah dilakukan orang Unix/Linux selama bertahun-tahun: berkembang di server. Anda kemudian dapat menggunakan mesin apa saja dan ssh/Putty ke server Anda dan dev di sana.

Server linux murah jauh lebih murah daripada EC2. Anda dapat menggunakan rackspacecloud dengan harga $ 11/bulan (mereka memiliki gambar windows juga), tetapi Anda juga dapat menggunakan hosting mesin dasar 15.00/tahun di http://buyvm.net/ (pelanggan senang, tidak ada hubungan lainnya)

Untuk Amazon, Anda dapat melihat contoh prabayar 3 tahun. Itu bisa menghemat banyak.

6

Saya menggunakan EC2 lebih tradisional, sebagai server. Masalah yang saya ramalkan dengan apa yang Anda coba:

  • penyimpanan: Anda memiliki dua pilihan, EBS persisten dan penyimpanan sementara. EBS cukup lambat, tidak bisa membayangkan bekerja dengan IDE menggunakan disk yang lambat. Penyimpanan Ephemeral hilang segera setelah Anda menghentikan instance Anda, jadi opsi yang tidak cukup baik juga. Dan dari Tentu saja tidak mendekati secepat SSD.

  • memori: tidak cukup, terutama mengingat betapa murahnya RAM saat ini.

  • CPU: benar-benar di bawah daya, hanya 2 core virtual yang lambat. Entry level i3 akan memberi Anda kinerja yang lebih baik, belum lagi i5 atau i7.

  • konektivitas: latensi ke AWS cukup tinggi, jauh di atas untuk apa yang Anda harapkan. Mengingat saya menggunakan instance EC2 di Eropa saat menghubungkan dari Eropa, saya berharap latensi di bawah 30 ms, sementara itu lebih seperti 300-500 ms. Untuk perbandingan latensi transatlantik adalah sekitar 50 ms. Latency akan membuat lingkungan GUI interaktif tidak dapat digunakan.

Secara keseluruhan, cloud untuk server, keunggulannya adalah penskalaan (terutama penskalaan otomatis). Yang tidak akan Anda gunakan sama sekali. Namun Anda harus tahan dengan semua gangguan awan.

PDATE pada pertengahan 2015: karena saya telah menulis jawaban ini pada tahun 2012, AWS telah menambahkan penyimpanan SSD, mengurangi latensi. Sedangkan untuk CPU dan RAM, masih berlaku, EC2 benar-benar kurang bertenaga dibandingkan dengan laptop rata-rata, kecuali jika Anda bersedia menghabiskan lebih dari $ 200/bln.

6
vartec

Saya telah menggunakan instance EC2 dengan cara ini untuk melakukan pengembangan 64-bit menggunakan Visual Studio 2010 pada instance Windows yang besar. Itu bekerja dengan indah!

Meskipun saya di Afrika Selatan, latensi itu bukan masalah besar. Menyalin dan menempel, dan mengedit blok teks besar agak lamban, tetapi ketika debugging saya bahkan tidak melihat lag. Melakukan unduhan besar untuk bangkit dan berjalan - bagi saya VS 2010 dan Office 2010 - sangat cepat - beberapa GB dalam beberapa menit. Saya benar-benar bangun dan berlari dalam waktu setengah jam.

Jadi saya sarankan Anda mencobanya.

4
Govert

Masalah terbesar yang saya lihat - setidaknya dengan contoh Windows dan dengan asumsi bahwa Anda menggunakan desktop jarak jauh - adalah bahwa kelambatan jaringan mengganggu. Tergantung pada seberapa dekat Anda secara fisik dengan pusat data Amazon, itu mungkin tidak menjadi masalah. Pengalaman pribadi: Saya memiliki satu minggu di mana ISP saya memutuskan untuk merutekan paket di seluruh AS untuk sampai ke kantor saya (12 mil jauhnya); UI tidak dapat digunakan.

3
Anon

Saya menggunakan contoh mikro EC2 melalui tingkat gratis dan ini fantastis. Cepat, responsif, dan saya tidak perlu membayar sepeser pun. Itu berlangsung selama sekitar satu tahun, tetapi jika Anda membutuhkan lingkungan pengembangan sementara, EC2 adalah cara untuk melakukannya. Saya tidak punya apa-apa selain pengalaman hebat di sana. Mikro contoh bagi saya bahkan telah mendukung lalu lintas hingga 100 ribu hit sehari (sangat baik ditangani, hanya pada puncak penggunaan CPU sekitar 70%).

Lihatlah bitnami - ini adalah gambar LAMP stack (atau stack apa saja) quickstart untuk dijalankan pada dasarnya 5 menit. Juga, pastikan Anda mengkonfigurasi keamanan Anda dengan benar! Hanya izinkan koneksi SSH, HTTP/HTTPS di grup keamanan web Anda. Gunakan SFTP untuk transfer file.

1
Kevin Wang