Service Fabric dan kontainer

Pengantar

Azure Service Fabric adalah platform sistem terdistribusi yang mempermudah pengemasan, penyebaran, dan pengelolaan layanan mikro dan kontainer yang andal dan terukur.

Service Fabric adalah orkestrator kontainer Microsoft untuk menyebarkan layanan mikro di klaster komputer. Manfaat Service Fabric dari pelajaran yang dipelajari selama bertahun-tahun menjalankan layanan di Microsoft dalam skala besar.

Layanan mikro dapat dikembangkan dalam banyak hal mulai dari menggunakan model pemrograman Service Fabric,ASP.NET Core ,hingga menyebarkan kode apa pun pilihan Anda. Atau, jika Anda hanya ingin menyebarkan dan mengelola kontainer,Service Fabric juga merupakan pilihan yang bagus.

Secara default, Service Fabric menyebarkan dan mengaktifkan layanan ini sebagai proses. Proses memberikan aktivasi tercepat dan penggunaan sumber daya dengan kepadatan tertinggi dalam klaster. Service Fabric juga dapat menyebarkan layanan dalam gambar kontainer. Anda juga dapat mencampur layanan dalam proses, dan layanan dalam kontainer, pada aplikasi yang sama.

Untuk langsung masuk dan mencoba kontainer di Service Fabric, coba mulai cepat, tutorial, atau contoh:

Mulai cepat: Terapkan aplikasi kontainer Linux ke Service Fabric
Mulai cepat: Terapkan aplikasi kontainer Windows ke Service Fabric
Kontainer aplikasi .NET yang ada
Sampel Kontainer Service Fabric

Apa itu kontainer

Kontainer memecahkan masalah menjalankan aplikasi dengan andal di lingkungan komputasi yang berbeda dengan menyediakan lingkungan yang tidak dapat diubah agar aplikasi dapat berjalan. Kontainer membungkus aplikasi dan semua dependensinya, seperti pustaka dan file konfigurasi, ke dalam 'kotak' terisolasi sendiri yang berisi semua yang diperlukan untuk menjalankan perangkat lunak di dalam kontainer. Di mana pun kontainer berjalan, aplikasi di dalamnya selalu memiliki semua yang diperlukan untuk berjalan seperti versi yang tepat dari perpustakaan dependennya, file konfigurasi apa pun, dan apa pun yang perlu dijalankan.

Kontainer berjalan secara langsung di atas kernel dan memiliki tampilan terisolasi dari sistem file dan sumber daya lainnya. Aplikasi dalam wadah tidak memiliki pengetahuan tentang aplikasi atau proses lain di luar wadahnya. Setiap aplikasi dan runtime, dependensi, dan perpustakaan sistem berjalan di dalam wadah dengan akses pribadi penuh ke tampilan terisolasi kontainer sendiri dari sistem operasi. Selain memudahkan untuk menyediakan semua dependensi aplikasi Anda yang dibutuhkan untuk berjalan di lingkungan komputasi yang berbeda, isolasi keamanan dan sumber daya adalah manfaat penting dari penggunaan kontainer dengan Service Fabric--yang jika tidak menjalankan layanan dalam sebuah proses.

Dibandingkan dengan mesin virtual, kontainer memiliki keuntungan berikut:

  • Kecil: Kontainer menggunakan ruang penyimpanan tunggal dan versi lapisan dan pembaruan untuk meningkatkan efisiensi.
  • Cepat: Kontainer tidak harus mem-boot seluruh sistem operasi, sehingga mereka dapat memulai jauh lebih cepat - biasanya dalam hitungan detik.
  • Portabilitas: Gambar aplikasi kontainer dapat di-port-kan untuk dijalankan di cloud, di tempat, di dalam mesin virtual, atau langsung pada mesin fisik.
  • Tata kelola sumber daya : Kontainer dapat membatasi sumber daya fisik yang dapat dikonsumsi pada host-nya.

Dukungan Service Fabric untuk kontainer

Service Fabric mendukung penyebaran kontainer Docker di Linux, dan kontainer Windows Server pada Windows Server 2016 dan yang lebih baru, bersama dengan dukungan untuk mode isolasi Hyper-V.

Runtime kontainer yang kompatibel dengan ServiceFabric:

  • Linux: Docker
  • Windows:
    • Windows Server 2022: Runtime Kontainer Mirantis
    • Windows Server 2019/2016: DockerEE

Kontainer Docker di Linux

Docker menyediakan API untuk membuat dan mengelola kontainer di atas kontainer kernel Linux. Docker Hub menyediakan repositori pusat untuk menyimpan dan mengambil gambar kontainer. Untuk tutorial berbasis Linux, lihat Membuat aplikasi kontainer Service Fabric pertama Anda di Linux.

Kontainer Windows Server

Windows Server 2016 dan yang lebih baru menyediakan dua tipe kontainer berbeda yang dibedakan menurut tingkat isolasi. Kontainer Windows Server dan kontainer Docker mirip karena keduanya memiliki ruang nama dan isolasi sistem file, sambil berbagi kernel dengan host yang mereka jalankan. Di Linux, isolasi ini secara tradisional disediakan oleh cgroup dan namespace, dan kontainer Windows Server berperilaku serupa.

Kontainer Windows dengan dukungan Hyper-V memberikan lebih banyak isolasi dan keamanan karena tidak ada kontainer yang berbagi kernel sistem operasi dengan kontainer lain, atau dengan host. Dengan tingkat isolasi keamanan yang lebih tinggi ini, kontainer berkemampuan Hyper-V ditargetkan pada skenario multi-penyewa yang berpotensi bermusuhan. Untuk tutorial berbasis Windows, lihat Membuat aplikasi kontainer Kain Layanan pertama Anda di Windows.

Gambar berikut menunjukkan berbagai jenis virtualisasi dan tingkat isolasi yang tersedia. Platform Service Fabric

Skenario untuk menggunakan kontainer

Berikut adalah contoh khas di mana kontainer adalah pilihan yang baik:

  • IIS angkat dan geser: Anda dapat meletakkan aplikasi MVC ASP.NET yang ada dalam kontainer alih-alih memigrasikannya ke ASP.NET Core. Aplikasi MVC ASP.NET ini bergantung pada Layanan Informasi Internet (IIS). Anda dapat mengemas aplikasi ini ke dalam gambar kontainer dari gambar IIS yang telah dibuat dan menyebarkannya dengan Service Fabric. Lihat Gambar Kontainer di Windows Server untuk informasi tentang kontainer Windows.

  • Campuran kontainer dan layanan mikro Service Fabric: Gunakan gambar kontainer yang ada untuk bagian dari aplikasi Anda. Misalnya, Anda dapat menggunakan kontainer NGINX untuk front end web aplikasi dan layanan stateful Anda untuk komputasi back-end yang lebih intensif.

  • Mengurangi dampak layanan "tetangga yang berisik" : Anda dapat menggunakan kemampuan tata kelola sumber daya kontainer untuk membatasi sumber daya yang digunakan layanan pada host. Jika layanan mungkin mengkonsumsi banyak sumber daya dan mempengaruhi kinerja orang lain (seperti operasi yang berjalan lama seperti kueri), pertimbangkan untuk menempatkan layanan ini ke dalam kontainer yang memiliki tata kelola sumber daya.

Catatan

Kluster Service Fabric adalah penyewa tunggal berdasarkan desain dan aplikasi yang dihosting dianggap tepercaya. Jika Anda mempertimbangkan hosting aplikasi tidak terpercaya , silahkan lihat Hosting aplikasi tidak terpercaya pada kluster Service Fabric .

Service Fabric menyediakan model aplikasi di mana kontainer mewakili host aplikasi di mana beberapa replika layanan ditempatkan. Service Fabric juga mendukung skenario yang dapat dieksekusi tamu di mana Anda tidak menggunakan model pemrograman Kain Layanan bawaan tetapi sebaliknya mengemas aplikasi yang ada, ditulis menggunakan bahasa atau kerangka kerja apa pun, di dalam wadah. Skenario ini adalah kasus penggunaan umum untuk kontainer.

Anda juga dapat menjalankan layanan Service Fabric di dalam kontainer. Dukungan untuk menjalankan layanan Service Fabric di dalam kontainer saat ini terbatas.

Service Fabric menyediakan beberapa kemampuan kontainer yang membantu Anda membangun aplikasi yang terdiri dari layanan mikro kontainer, seperti:

  • Penyebaran dan aktivasi gambar kontainer.
  • Tata kelola sumber daya termasuk menetapkan nilai sumber daya secara default pada klaster Azure.
  • Otentikasi repositori.
  • Port kontainer untuk menghosting pemetaan port.
  • Penemuan dan komunikasi kontainer-ke-kontainer.
  • Kemampuan untuk mengonfigurasi dan mengatur variabel lingkungan.
  • Kemampuan untuk mengatur kredensial keamanan pada kontainer.
  • Pilihan mode jaringan yang berbeda untuk kontainer.

Untuk ikhtisar komprehensif dukungan kontainer di Azure, seperti cara membuat klaster Kubernetes dengan Azure Kubernetes Service, cara membuat registri Docker pribadi di Azure Container Registry, dan lainnya, lihat Azure for Containers.

Langkah berikutnya

Dalam artikel ini, Anda belajar tentang dukungan yang disediakan Service Fabric untuk menjalankan kontainer. Selanjutnya, kita akan menjelaskan contoh masing-masing fitur untuk menunjukkan kepada Anda cara menggunakannya.

Buat aplikasi kontainer Service Fabric pertama Anda di Linux
Buat aplikasi kontainer Kain Layanan pertama Anda di Windows
Pelajari lebih lanjut tentang Kontainer Windows