Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Petunjuk / Saran
Konten ini adalah kutipan dari eBook, .NET Microservices Architecture for Containerized .NET Applications, tersedia di .NET Docs atau sebagai PDF yang dapat diunduh gratis dan dapat dibaca secara offline.
Modularitas dan sifat ringan .NET 8 membuatnya sempurna untuk kontainer. Saat Anda menyebarkan dan memulai kontainer, gambarnya jauh lebih kecil dengan .NET 8 daripada dengan .NET Framework. Sebaliknya, untuk menggunakan .NET Framework untuk kontainer, Anda harus mendasarkan gambar Anda pada gambar Windows Server Core, yang jauh lebih berat daripada gambar Windows Nano Server atau Linux yang Anda gunakan untuk .NET 8.
Selain itu, .NET 8 adalah lintas platform, sehingga Anda dapat menyebarkan aplikasi server dengan gambar kontainer Linux atau Windows. Namun, jika Anda menggunakan .NET Framework tradisional, Anda hanya dapat menyebarkan gambar dengan Windows Server Core.
Berikut ini adalah penjelasan yang lebih rinci tentang mengapa memilih .NET 8.
Mengembangkan dan menyebarkan lintas platform
Jelas, jika tujuan Anda adalah memiliki aplikasi (aplikasi web atau layanan) yang dapat berjalan di beberapa platform yang didukung oleh Docker (Linux dan Windows), pilihan yang tepat adalah .NET 8, karena .NET Framework hanya mendukung Windows.
.NET 8 juga mendukung macOS sebagai platform pengembangan. Namun, saat Anda menyebarkan kontainer ke host Docker, host tersebut harus (saat ini) berbasis Linux atau Windows. Contoh, di lingkungan pengembangan, Anda dapat menggunakan VM Linux yang berjalan di Mac.
Visual Studio menyediakan lingkungan pengembangan terintegrasi (IDE) untuk Windows dan mendukung pengembangan Docker.
Anda juga dapat menggunakan Visual Studio Code di macOS, Linux, dan Windows. Visual Studio Code sepenuhnya mendukung .NET 8, termasuk IntelliSense dan penelusuran kesalahan. Karena VS Code adalah editor yang ringan, Anda dapat menggunakannya untuk mengembangkan aplikasi dalam kontainer pada mesin bersama dengan Docker CLI dan .NET CLI. Anda juga dapat menargetkan .NET 8 dengan sebagian besar editor pihak ketiga seperti Sublime, Emacs, vi, dan proyek OmniSharp sumber terbuka, yang juga menyediakan dukungan IntelliSense.
Selain IDE dan editor, Anda juga dapat menggunakan .NET CLI untuk semua platform yang didukung.
Menggunakan kontainer untuk proyek ("bidang kosong") baru
Kontainer biasanya digunakan bersama dengan arsitektur layanan mikro, meskipun kontainer juga dapat digunakan untuk menampung aplikasi web atau layanan yang mengikuti pola arsitektur apa pun. Anda dapat menggunakan .NET Framework pada Kontainer Windows, tetapi modularitas dan sifat ringan .NET 8 membuatnya sempurna untuk kontainer dan arsitektur layanan mikro. Saat Anda membuat dan menyebarkan kontainer, gambarnya jauh lebih kecil dengan .NET 8 daripada dengan .NET Framework.
Buat dan sebarkan layanan mikro di kontainer
Anda dapat menggunakan .NET Framework tradisional untuk membangun aplikasi berbasis layanan mikro (tanpa kontainer) dengan menggunakan proses biasa. Dengan begitu, karena .NET Framework sudah diinstal dan dibagikan di seluruh proses, eksekusi prosesnya sendiri akan ringan dan cepat dimulai. Namun, jika Anda menggunakan kontainer, gambar untuk .NET Framework tradisional juga didasarkan pada Windows Server Core dan itu membuatnya terlalu berat untuk pendekatan layanan mikro pada kontainer. Namun, tim telah mencari peluang untuk meningkatkan pengalaman bagi pengguna .NET Framework juga. Baru-baru ini, ukuran gambar kontainer Windows Server Core telah dikurangi menjadi >40% lebih kecil.
Di sisi lain, .NET 8 adalah kandidat terbaik jika Anda merangkul sistem berorientasi layanan mikro yang didasarkan pada kontainer karena .NET 8 ringan. Selain itu, gambar kontainer terkait, baik untuk Linux atau Windows Nano Server, ramping dan kecil, membuat kontainer dapat mulai dengan ringan dan cepat.
Layanan mikro memang seharusnya bisa sekecil mungkin: ringan saat berputar, memiliki tapak kecil, memiliki Konteks Terbatas kecil (periksa DDD, Desain Berbasis Domain), untuk mewakili bidang yang menjadi perhatian, dan untuk dapat memulai dan berhenti dengan cepat. Untuk persyaratan tersebut, Anda akan ingin menggunakan gambar kontainer kecil dan cepat ke instans seperti gambar kontainer .NET 8.
Arsitektur layanan mikro juga memungkinkan Anda menggabungkan teknologi melintasi batas layanan. Pendekatan ini memungkinkan migrasi bertahap ke .NET 8 untuk layanan mikro baru yang bekerja bersama dengan layanan mikro lainnya atau dengan layanan yang dikembangkan dengan Node.js, Python, Java, GoLang, atau teknologi lainnya.
Menyebarkan kepadatan tinggi dalam sistem yang dapat diskalakan
Ketika sistem berbasis kontainer Anda membutuhkan kepadatan, granularitas, dan kinerja terbaik, .NET dan ASP.NET Core adalah pilihan terbaik Anda. ASP.NET Core hingga 10 kali lebih cepat daripada ASP.NET dalam .NET Framework tradisional, dan itu mengarah ke teknologi industri populer lainnya untuk layanan mikro, seperti Java servlet, Go, dan Node.js.
Pendekatan ini sangat relevan untuk arsitektur layanan mikro, di mana Anda dapat menjalankan ratusan layanan mikro (kontainer). Dengan gambar ASP.NET Core (berdasarkan runtime .NET) di Linux atau Windows Nano, Anda dapat menjalankan sistem Anda dengan jumlah server atau VM yang jauh lebih sedikit, yang pada akhirnya menghemat biaya infrastruktur dan hosting.