Saya adalah pengembang .NET. Saya melihat kerangka ASP.NET MVC sekarang mulai menyediakan fitur self-hosting. Itu sangat masuk akal (bagi saya). Aplikasi yang di-host-sendiri terasa lengkap tanpa ketergantungan eksternal.
Pertanyaan yang ada dalam benak saya adalah mengapa sekarang ada orang yang TIDAK ingin menjadi tuan rumah sendiri? Maksud saya, apakah ada keuntungan yang akan diberikan IIS kepada saya dibandingkan dengan hosting sendiri. Saya yakin ada beberapa keuntungan karena jika tidak, Microsoft tidak akan repot menciptakan integrasi IIS dengan inti asp.net.
Saya tidak ingin pertanyaan saya khusus untuk .NET. Jadi, saya akan pergi dengan - mengapa pergi dengan mengapa menggunakan IIS atau apache tomcat daripada hosting sendiri?
web-development
iis
tomcat
web-hosting
bilal fazlani
sumber
sumber
Expires
danETag
header. Dan kemudian hal-hal yang lebih rumit, seperti memisahkan lalu lintas denganhost
, menjaga aplikasi dari memori masing-masing, SSL, dan mengelola ribuan permintaan bersamaan ...Jawaban:
IIS menyediakan sejumlah kemampuan umum yang tidak tersedia secara default di layanan web yang di-host-sendiri. Pengawas: memonitor kesehatan aplikasi web dan akan mematikan / respawn aplikasi jika mulai terlihat tidak sehat (menggunakan terlalu banyak memori, CPU, dll - dapat dikonfigurasi). Batas sumber daya seperti penggunaan CPU, batas koneksi, dll. Jalankan sebagai pengguna tertentu untuk keamanan dengan hak istimewa yang paling rendah. Kelola sertifikat / SSL. Host / kelola banyak aplikasi melalui satu port / antarmuka. Membalikkan proxy ke aplikasi konsol. Banyak hal lain yang tidak saya sebutkan seperti permintaan logging.
Saya tidak terbiasa dengan Tomcat, tetapi saya menganggap itu adalah cerita yang sama. Anda mendapatkan fitur hosting tambahan yang hosting sendiri tidak berikan secara default dan mungkin cukup sulit untuk diterapkan sendiri.
Seringkali produk yang mengekspos layanan web yang di-hosting-sendiri masih akan merekomendasikan menempatkan mereka di belakang proxy terbalik atau penyelia lain dalam produksi. Ini mungkin untuk memastikan itu akan selamat dari crash atau anggun selama gangguan jaringan. Saya sedang memikirkan NGINX untuk layanan Docker, misalnya. Di ruang .NET, saya percaya Kestrel terbalik diproksikan melalui IIS sebagai praktik standar (atau mungkin NGINX di Linux / Mac).
sumber