Menonton CEO untuk perusahaan "cloud computing" baru menggambarkan perusahaannya pada program TV keuangan hari ini, dia mengatakan sesuatu seperti "Cloud computing lebih unggul daripada komputasi client-server kuno".
Sekarang aku bingung. Dapatkah seseorang tolong jelaskan apa arti "cloud computing" berbeda dengan client-server?
Sejauh yang saya mengerti, komputasi awan lebih merupakan model layanan jaringan, sehingga saya tidak memiliki atau memelihara perangkat keras fisik. "Cloud" adalah semua hal back-end. Tapi saya mungkin masih memiliki aplikasi yang berkomunikasi dengan lingkungan "cloud" itu. Dan jika saya menjalankan situs web menyajikan formulir yang diisi pengguna, menekan tombol pada halaman, dan mengembalikan beberapa laporan yang dihasilkan oleh server web, bukankah itu sama dengan komputasi "cloud"? Dan apakah Anda tidak menganggap browser web saya sebagai "klien"?
Harap perhatikan pertanyaan saya khusus untuk konsep "cloud computing" sehubungan dengan "client-server".
Maaf jika ini pertanyaan yang tidak pantas untuk situs ini; itu yang paling dekat di alam semesta Stack dan ini adalah pertama kalinya saya di sini. Saya seorang timer lama, pemrograman sejak hari-hari mainframe di akhir 70-an.
sumber
Jawaban:
Sebenarnya, tidak ada 'Cloud'. Tidak dalam arti apa yang CEO itu semburkan. Ada internet, tentu saja. Ada layanan yang dihosting. Ada VPS. Ada sistem pengiriman konten. Kami (orang-orang teknis) telah beradaptasi dengan istilah tersebut untuk referensi model layanan tertentu yang di-host. Tetapi 'Cloud' di media konsumen sebagian besar adalah istilah pemasaran yang diterjemahkan secara bebas sebagai 'internet'. Lebih sering daripada tidak, itu juga berarti 'Saya dapat menagih Anda per bulan'.
Anda benar dalam pikiran Anda bahwa kedua istilah, 'cloud' dan 'client-server' tidak terkait. Memiliki layanan yang dihosting 'di awan' (Saya selalu ingin menambahkan dramatis 'dun-dun-daaaaaaa' setelah menggunakan kalimat itu) tidak membuat aplikasi client-server apalagi client-server-y. Misalnya, 'web' terutama menggunakan model client-server. Browser web adalah klien. Server web adalah server. Bahwa server web di-host 'di cloud' tidak mengubah fakta bahwa browser web / hubungan server web adalah client-server.
Jadi istilah client-server mendefinisikan hubungan antara dua entitas dalam suatu sistem. Di mana entitas secara fisik dihosting tidak relevan.
Pada dasarnya, Anda benar. Keduanya tidak sebanding.
sumber
"Cloud computing" adalah istilah selimut yang dimaksudkan untuk melakukan dua hal: pertama, untuk mengabstraksi semua kemungkinan penggunaan model klien-server di balik satu istilah, yang bertentangan dengan kasus penggunaan yang lebih spesifik seperti "file server", "server database", "server web", "server aplikasi" dll .; dan kedua, untuk abstrak arsitektur server itu sendiri, dalam hal perangkat keras, topologi, lokasi, dan bahkan kepemilikan.
Dalam model client-server tradisional, yang pasti masih umum digunakan saat ini, klien terhubung ke server yang melakukan pekerjaan tertentu. Server ini dapat meng-host database, atau serangkaian file sharing, atau halaman web. Ketika klien terhubung ke server itu, ada pemahaman implisit tentang jenis komunikasi dan transmisi data yang akan terjadi antara kedua komputer. Mungkin juga ada pemahaman oleh klien, atau pengguna akhir, tentang kemampuan perangkat keras server, dan batasannya. Ini relatif "kopling ketat" antara mesin klien dan servernya dapat menimbulkan masalah bagi sysadmin yang perlu mencatat server untuk pemeliharaan; semua aplikasi tergantung pada sumber daya yang disediakan oleh server ini harus diarahkan ke server lain,
Dalam model cloud, perangkat keras, topologi, pembagian kerja, dan bahkan jumlah mesin aktual yang terlibat semuanya disarikan di belakang satu titik akhir. Analogi ini dapat ditarik ke "aplikasi web" modern, sebagai lawan dari "situs web" generasi lama yang lebih statis. Kita mungkin menebak bahwa ada server aplikasi dan server DB di belakang layar, tetapi kita benar-benar tidak perlu peduli; server web, sebagai bagian dari tugasnya untuk melayani aplikasi lengkap bagi pengguna di luar "edge", menyediakan titik akhir terpadu yang memungkinkan akses terkontrol ke semua data dan layanan yang disediakan oleh mesin lain di balik pintu depan ini.
Hasilnya adalah bahwa, dengan titik akhir tunggal terpapar untuk menyediakan fungsionalitas aplikasi, itu semua yang harus diperhatikan oleh pelanggan aplikasi, bukan dari mana mendapatkan data, ke mana harus memanggil proses aplikasi jarak jauh ini dan itu , dll; itu berarti bahwa administrator dan arsitek dari penyedia layanan dalam cloud ini kurang lebih bebas untuk mengubah mesin, topologi, dan detail implementasi spesifik lainnya dari "layanan cloud" ini tanpa klien yang lebih bijak. Facebook dapat, jika dianggap bijaksana, membangun kembali seluruh sistem penyimpanan data dari awal menggunakan DBMS yang berbeda dan semua server baru, dan selama situs tersebut tetap tersedia selama masa transisi, tidak ada yang akan lebih bijaksana; pada kenyataannya, Facebook melakukan hal itu, berkali-kali,
sumber
Bagian penting dari "komputasi awan" adalah perangkat manajemen penempatan.
Dalam penyebaran "klasik" orang memesan mesin khusus untuk aplikasi tertentu dan melakukan konfigurasi yang cukup diperbaiki.
Dalam lingkungan cloud ada lebih atau kurang perangkat keras standar dalam kumpulan dan API yang membuat dan mengonfigurasi mesin virtual di dalamnya dari beberapa bentuk templat. Dengan itu sistem yang salah dapat dengan mudah diganti, ditingkatkan atau diperkecil tergantung pada kebutuhan dan perangkat keras dialokasikan sesuai kebutuhan, een dengan cara otomatis.
Tentu saja admin yang tepat melakukan sebagian besar dari itu sebelumnya, tetapi selain pemasaran murni, ada fondasi API terstandarisasi (Aamzons AWS API yang juga ditawarkan oleh alat-alat seperti Eucalyptus untuk "awan pribadi") dan alat (yaitu boneka) yang muncul.
sumber
Dalam arsitektur client-server 'tradisional' Anda memiliki sumber daya yang ditetapkan secara statis (atau setidaknya disajikan seperti itu - saya tidak memiliki pengalaman dari periode pra-cloud jadi tolong perbaiki saya jika saya salah dan bergantung pada pemasaran palsu). Server database disebut db.yourcompany.com dan server web Anda berkomunikasi dengannya. Jika Anda ingin menambah sumber daya, Anda dapat menambahkan server web khusus lainnya dan menyediakan penyeimbangan beban dll.
Di sisi lain stres awan telah dilakukan pada abstraksi dari tingkat yang lebih rendah dan menunjukkan bagaimana 'server' dibangun. Pada Misalnya Anda memiliki:
Harap dicatat bahwa sementara dalam banyak kasus tersirat bahwa layanan aktual dialihdayakan ke perusahaan besar (misalnya Amazon atau Google), hal ini tidak perlu terjadi - perusahaan besar atau universitas menyebarkan cloud internal mereka sendiri untuk memungkinkan pengelolaan sumber daya yang lebih mudah. Ini memungkinkan untuk menambahkan sumber daya ke aplikasi yang dijalankannya untuk ditambahkan sesuai kebutuhan. Jika startup internal baru berhasil, mereka tidak perlu khawatir bahwa server kelebihan beban. Namun sebagai ekonomi skala memainkan peran biasanya dilakukan hanya ketika ada persyaratan khusus (misalnya tentang keamanan).
Dari perspektif pengguna itu transparan dan memiliki tampilan arsitektur client-server. Server web mungkin hidup 'di awan' saat menggunakan HTTP tua biasa. Masalah ide dan solusi memang berjalan kembali ke mainframe 50 - an dan saat ini mereka kembali lebih sebagai kontras dengan PC klien tebal.
Setelah mengatakan bahwa itu mungkin juga menjadi kata kunci dalam kalimat yang diberikan dan menyatakan bahwa perusahaan itu dinamis dan fokus pada kompetensi inti mereka sambil memungkinkan karyawan mereka.
sumber
Tergantung perspektif Anda. Untuk bisnis, komputasi awan itu bagus karena (biasanya) memungkinkan Anda untuk lebih fleksibel dengan jumlah mesin yang mendukung layanan Anda. Fleksibilitas itu memungkinkan Anda untuk lebih responsif, yang seharusnya menghemat uang Anda. Bisnis juga dapat memanfaatkan membiarkan penyedia cloud melakukan backup, pemulihan bencana, keamanan fisik, dan semua hal infrastruktur lainnya yang tidak ingin mereka tangani. Ini biasanya mengarah pada penghematan dan peningkatan kualitas.
Dari perspektif konsumen, peningkatan kualitas koneksi dan keandalannya bagus. Beberapa penyedia cloud juga membantu mendistribusikan server mereka untuk membantu latensi konsumen.
Untuk programmer ... ini cukup banyak pemrograman client-server di mana server adalah sulit untuk mencapai dan Anda kadang-kadang perlu menggunakan beberapa API khusus.
sumber
Saya pikir itu adil untuk mengatakan bahwa "cloud computing" dan "client-server" sangat mirip. Dari sudut pandang saya, komputasi awan tampaknya lebih mengandalkan server daripada model "client-server". Secara teori, beberapa bentuk komputasi awan dapat terjadi terlepas dari koneksi klien. Manfaat aplikasi yang hanya berjalan di cloud tanpa komunikasi klien sepertinya tidak terlalu membantu, jadi masuk akal untuk membuat beberapa bentuk komunikasi klien ke server itu.
Pada dasarnya saya pikir sebagian besar bergantung pada di mana mayoritas daya komputasi Anda sedang dilakukan. Server umumnya memiliki spesifikasi yang lebih baik, dalam hal perangkat keras dan daya komputasi, daripada komputer pengguna standar untuk sekadar mengelola banyak koneksi klien dan operasi bersamaan untuk melayani koneksi tersebut. Cloud computing menggunakan ini sebagai keuntungan dengan memindahkan apa yang biasanya menjadi kode yang dijalankan klien ke server dan memungkinkan klien untuk menjadi "bodoh" mungkin. Sehingga membutuhkan lebih sedikit sumber daya pengguna, untuk menangani jenis operasi yang sama.
Mungkin bukan jawaban terbaik, tapi itulah yang saya lihat.
sumber