Azure Container Apps Korumalı Alanlarında Güvenilirlik

Azure Container Apps Sandboxes, kod çalıştırmak için yalıtılmış ortamlar sunar. Her korumalı alan, bir saniyeden kısa sürede başlayan ve askıya alındığında bellek içi durumunu koruyabilen basit bir sanal makinede (microVM) çalışır. Hizmet, yapılandırdığınız özellikler ve platformun sizin adınıza yönettiği özellikler sayesinde korumalı alan iş yüklerinin güvenilirliğini destekler.

Azure'ı kullandığınızda güvenilirlik paylaşılan bir sorumluluktır. Microsoft, dayanıklılık ve kurtarmayı desteklemek için çeşitli özellikler sunar. Bu özelliklerin kullandığınız tüm hizmetler içinde nasıl çalıştığını anlamak ve iş hedeflerinize ve çalışma süresi hedeflerinize ulaşmak için ihtiyacınız olan özellikleri seçmek sizin sorumluluğunuzdadır.

Bu makalede, Container Apps Korumalı Alanlarını geçici hatalara, kullanılabilirlik bölgesi kesintilerine, bölge genelindeki kesintilere ve hizmet bakım işlemlerine karşı nasıl dayanıklı hale getireceğiniz açıklanır. Ayrıca yedekleme ve geri yükleme seçeneklerini ve hizmet düzeyi sözleşmesi (SLA) hakkındaki önemli bilgileri açıklar.

Güvenilirlik için üretim dağıtımı önerileri

Üretim iş yükleri için şunları yapmanızı öneririz:

  • Korumalı alan belleği dışında dayanıklı verileri depolayın ve kurtarma hedeflerinize uygun bir depolama yedekliliği seçeneği belirleyin. Korumalı alan durduğunda kalıcı olması gereken veriler için korumalı alan birimlerini kullanın. Bölge genelindeki bir hataya dayanıklılık için verileri başka bir bölgeye çoğaltan bir dış veri deposu kullanın.

    Azure Blob Depolama kullandığınızda, coğrafi olarak yedekli depolama (GRS) verileri eşleştirilmiş bir bölgeye çoğaltır. Eşleştirilmemiş bölgeler için ayrı depolama hesapları oluşturun ve blok blobları için nesne çoğaltma gibi desteklenen bir çoğaltma yöntemi yapılandırın. Daha fazla bilgi için bkz. Azure Blob Depolama için özel çoklu bölge çözümleri.

  • Çalışma süresi hedefiniz tek bölgeli bir dağıtımla karşılanamıyorsa, birden çok bölgede ayrı korumalı alan grupları dağıtın. Daha fazla bilgi için bkz. Bölge genelindeki hatalara dayanıklılık.

Güvenilirlik mimarisine genel bakış

Bu bölümde, hizmetin nasıl çalıştığına ilişkin güvenilirlik açısından en uygun olan bazı önemli yönler açıklanmaktadır. bölümünde dağıttığınız ve kullandığınız bazı kaynak ve özellikleri içeren mantıksal mimari tanıtılır. Ayrıca, hizmetin kapaklar altında nasıl çalıştığına ilişkin ayrıntılar sağlayan fiziksel mimariyi de ele alır.

Mantıksal mimari

Azure Container Apps uygulamalar, işler, dinamik oturumlar ve korumalı alanlar için ayrı işlem seçenekleri sağlar. Korumalı alan grupları için Container Apps ortamı gerekmez. Diğer Container Apps bileşenlerinin güvenilirliği hakkında ayrıntılı bilgi için bkz. Azure Container Apps'de güvenilirlik.

Container Apps Korumalı Alanları'ndaki ana kaynaklar şunlardır:

  • Korumalı alan grubu:Korumalı alan grubu , korumalı alanlar için en üst düzey bölgesel yönetim sınırıdır ve kaynak türünü kullanır Microsoft.App/sandboxGroups . Tüm korumalı alanlar, disk görüntüleri, anlık görüntüler, depolama birimleri ve hassas yapılandırma değerleri (gizli veriler) bir korumalı alan grubuyla sınırlıdır.

  • Korumalı Alan: Her korumalı alan, bir disk görüntüsünden veya anlık görüntüden çalışan ve kendi CPU, belleği, yerel diski ve ağ yalıtımı bulunan hafif, yalıtılmış bir mikroVM'dir.

    Disk görüntüsü, korumalı alan kök dosya sistemi olarak kullanılmak üzere dönüştürülen bir Open Container Initiative (OCI) kapsayıcı görüntüsüdür.

    Anlık görüntü, bir korumalı alanın tam durumunun belirli bir andaki görüntüsüdür ve kaynak korumalı alandan bağımsız olarak varlığını sürdürür.

    Korumalı alanın durumu çalışıyor veya durduruldu olabilir. Korumalı alan otomatik olarak veya istek üzerine durduğunda, bilgi işlem kaynaklarını serbest bırakır. Bellek modu korumalı alanın tam bellek görüntüsünü ve yerel diskini korur. Disk modu yalnızca yerel diski korur; bu nedenle korumalı alanı yeniden etkinleştirdiğinizde microVM ve içindeki işlemler yeniden başlatılır.

  • Birimler: Yerel disk, kendine ait bir yalıtılmış alana aittir. Korumalı alan birimi, tek bir korumalı alandan bağımsız olan kalıcı depolama sağlar. Azure Blob Depolama birimleri aynı anda birden çok korumalı alana bağlayabilirsiniz; Azure Disk Depolama tarafından yedeklenen veri diski birimleri aynı anda yalnızca bir korumalı alana bağlanabilir. Yedekleme depolama hizmeti, birim verileri için dayanıklılık ve kurtarma seçeneklerini belirler.

Korumalı alan mimarisi ve kaynakları hakkında daha fazla bilgi için bkz. Azure Container Apps Korumalı Alanlara genel bakış.

Fiziksel mimari

Korumalı alanlar, Microsoft’un işlettiği birden çok bağımsız işlem kümesinde çalışır. Dağıttığınız korumalı alan gruplarını, korumalı alanları ve diğer kaynakları yapılandırmak sizin sorumluluğundadır. Microsoft küme dağıtımı, yapılandırma, kapasite yönetimi, sistem durumu izleme ve bakımdan sorumludur. Kümeleri seçemez, dağıtamaz, yapılandıramaz veya yönetemezsiniz. Hizmet, yeni korumalı alanları sağlıklı kümelerde planlar, durdurulmuş korumalı alanları yeniden başlatır ve yerleştirmeleri sağlıksız kümelerin etrafından yönlendirir.

Microsoft, hizmet yapılandırması, korumalı alan meta verileri ve disk görüntüleri ile anlık görüntüler gibi öğeler için yedekli durum depoları bulundurur.

Geçici hatalara dayanıklılık

Geçici hatalar, bileşenlerde kısa ve aralıklı hatalardır. Bunlar genellikle bulut gibi dağıtılmış bir ortamda gerçekleşir ve işlemlerin normal bir parçasıdır. Geçici hatalar kısa bir süre sonra kendilerini düzeltmektedir. Uygulamalarınızın genellikle etkilenen istekleri yeniden deneyerek geçici hataları işleyebileceği önemlidir.

Bulutta barındırılan tüm uygulamalar, bulutta barındırılan API'ler, veritabanları ve diğer bileşenlerle iletişim kurarken Azure geçici hata işleme yönergelerini izlemelidir. Daha fazla bilgi için bkz Geçici hataları ele alma önerileri.

Container Apps Yalıtılmış Ortamları'nı kullanırken, çözümünüzün aşağıdaki bölümlerinde ortaya çıkabilecek geçici hataları göz önünde bulundurun:

  • Korumalı alan yönetim işlemleri: Otomasyonunuz korumalı alan gruplarını, korumalı alanları veya ilgili kaynakları yönettiğinde, geçici hatalar nedeniyle başarısız olan istekleri yeniden deneyin ve üstel geri alma kullanın. Yeniden deneme denemesi sayısını sınırlayın ve yalnızca yinelenirken güvenli olan işlemleri yeniden deneyin.

  • Korumalı alanda çalışan kod: Dış API'lere, veritabanlarına ve diğer hizmetlere yapılan çağrılar için geçici hata işleme uygulayın. Yinelemesi güvenli olan yeniden deneme davranışı ve işlemler hizmete göre farklılık gösterdiğinden her bağımlılık için yeniden deneme kılavuzunu izleyin.

Kullanılabilirlik alanı hatalarına dayanıklılık

Container Apps Korumalı Alanları, bir korumalı alan grubunu belirli bir kullanılabilirlik alanına dağıtmayı veya alan yedekliliğini desteklemez. İş yükünüzü kullanılabilirlik alanı hatalarına dayanıklı hale getirmek için birden çok bölgeye ayrı korumalı alan grupları dağıtın. Daha fazla bilgi için bkz. Bölge genelindeki hatalara dayanıklılık.

Bölge genelindeki hatalara dayanıklılık

Container Apps Sandboxes, tek bölgeli bir hizmettir. Bölge kullanılamaz hâle gelirse, korumalı alan gruplarınız ve içerdikleri korumalı alanlar da kullanılamaz. Hizmet, korumalı alan gruplarını veya korumalı alanları bölgeler arasında çoğaltmaz ve otomatik olarak başka bir bölgeye yük devretmez. Ancak, birden çok bölgeye ayrı korumalı alan grupları dağıtabilirsiniz. Bağımlılıkları her bölgede kullanılabilir hale getirmek ve iş yükü dağıtım ve yük devretmeyi yönetmek sizin sorumluluğundadır. Daha fazla bilgi için bkz. Dayanıklılık için özel çoklu bölge çözümleri.

Bölge genelinde yaşanan bir kesinti sırasında, yalnızca çalışmakta olan bir sandbox’ın belleğinde tutulan durum bilgisini kaybedebilirsiniz. Etkilenen bölgedeki korumalı alan grupları, korumalı alanlar ve hizmet tarafından yönetilen artefaktlar, bölge düzelene kadar kullanılamaz olmaya devam eder.

Korumalı alan birimleri, tek bir korumalı alanın yaşam döngüsünün ötesinde kalıcı depolama alanı sağlar. Bölge genelindeki bir hata sırasında birim kullanılabilirliği ve kurtarma, yedekleme depolama hizmetine ve yapılandırmasına bağlıdır. Container Apps Korumalı Alanları, birim verileri için bölgeler arası çoğaltma veya yük devretme sağlamaz. Bunun yerine, yedekleme depolama hizmeti yapılandırıldığında bu özellikleri sağlar. Örneğin, Azure Blob Depolama birimleri hakkında bilgi için bkz. Azure Blob Depolama'de güvenilirlik.

Dayanıklılık için özel çoklu bölge çözümleri

Azure Container Apps Korumalı Alanları, birden çok bölgeye yönelik dağıtımları koordine etmez veya korumalı alan gruplarını, korumalı alanları ya da bunlarla ilişkili kaynakları bölgeler arasında çoğaltmaz. Özel bir çoklu bölge çözümü oluşturmak için aşağıdaki sorumluluklara sahipsiniz:

  • Bölgesel dağıtımlar ve bağımlılıklar: Kullanmayı planladığınız her bölgeye ayrı bir korumalı alan grubu dağıtın. Yapılandırmayı, disk görüntülerini, gizli dizileri ve diğer bağımlılıkları her bölgede kullanılabilir durumda tutun.

  • Hata algılama ve iş yükü kurtarma: Bir bölgenin kullanılamadığını algılamak, yeni korumalı alan oluşturma ve iş yükü işlemeyi sağlıklı bir bölgeye yönlendirmek ve kesintiye uğrayan işi yeniden başlatmayı belirlemek için uygulamanızı veya düzenleme katmanınızı yapılandırın.

  • Trafik yönlendirme: İstemciler uygulamanızın kullanıma açık olduğu bölgeye özgü uç noktalar üzerinden bağlanırsa, trafiği iyi durumdaki bir uç noktaya yönlendirmek için Azure Front Door veya Azure Traffic Manager gibi genel bir yük dengeleme hizmeti kullanın.

  • Veri çoğaltma ve kurtarma: Yük devretme sonrasında gereken tüm durumları bölgeler arası çoğaltmayı ve kurtarmayı destekleyen bir dış veri deposunda depolayın. Bir yedekleme depolama hizmeti birim verileri için bölgeler arası çoğaltma sağlıyorsa, bu hizmet çoğaltma ve yük devretme davranışını belirler. Azure Container Apps Korumalı Alanları, bölgeler arasında birim verilerini çoğaltmaz veya yük devri gerçekleştirmez.

Yedekleme ve geri yükleme

Korumalı alan belleğini veya yerel diski tek dayanıklı veri deponuz olarak kullanmayın. Bir sandbox askıya alındığında, yerel diski ve bellek modunda ise bellek durumu korunur. Kaynak korumalı alandan bağımsız olarak kalıcı anlık görüntüler de oluşturabilirsiniz. Askıya alınmış durum ve anlık görüntüler, bölgesel yalıtılmış alan grubuyla sınırlıdır ve bölgeler arası yedekleme değildir.

Tek bir sandbox’ın yaşam döngüsü sona erdikten sonra da korunması gereken veriler için bir sandbox birimi kullanın. Yedekleme depolama hizmeti ve yapılandırması, birim verilerinin yedekleme ve geri yükleme özelliklerini belirler. Yönettiğiniz dış veri depolarında, dayanıklılık ve kurtarma hedeflerinizi karşılamak için yedeklemeyi ve bölgeler arası kurtarmayı yapılandırmak sizin sorumluluğunuzdadır.

Yanlışlıkla silme işleminden veya bölge genelinde bir hatadan sonra korumalı alan dağıtımınızı yeniden oluşturmak için korumalı alan grubu yapılandırmanızı Bicep veya Terraform gibi kod olarak sürüm denetimli altyapı şablonlarında depolayın. Kaynak disk görüntülerinizi kurtarma gereksinimlerinizi karşılayan bir kayıt defterinde tutun.

Hizmet bakımına dayanıklılık

Microsoft düzenli olarak hizmet güncelleştirmeleri uygular ve başka bakımlar gerçekleştirir. Azure platformu bu etkinlikleri otomatik olarak işleyerek bakımın sizin için sorunsuz ve şeffaf olmasını sağlar. Bakım işlemleri sırasında kısa süreli kesintiler gözlemleyebilirsiniz. Bu kesintiler genellikle birkaç saniye sürer. İstemci uygulamalarının kısa süreli kesintilere karşı dayanıklı olmaları için geçici hataları işleyecek şekilde yapılandırıldığından emin olun.

Bakım, çalışmakta olan bir sandbox’ı etkilediğinde platform durumunu korur, onu sağlıklı işlem kapasitesine taşır ve otomatik olarak kaldığı yerden devam ettirir. Bellek modunu kullanan korumalı alanlar için platform, belleği ve yerel disk durumunu korur. Disk modunu kullanan korumalı alanlar için platform yalnızca yerel disk durumunu korur.

Hizmet düzeyi sözleşmesi

Azure Container Apps Korumalı Alanlar kullanılabilirlik hizmeti düzeyi sözleşmesi (SLA) sunmaz. Korumalı alan birimlerinizi destekleyen depolama hizmetleri ve çözümünüz tarafından kullanılan dış veri depoları ayrı SLA'lara sahip olabilir. Daha fazla bilgi için bkz. Çevrimiçi Hizmetler için Hizmet Düzeyi Sözleşmeleri.