Furkan KapukayaYazılım geliştirme
C# ve .NET2 dk okuma

Aspire Nedir? .NET ile Dağıtık Uygulamaları Geliştirmek ve Gözlemlemek

.NET Aspire olarak tanıtılan Aspire'ın uygulama modeli, servis keşfi, hazır entegrasyonlar, geliştirme paneli ve OpenTelemetry ile gözlemlenebilirlik özelliklerine giriş.

Modern bir uygulama genellikle tek parçadan oluşmaz: bir web API, bir ön yüz, bir veritabanı, bir önbellek, belki bir mesaj kuyruğu. Bunları geliştirme ortamında birlikte ayağa kaldırmak, birbirine bağlamak ve izlemek zaman alır. Aspire (ilk duyurulduğunda .NET Aspire adıyla), bu işi kolaylaştırmak için Microsoft tarafından geliştirilen açık kaynaklı bir araç setidir.

Temel bileşenler

Uygulama modeli (AppHost)

Uygulamanızın hangi parçalardan oluştuğunu C# koduyla tanımlarsınız:

var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddRedis("cache");
var db = builder.AddPostgres("pg").AddDatabase("siparisdb");

var api = builder.AddProject<Projects.SiparisApi>("api")
    .WithReference(db)
    .WithReference(cache);

builder.AddProject<Projects.Web>("web").WithReference(api);
builder.Build().Run();

Tek komutla tüm parçalar ayağa kalkar ve bağlantı bilgileri otomatik olarak ilgili projelere iletilir.

Hazır entegrasyonlar

Redis, PostgreSQL, SQL Server, mesaj kuyrukları gibi yaygın bileşenler için önceden yapılandırılmış paketler sunar; sağlık kontrolleri ve tekrar deneme ayarları hazır gelir.

Geliştirme paneli

Tüm servislerin durumu, logları, izleri (trace) ve metrikleri tek bir web panelinde görünür. "İstek nerede yavaşladı?" sorusu çok daha hızlı cevaplanır.

Gözlemlenebilirlik

Aspire, açık bir standart olan OpenTelemetry üzerine kuruludur. Böylece log, iz ve metrikler yalnızca geliştirme panelinde değil, canlı ortamda kullandığınız izleme araçlarında da kullanılabilir. Loglama temelleri için .NET'te loglama yazımıza bakabilirsiniz.

Kimler için uygun?

  1. Birden fazla servisten oluşan projeler.
  2. Docker ile yerel geliştirme ortamı kuran ekipler. Bkz. Docker nedir.
  3. Gözlemlenebilirliği baştan doğru kurmak isteyenler.

Tek bir web uygulaması ve bir veritabanından oluşan basit projelerde ise ek bir katman getirmesi gereksiz olabilir.

Dağıtım

Aspire uygulama modeli, farklı hedef ortamlar için dağıtım çıktıları üretmeye yardımcı olabilir. Ancak canlı ortam mimarisi her zaman ayrıca planlanmalıdır.

Sık sorulan sorular

Aspire yalnızca Azure ile mi çalışır?

Hayır. Yerel geliştirme ve farklı ortamlarda kullanılabilir; Azure için ek kolaylıklar da sunar.

Mevcut projeye eklenebilir mi?

Evet. Mevcut projeler bir AppHost projesine eklenerek kademeli olarak Aspire yapısına alınabilir.

Sonuç

Aspire, dağıtık uygulamalarda geliştirme deneyimini ve gözlemlenebilirliği belirgin şekilde iyileştirir. Mimari değerlendirmesi için iletişime geçebilirsiniz.