Kapan sebaiknya seseorang menggunakan berikut ini: Amazon EC2, Google App Engine, Microsoft Azure dan Salesforce.com?

88

Saya menanyakan ini dalam pengertian yang sangat umum. Baik dari penyedia cloud dan perspektif konsumen cloud. Juga pertanyaannya bukan untuk jenis aplikasi tertentu (sebenarnya tujuannya adalah untuk mengetahui jenis aplikasi / domain mana yang dapat cocok dengan cloud slab -SaaS PaaS IaaS).

Pemahaman saya selama ini adalah:

IaaS: Perangkat Keras Mentah (Prosesor, Jaringan, Penyimpanan).

PaaS: OS, Perangkat Lunak Sistem, Kerangka Pengembangan, Mesin Virtual.

SaaS: Aplikasi Perangkat Lunak.

Alangkah baiknya jika Stackoverflower's dapat membagikan pemahaman dan pengalaman mereka tentang konsep komputasi awan.

EDIT: Oke, saya akan menjelaskannya dengan cara yang lebih spesifik -

Amazon EC2: Anda tidak memiliki kontrol atas lapisan perangkat keras. Tetapi Anda dapat mengambil pilihan gambar OS, Kerangka Dev (.NET, J2EE, LAMP) dan Aplikasi dan meletakkannya di perangkat keras EC2. Dapatkah Anda menerapkan aplikasi yang dibuat dengan Google App Engine atau Azure di EC2?

Google App Engine: Anda tidak memiliki kendali atas perangkat keras dan OS dan Anda mendapatkan Kerangka Kerja Dev khusus untuk membangun aplikasi Anda. Bisakah Anda mengambil aplikasi Java atau Python yang sudah ada dan mem-port-nya ke GAE? Atau sebaliknya, dapatkah aplikasi yang dibuat di GAE dikeluarkan dari GAE dan ditransfer ke Server Aplikasi seperti Websphere atau Weblogic?

Azure: Anda tidak memiliki kendali atas perangkat keras dan OS dan Anda mendapatkan Kerangka Kerja Dev khusus untuk membangun aplikasi Anda. Bisakah Anda mengambil aplikasi .NET apa pun yang ada dan mem-port-nya ke Azure? Atau sebaliknya, dapatkah aplikasi yang dibuat di Azure dikeluarkan dari Azure dan dipindahkan ke Server Aplikasi seperti Biztalk?

pengguna32262
sumber
2
Anda lupa Server Rackspace Cloud / Rackspace Cloud
phoebus
2
Ini pertanyaan yang menarik tapi mungkin lebih cocok untuk ServerFault karena ini lebih pada bagaimana mendistribusikan aplikasi server daripada hanya menulis satu. Mungkin Anda harus memposting posting kedua di SF yang mengacu pada yang satu ini dan menambahkan link dari sini ke Q di SF. Dengan begitu, Anda mendapatkan tampilan yang lebih baik dari pemrogram dan administrator sistem!
Wim ten Brink
@phoebus juga CloudSigma yang kurang dikenal tetapi sangat skalabel.
AwesomeUser

Jawaban:

58

Pertanyaan bagus! Seperti yang Anda tunjukkan, penawaran yang berbeda sesuai dengan kategori yang berbeda:

EC2 adalah Infrastruktur sebagai Layanan; Anda mendapatkan instance VM, dan melakukannya sesuai keinginan. Rackspace Cloud Server kurang lebih sama.

Azure, App Engine, dan Salesforce semuanya adalah Platform sebagai Layanan; mereka menawarkan tingkat integrasi yang berbeda, meskipun: Azure cukup banyak memungkinkan Anda menjalankan layanan latar belakang sewenang-wenang, sementara App Engine berorientasi pada tugas-tugas penangan permintaan yang berumur pendek (meskipun itu juga mendukung antrian tugas dan tugas terjadwal). Saya tidak terlalu akrab dengan penawaran Salesforce, tetapi pemahaman saya adalah bahwa ini mirip dengan App Engine dalam beberapa hal, meskipun lebih terspesialisasi untuk ceruk tertentu.

Penawaran cloud yang termasuk dalam Software as a Service adalah segalanya mulai dari bagian infrastruktur seperti Amazon's Simple Storage Service dan SimpleDB hingga aplikasi lengkap seperti FogBugz yang dihosting oleh Fog Creek dan, tentu saja, StackExchange.

Aturan umum yang baik adalah bahwa semakin tinggi tingkat penawaran, semakin sedikit pekerjaan yang harus Anda lakukan, tetapi semakin spesifik. Jika Anda menginginkan pelacak bug, menggunakan FogBugz jelas akan menjadi pekerjaan yang paling sedikit; membuat satu di atas App Engine atau Azure adalah lebih banyak pekerjaan, tetapi memberikan lebih banyak keserbagunaan, sementara membangun satu di atas VM mentah seperti EC2 bahkan lebih banyak pekerjaan (sebenarnya lebih banyak lagi), tetapi memberikan lebih banyak keserbagunaan. Saran umum saya adalah memilih platform tingkat tertinggi yang masih memenuhi persyaratan Anda, dan bangun dari sana.

Nick Johnson
sumber
hai, saat ini kami menggunakan GoDaddy dan arvixe tetapi kami berencana untuk pindah ke Amazon AWS atau Azure, saya membaca dari sini bahwa untuk AWS banyak perubahan kode diperlukan, tetapi sebagai situs ritel online kami tidak menginginkan perubahan apa pun di kode karena butuh waktu, jadi dalam situasi ini hosting terbaik apa yang bisa dipilih?
Shaiju T
13

Ini adalah pertanyaan yang sangat bagus. Pengungkapan penuh karena saya memihak Azure tetapi memiliki pengalaman dengan yang lain.

Yang menurut saya Azure menonjol dari yang lain adalah transisi cepat dari lokal ke cloud. Sebagai contoh -

  • SQL Azure - ubah string koneksi, unggah DB, lanjutkan!
  • Antrian bekerja sangat mirip dengan MSMQ.
  • Gumpalan adalah gumpalan yang cukup banyak dengan cara apa pun Anda menggoyangnya, tetapi gumpalan itu berskala seperti orang gila.
  • Komponen penyimpanan tabel bagus karena menyediakan skalabilitas luar biasa untuk pasangan nama / nilai - tetapi membutuhkan waktu untuk membiasakan diri.
  • Layanan Bus adalah layanan favorit saya karena memungkinkan berbagai paradigma komunikasi. Dua titik akhir SB pertama-tama mencoba untuk terhubung satu sama lain, jika tidak bisa, kemudian mereka merutekan melalui cloud - membuat pemrosesan yang sangat aman dan dapat diskalakan ketika firewall cenderung menghalangi.
  • Daftar kontrol akses - biasanya dipasangkan dengan bus layanan untuk memastikan orang yang tepat mengakses hal yang benar - pikirkan SAML di cloud.

Saya harap itu membantu!

Derek
sumber
8

Pengalaman cloud saya saat ini terbatas pada Salesforce.com

Untuk operasi bisnis standar dan otomasi, ini menyediakan sejumlah besar fitur yang memungkinkan kami mengaktifkan dan menjalankan aplikasi dengan sangat cepat. Kami secara khusus mendapat manfaat dari berikut ini:

  • Keamanan (Administrator dapat mengontrol akses ke objek dan bidang)
  • Alur Kerja & Persetujuan
  • Pembuatan UI otomatis
  • Pelaporan dan dasbor bawaan
  • Seluruh sistem (termasuk perubahan khusus kami) dapat diakses melalui layanan web
  • Kemampuan untuk membuat data dalam sistem tersedia melalui situs publik (mis. ECommerce)
  • Perpustakaan besar aplikasi pihak ketiga untuk memecahkan masalah standar

Platform TIDAK menyelesaikan setiap masalah.

Saya tidak akan menggunakan platform tersebut untuk membuat model pembangkit listrik tenaga nuklir atau membangun twitter berikutnya.

Craig Harris
sumber
6

Poin utama dari komputasi awan adalah menghemat biaya dengan membayar penggunaan dan memungkinkan penyebaran langsung sumber daya komputasi.

Biaya tidak hanya x jumlah sen per instans per jam. Biaya termasuk pemeliharaan, pengembangan, administrasi, dll. Manfaat besar dari cloud, menurut saya adalah membebaskan pelanggan dari keharusan mengelola apa pun yang tidak berada dalam ranah kompetensi bisnis inti mereka . Jika saya adalah bisnis asuransi, saya ingin pengembang saya berkonsentrasi pada masalah asuransi saya yang membantu menyelesaikan kebutuhan klaim, tarif, dll. Saya lebih suka menghindari menangani masalah server email, server file, repositori dokumen, dan mengatur patch OS , paket layanan, dll.

Jadi, menurut saya, manfaat terbesar berasal dari penawaran cloud SaaS dan PaaS. Seseorang harus pergi ke IaaS hanya ketika PaaS atau SaaS memiliki batasan serius untuk kebutuhan khusus (yaitu saya perlu menginstal satu set komponen COM berpemilik dan Azure tidak mendukungnya).

SaaS cocok untuk aplikasi jenis komoditas yang bukan merupakan lini bisnis inti untuk klien, tetapi lebih merupakan utilitas. Ini adalah sistem Perpesanan khas Anda, Portal, Penyimpanan Dokumen, sistem Email, CRM, ERP, Akuntansi, dll. Dll. Mengapa menemukan kembali roda dengan menulis milik Anda sendiri saat Anda dapat menyesuaikan produk pihak ketiga yang didukung dengan baik.

PaaS sangat bagus untuk lini inti perangkat lunak bisnis yang mendukung penawaran bisnis utama perusahaan. Menghilangkan klien dari keharusan berurusan dengan manajemen OS dan memungkinkan klien berkonsentrasi pada pengembangan sistem bisnis - sesuatu yang tidak dapat dilakukan orang lain untuk klien.

Igorek
sumber
3

Seseorang juga dapat memanfaatkan keuntungan dari PaaS (katakanlah, Google App Engine) dan memperpanjangnya, pada saat dan jika perlu, dengan menarik beberapa mesin virtual dari penyedia IaaS (misalnya Amazon) untuk melakukan beberapa pengolah angka lalu kirimkan kembali keluarannya ke Google App Engine.

Dengan cara ini, Anda mendapatkan yang terbaik dari kedua dunia - Anda dapat dengan cepat mengembangkan aplikasi yang dapat diskalakan di GAE, lalu Anda selalu dapat menambahnya dengan menjalankan program apa pun yang Anda inginkan dari mesin virtual Amazon.

joemar.ct
sumber
Kedengarannya menarik @ joemar.ct! Tugas macam apa itu? Di mana saya dapat menemukan tutorial tentang cara melakukannya?
Andru
2

Ini terus berubah, sekarang Windows Azure juga mendukung VM, jadi sekarang juga merupakan penyedia IaaS.

Albert Cheng
sumber