.NET Mikro Hizmetleri: Kapsayıcılı .NET Uygulamaları Mimarisi

Book cover

SÜRÜM v6.0 - ASP.NET Core 6.0 sürümüne güncelleştirildi

Kitap güncelleştirmeleri ve topluluk katkıları için değişiklik günlüğü'ne bakın.

Bu kılavuz mikro hizmet tabanlı uygulamalar geliştirmeye ve kapsayıcıları kullanarak bunları yönetmeye giriş niteliğindedir. .NET ve Docker kapsayıcılarını kullanan mimari tasarım ve uygulama yaklaşımlarını ele alır.

Kullanmaya başlamayı kolaylaştırmak için kılavuz, keşfedebileceğiniz kapsayıcılı ve mikro hizmet tabanlı başvuru uygulamasına odaklanır. Başvuru uygulaması eShopOnContainers GitHub deposunda kullanılabilir.

Giriş

Kuruluşlar giderek daha fazla maliyet tasarrufu, dağıtım sorunlarını çözme ve kapsayıcıları kullanarak DevOps ve üretim operasyonlarını iyileştirmeye devam etmektedir. Microsoft, Azure Kubernetes Service ve Azure Service Fabric gibi ürünler oluşturarak ve Docker, Mesosphere ve Kubernetes gibi sektör liderleriyle işbirliği yaparak Windows ve Linux için kapsayıcı yeniliklerini kullanıma sunmaktadır. Bu ürünler, şirketlerin platform veya araç seçimi ne olursa olsun bulut hızı ve ölçeğinde uygulama oluşturmasına ve dağıtmasına yardımcı olan kapsayıcı çözümleri sunar.

Docker, Windows ve Linux ekosistemlerindeki en önemli satıcılar tarafından desteklenen kapsayıcı endüstrisinde de facto standart haline gelmektedir. (Microsoft, Docker'ı destekleyen ana bulut satıcılarından biridir.) Gelecekte Docker, buluttaki veya şirket içindeki herhangi bir veri merkezinde büyük olasılıkla her yerde olacak.

Buna ek olarak , mikro hizmetler mimarisi dağıtılmış görev açısından kritik uygulamalar için önemli bir yaklaşım olarak ortaya çıkmektedir. Mikro hizmet tabanlı mimaride uygulama, bağımsız olarak geliştirilebilen, test edilebilen, dağıtılan ve sürüm oluşturulabilen bir hizmet koleksiyonu üzerine kurulmuştur.

Bu kılavuz hakkında

Bu kılavuz mikro hizmet tabanlı uygulamalar geliştirmeye ve kapsayıcıları kullanarak bunları yönetmeye giriş niteliğindedir. .NET ve Docker kapsayıcılarını kullanan mimari tasarım ve uygulama yaklaşımlarını ele alır. Kapsayıcıları ve mikro hizmetleri kullanmaya başlamayı kolaylaştırmak için kılavuz, keşfedebileceğiniz kapsayıcılı ve mikro hizmet tabanlı başvuru uygulamasına odaklanır. Örnek uygulama, eShopOnContainers GitHub deposunda kullanılabilir.

Bu kılavuz, temelde geliştirme ortamı düzeyinde temel geliştirme ve mimari rehberlik sağlar ve iki teknolojiye odaklanır: Docker ve .NET. Amacımız, üretim ortamınızın altyapısına (bulut veya şirket içi) odaklanmadan uygulama tasarımınızı düşünürken bu kılavuzu okumanızdır. Daha sonra üretime hazır uygulamalarınızı oluştururken altyapınızla ilgili kararlar alacaktır. Bu nedenle, bu kılavuzun altyapıdan bağımsız ve geliştirme ortamı odaklı olması amaçlanmıştır.

Bu kılavuzu inceledikten sonra, sonraki adımınız Microsoft Azure üretime hazır mikro hizmetler hakkında bilgi edinmek olacaktır.

Sürüm

Bu kılavuz, .NET 6 sürümüyle aynı zamanda .NET 6 sürümüyle aynı "dalga" teknolojilerle (Yani Azure ve ek üçüncü taraf teknolojileri) ilgili ek güncelleştirmelerle birlikte .NET 6 sürümünü kapsayacak şekilde düzeltilmiştir. Bu nedenle kitap sürümü de 6.0 sürümüne güncelleştirilmiştir.

Bu kılavuzun kapsamadığı şeyler

Bu kılavuz uygulama yaşam döngüsüne, DevOps, CI/CD işlem hatlarına veya ekip çalışmasına odaklanmaz. Microsoft Platform ve Araçları ile Kapsayıcılı Docker Uygulama Yaşam Döngüsü tamamlayıcı kılavuzu bu konuya odaklanır. Geçerli kılavuz, belirli düzenleyicilerle ilgili bilgiler gibi Azure altyapısıyla ilgili uygulama ayrıntılarını da sağlamaz.

Ek kaynaklar

Who bu kılavuzu kullanmalıdır

Docker tabanlı uygulama geliştirme ve mikro hizmet tabanlı mimari konusunda yeni olan geliştiriciler ve çözüm mimarları için bu kılavuzu yazdık. Bu kılavuz, Microsoft geliştirme teknolojileriyle (.NET'e özel olarak odaklanarak) ve Docker kapsayıcılarıyla kavram kanıtı uygulamaları tasarlamayı, tasarlamayı ve uygulamayı öğrenmek istiyorsanız size yöneliktir.

Bu kılavuzu, yeni ve modern dağıtılmış uygulamalar için hangi yaklaşımı seçeceğinize karar vermeden önce mimariye ve teknolojiye genel bakış isteyen bir kurumsal mimar gibi teknik bir karar alıcıysanız da yararlı bulacaksınız.

Bu kılavuz nasıl kullanılır?

Bu kılavuzun ilk bölümünde Docker kapsayıcıları tanıtılır, .NET 6 ile geliştirme çerçevesi olarak .NET Framework arasında nasıl seçim yapılacağını açıklar ve mikro hizmetlere genel bir bakış sağlanır. Bu içerik, genel bakış isteyen ancak kod uygulama ayrıntılarına odaklanması gerekmeyen mimarlara ve teknik karar alıcılara yöneliktir.

Kılavuzun ikinci bölümü Docker tabanlı uygulamalar için geliştirme süreci bölümüyle başlar. .NET ve Docker kullanarak uygulama yapmaya yönelik geliştirme ve mikro hizmet desenlerine odaklanır. Bu bölüm en çok koda, desenlere ve uygulama ayrıntılarına odaklanmak isteyen geliştiriciler ve mimarlar tarafından ilgi çekici olacaktır.

eShopOnContainers uygulaması, Docker kapsayıcıları kullanılarak dağıtılacak şekilde tasarlanmış .NET ve mikro hizmetler için bir açık kaynak başvuru uygulamasıdır. Uygulama, çeşitli e-mağaza kullanıcı arabirimi ön uçları (Web MVC uygulaması, Web SPA ve yerel mobil uygulama) dahil olmak üzere birden çok alt sistemden oluşur. Ayrıca tüm gerekli sunucu tarafı işlemleri için arka uç mikro hizmetlerini ve kapsayıcılarını içerir.

Uygulamanın amacı mimari desenleri göstermektir. Gerçek dünya uygulamalarını başlatmak için ÜRETIME HAZıR BIR ŞABLON DEĞILDIR. Aslında uygulama, yeni ilgi çekici olabilecek teknolojilerin ortaya çıktıklarında test etmek için de kullanıldığı için kalıcı bir beta durumundadır.

Bize geri bildirimlerinizi gönderin!

.NET'te kapsayıcılı uygulamaların ve mikro hizmetlerin mimarisini anlamanıza yardımcı olması için bu kılavuzu yazdık. Kılavuz ve ilgili başvuru uygulaması gelişecektir, bu nedenle geri bildiriminizi bekliyoruz! Bu kılavuzun nasıl geliştirilebileceği hakkında yorumlarınız varsa adresinden geri bildirim https://aka.ms/ebookfeedbackgönderin.

Krediler

Ortak Yazarlar:

Cesar de la Torre, Sr. PM, .NET ürün ekibi, Microsoft Corp.

Bill Wagner, İçerik Geliştirici, C+E, Microsoft Corp.

Mike Rousos, Baş Yazılım Mühendisi, DevDiv CAT ekibi, Microsoft

Editörler:

Mike Pope

Steve Hoag

Katılımcılar ve gözden geçirenler:

Jeffrey Richter, İş Ortağı Yazılımı Eng, Azure ekibi, Microsoft

Jimmy Bogard, Headspring Baş Mimarı

Udi Dahan, Kurucu & CEO, Özel Yazılım

Jimmy Nilsson, Factor10'un kurucu ortağı ve CEO'su

Glenn Condron, Sr. Program Yöneticisi, ASP.NET ekibi

Mark Fussell, Baş PM Lideri, Azure Service Fabric ekibi, Microsoft

Diego Vega, PM Lideri, Entity Framework ekibi, Microsoft

Barry Dorrans, Güvenlik Programı Yöneticisi

Rowan Miller, Sr. Program Yöneticisi, Microsoft

Ankit Asthana, Baş PM Yöneticisi, .NET ekibi, Microsoft

Scott Hunter, İş Ortağı Direktörü, .NET ekibi, Microsoft

Nish Anil, Program Yöneticisi, .NET ekibi, Microsoft

Dylan Reisenberger, Polly'de Mimar ve Geliştirici Lideri

Steve "ardalis" Smith - Yazılım Mimarı ve Eğitmeni - Ardalis.com

Ian Cooper, Brighter'da Kodlama Mimarı

Unai Zorrilla, Düz Kavramlar'da Mimar ve Geliştirme Lideri

Eduard Tomas, Düz Kavramlarda Dev Lideri

Ramon Tomas, Plain Concepts Geliştiricisi

David Sanz, Plain Concepts Geliştiricisi

Javier Valero, Grupo Solutio'da Operasyon Direktörü

Pierre Millet, Danışman, Microsoft

Michael Friis, Ürün Yöneticisi, Docker Inc

Charles Lowell, Yazılım Mühendisi, VS CAT ekibi, Microsoft

Miguel Veloso, Düz Kavramlar'da Yazılım Geliştirme Mühendisi

Sumit Ghosh, Neudesic Baş Danışmanı

YAYIMLAYAN

Microsoft Developer Division, .NET ve Visual Studio ürün ekipleri

Microsoft Corporation'ın bir bölümü

One Microsoft Way

Redmond, Washington 98052-6399

Microsoft Corporation tarafından telif hakkı © 2022

All rights reserved. Bu kitabın içeriğinin hiçbir bölümü, yayıncının yazılı izni olmadan herhangi bir biçimde veya herhangi bir yolla çoğaltılamaz veya iletilmez.

Bu kitap "olduğu gibi" sağlanır ve yazarın görüşlerini ve görüşlerini ifade eder. URL ve diğer İnternet web sitesi başvuruları da dahil olmak üzere bu kitapta ifade edilen görüşler, görüşler ve bilgiler bildirimde bulunmadan değişebilir.

Burada tarif edilen bazı örnekler yalnızca açıklama için sağlanmıştır ve kurgusaldır. Gerçek bir ilişki veya bağlantı amaçlanmamıştır veya böyle bir bağlantı olduğu sonucuna varılmamalıdır.

Microsoft ve "Ticari Markalar" web sayfasında listelenen https://www.microsoft.com ticari markalar, Microsoft şirketler grubunun ticari markalarıdır.

Mac ve macOS, Apple Inc.'in ticari markalarıdır.

Docker balina logosu, izinler tarafından kullanılan Docker, Inc. şirketinin tescilli ticari markasıdır.

Diğer tüm işaretler ve logolar ilgili sahiplerinin mülkiyetidir.