Bagikan melalui


Layanan Mikro .NET: Arsitektur untuk Aplikasi .NET Dalam Kontainer

Sampul buku

EDITION v7.0 - Diperbarui ke ASP.NET Core 7.0

Lihat changelog untuk pembaruan buku dan kontribusi komunitas di.

Panduan ini adalah pengantar untuk mengembangkan aplikasi berbasis layanan mikro dan mengelolanya menggunakan kontainer. Ini membahas desain arsitektur dan pendekatan implementasi menggunakan kontainer .NET dan Docker.

Untuk mempermudah memulai, panduan ini berfokus pada aplikasi kontainer referensi dan berbasis layanan mikro yang dapat Anda jelajahi. Aplikasi referensi tersedia di repositori eShopOnContainers GitHub.

Pendahuluan

Perusahaan semakin menyadari penghematan biaya, memecahkan masalah penyebaran, dan meningkatkan DevOps dan operasi produksi dengan menggunakan kontainer. Microsoft telah merilis inovasi kontainer untuk Windows dan Linux dengan membuat produk seperti Azure Kubernetes Service dan Azure Service Fabric, dan dengan bermitra dengan para pemimpin industri seperti Docker, Mesosphere, dan Kubernetes. Produk-produk ini memberikan solusi kontainer yang membantu perusahaan membangun dan menyebarkan aplikasi dengan kecepatan dan skala cloud, apa pun pilihan platform atau alat mereka.

Docker menjadi standar de facto dalam industri kontainer, didukung oleh vendor paling signifikan di ekosistem Windows dan Linux. (Microsoft adalah salah satu vendor cloud utama yang mendukung Docker). Di masa depan, Docker mungkin akan di mana-mana di pusat data apa pun di cloud atau lokal.

Selain itu, arsitektur layanan mikro muncul sebagai pendekatan penting untuk aplikasi penting misi terdistribusi. Dalam arsitektur berbasis layanan mikro, aplikasi ini dibangun di atas kumpulan layanan yang dapat dikembangkan, diuji, disebarkan, dan di-versi secara independen.

Tentang panduan ini

Panduan ini adalah pengantar untuk mengembangkan aplikasi berbasis layanan mikro dan mengelolanya menggunakan kontainer. Ini membahas desain arsitektur dan pendekatan implementasi menggunakan kontainer .NET dan Docker. Untuk mempermudah memulai kontainer dan layanan mikro, panduan ini berfokus pada aplikasi berbasis kontainer dan layanan mikro referensi yang dapat Anda jelajahi. Aplikasi sampel tersedia di repositori eShopOnContainers GitHub.

Panduan ini menyediakan pengembangan dasar dan panduan arsitektur terutama pada tingkat lingkungan pengembangan dengan fokus pada dua teknologi: Docker dan .NET. Niat kami adalah Anda membaca panduan ini saat memikirkan desain aplikasi Anda tanpa berfokus pada infrastruktur (cloud atau lokal) lingkungan produksi Anda. Anda akan membuat keputusan tentang infrastruktur Anda nanti, ketika Anda membuat aplikasi siap produksi Anda. Oleh karena itu, panduan ini dimaksudkan untuk menjadi agnostik infrastruktur dan lebih berfokus pada lingkungan pengembangan.

Setelah Anda mempelajari panduan ini, langkah Anda selanjutnya adalah mempelajari tentang layanan mikro siap produksi di Microsoft Azure.

Versi

Panduan ini telah direvisi untuk mencakup versi .NET 7 bersama dengan banyak pembaruan tambahan yang terkait dengan "gelombang" teknologi yang sama (yaitu, Azure dan teknologi pihak ketiga tambahan) yang bertepatan dengan rilis .NET 7.

Nota

Versi baru eBook ini sedang dibuat untuk .NET 8 dan sampel eShop baru.

Apa yang tidak dicakup panduan ini

Panduan ini tidak berfokus pada siklus hidup aplikasi, DevOps, alur CI/CD, atau pekerjaan tim. Panduan pelengkap Siklus Hidup Aplikasi Docker Kontainer dengan Platform dan Alat Microsoft berfokus pada subjek tersebut. Panduan saat ini juga tidak memberikan detail implementasi pada infrastruktur Azure, seperti informasi tentang orkestrator tertentu.

Sumber daya tambahan

Siapa yang harus menggunakan panduan ini

Kami menulis panduan ini untuk pengembang dan arsitek solusi yang baru dalam pengembangan aplikasi berbasis Docker dan arsitektur berbasis layanan mikro. Panduan ini untuk Anda jika Anda ingin mempelajari cara merancang, merancang, dan menerapkan aplikasi bukti konsep dengan teknologi pengembangan Microsoft (dengan fokus khusus pada .NET) dan dengan kontainer Docker.

Anda juga akan menemukan panduan ini berguna jika Anda adalah pembuat keputusan teknis, seperti arsitek perusahaan, yang menginginkan gambaran umum arsitektur dan teknologi sebelum Anda memutuskan pendekatan apa yang akan dipilih untuk aplikasi terdistribusi baru dan modern.

Cara menggunakan panduan ini

Bagian pertama dari panduan ini memperkenalkan kontainer Docker, membahas cara memilih antara .NET 7 dan .NET Framework sebagai kerangka kerja pengembangan, dan memberikan gambaran umum layanan mikro. Konten ini untuk arsitek dan pembuat keputusan teknis yang menginginkan gambaran umum tetapi tidak perlu fokus pada detail implementasi kode.

Bagian kedua dari panduan dimulai dengan bagian Proses pengembangan untuk aplikasi berbasis Docker . Ini berfokus pada pola pengembangan dan layanan mikro untuk menerapkan aplikasi menggunakan .NET dan Docker. Bagian ini akan sangat menarik bagi pengembang dan arsitek yang ingin fokus pada kode dan pada pola dan detail implementasi.

Aplikasi eShopOnContainers adalah aplikasi referensi sumber terbuka untuk .NET dan layanan mikro yang dirancang untuk disebarkan menggunakan kontainer Docker. Aplikasi ini terdiri dari beberapa subsistem, termasuk beberapa front-end UI e-store (aplikasi Web MVC, Web SPA, dan aplikasi seluler asli). Ini juga termasuk layanan mikro back-end dan kontainer untuk semua operasi sisi server yang diperlukan.

Tujuan dari aplikasi ini adalah untuk menampilkan pola arsitektur. INI BUKAN TEMPLAT PRODUCTION-READY untuk memulai aplikasi dunia nyata. Bahkan, aplikasi ini dalam keadaan beta permanen, karena juga digunakan untuk menguji teknologi baru yang berpotensi menarik saat muncul.

Kirim umpan balik Anda

Buku ini dan sampel terkait terus berkembang, sehingga umpan balik Anda disambut baik. Jika Anda memiliki komentar tentang bagaimana buku ini dapat ditingkatkan dan Anda membaca buku ini di <learn.microsoft.com>, gunakan bagian Umpan Balik di bagian bawah halaman:

Bagian Umpan Balik pada semua footer artikel dokumen .NET.

Seperti yang disorot dalam tangkapan layar sebelumnya, bagian umpan balik memungkinkan Anda mengirimkan umpan balik untuk:

  • Produk ini: menggunakan formulir umpan balik produk .NET.
  • Halaman ini: menggunakan template isu GitHub dengan detail halaman.

Jika Anda membaca buku ini sebagai PDF, Anda dapat mengirimkan umpan balik dengan membuat baru .NET Docs: Masalah GitHub atau dengan menggunakan .NET Architecture eBooks: Templat masalah GitHub.

Penghargaan

Penulis Bersama:

Cesar de la Torre, Sr. PM, tim produk .NET, Microsoft Corp.

Bill Wagner, Sr. Pengembang Konten, C+E, Microsoft Corp.

Mike Rousos, Insinyur Perangkat Lunak Utama, tim DevDiv CAT, Microsoft

Editor:

Mike Pope

Steve Hoag

Peserta dan peninjau:

Jeffrey Richter, Rekan Insinyur Perangkat Lunak, tim Azure, Microsoft

Jimmy Bogard, Kepala Arsitek di Headspring

Udi Dahan, Pendiri & CEO, Perangkat Lunak Khusus

Jimmy Nilsson, Co-founder dan CEO Factor10

Glenn Condron, Manajer Senior Program, tim ASP.NET

Mark Fussell, Pemimpin PM Utama, tim Azure Service Fabric, Microsoft

Diego Vega, PM Lead, Entity Framework team, Microsoft

Barry Dorrans, Sr. Manajer Program Keamanan

Rowan Miller, Sr. Manajer Program, Microsoft

Ankit Asthana, Manajer PM Utama, tim .NET, Microsoft

Scott Hunter, Direktur Mitra PM, tim .NET, Microsoft

Nish Anil, Sr. Program Manager, .NET team, Microsoft

Dylan Reisenberger, Arsitek dan Pemimpin Dev di Polly

Steve "ardalis" Smith - Arsitek dan Pelatih Perangkat Lunak - Ardalis.com

Ian Cooper, Arsitek Pengkodian di Brighter

Unai Zorrilla, Arsitek dan Dev Lead di Plain Concepts

Eduard Tomas, Pemimpin Pengembang di Plain Concepts

Ramon Tomas, Pengembang di Plain Concepts

David Sanz, Pengembang di Plain Concepts

Javier Valero, Chief Operating Officer di Grupo Solutio

Pierre Millet, Sr. Konsultan, Microsoft

Michael Friis, Manajer Produk, Docker Inc

Charles Lowell, Insinyur Perangkat Lunak, tim VS CAT, Microsoft

Miguel Veloso, Insinyur Pengembangan Perangkat Lunak di Konsep Biasa

Sumit Ghosh, Konsultan Utama di Neudesic

DITERBITKAN OLEH

Tim produk Microsoft Developer Division, .NET, dan Visual Studio

Sebuah divisi dari Microsoft Corporation

Satu Cara Microsoft

Redmond, Washington 98052-6399

Hak Cipta © 2023 oleh Microsoft Corporation

Seluruh hak cipta dilindungi. Tidak ada bagian dari isi buku ini yang dapat direprodisi atau ditransmisikan dalam bentuk apa pun atau dengan cara apa pun tanpa izin tertulis dari penerbit.

Buku ini disediakan "as-is" dan mengekspresikan pandangan dan pendapat penulis. Tampilan, opini, dan informasi yang dinyatakan dalam buku ini, termasuk URL dan referensi situs web Internet lainnya, dapat berubah tanpa pemberitahuan.

Beberapa contoh yang digambarkan di sini disediakan hanya untuk ilustrasi dan fiktif. Tidak ada asosiasi atau koneksi nyata yang dimaksudkan atau harus disimpulkan.

Microsoft dan merek dagang yang tercantum di https://www.microsoft.com di halaman web "Merek Dagang" adalah merek dagang dari grup perusahaan Microsoft.

Mac dan macOS adalah merek dagang Apple Inc.

Logo paus Docker adalah merek dagang terdaftar dari Docker, Inc. Digunakan oleh izin.

Semua tanda dan logo lainnya adalah milik pemilik masing-masing.