Öğrenme yolu 04Ders 5 / 10

Bulut yerel ortam için yazılım tasarlayın

Tekrarlanabilir altyapıyı, değiştirilebilir süreçleri, kalıcı durumu ve gözlenebilir davranışı bir araya getirin. Bulut yerel tasarımı, konteyner paketlemesinin ötesinde değerlendirin.

Uygulayıcı12 minİncelendi

Yayımlayan Nasıl yazıyoruz?

Neler öğreneceksiniz?

  • Konteyner paketlemesini bulut yerel davranıştan ayırt edin.
  • Oluşturulan hizmette durum, yeniden deneme ve değiştirme risklerini belirleyin.
  • Ajanların ve insanların doğrulayabileceği bir platform sözleşmesi tanımlayın.

Gereken davranışı tanımlayın

Bulut yerel uygulamalar, genel, özel veya hibrit ortamlarda tekrarlanabilir geliştirmeyi ve işletimi destekler. CNCF, değişirken yönetilebilir, gözlenebilir ve dayanıklı kalan sistemleri vurgular. Konteynerler ve orkestrasyon bu yaklaşımı destekleyebilir. Tüm bu özellikleri tek başlarına sağlamazlar.

Kurgusal bir rapor hizmetiyle başlayın. Yapay zekâ aracı bir endpoint, worker ve konteyner imajı oluşturur. Gösterimde doğru PDF üretilir. Üretimden önce ekip başka bir soruyu yanıtlamalıdır: platform, iş sırasında worker’ı yenisiyle değiştirirse ne olur?

Bu, altyapı sorusu olduğu kadar uygulama tasarımı sorusudur. Yeniden başlatma, süreci geri getirirken tamamlanmamış işini kaybedebilir.

Süreci kalıcı durumdan ayırın

Prototip, sıradaki işleri ve tamamlanan raporları konteyner diskinde tutar. Konteynerin değiştirilmesi her ikisini de silebilir. Daha fazla worker eklemek, isteği hangi worker’ın aldığına bağlı olarak farklı yanıtlar da üretebilir.

Yenilenen tasarım, kalıcı bir iş deposu ve onaylı nesne deposu kullanır. İstek, bir iş kimliği kaydeder. Worker işi üstlenir, sonucunu oluşturur ve sonuç konumunu kaydeder. Kullanıcı raporu indirirken erişim kontrolleri geçerliliğini korur.

KonuRapor hizmeti için soru
DurumSüreç değiştirildiğinde hangi kayıtlar korunmalı?
YapılandırmaAynı artefakt her ortamda nasıl çalışır?
KimlikHangi hizmet kimliği işi okuyup sonucunu yazabilir?
SağlıkWorker iş kabul edebiliyor mu ve bu işi tamamlayabiliyor mu?
KapanmaWorker durduğunda üstlendiği işe ne olur?
Kapasiteİlk hangi sınıra ulaşılır: worker’lar, veri tabanı, depolama veya başka bir hizmet?

Gizli bilgileri imajın dışında tutun. Bunları onaylı gizli bilgi sistemiyle sağlayın. Hangi yapılandırma değişikliklerinin yeni yayın veya süreç yeniden başlatması gerektirdiğini kaydedin.

Worker eklemeden önce yeniden denemeleri tasarlayın

Worker’ın PDF’yi kaydettikten sonra, işi onaylamadan durduğunu varsayın. Kuyruk işi tekrar iletir. İkinci girişim, müşteriden ikinci kez ücret almamalı veya çelişen tamamlanma mesajları göndermemelidir.

Uygun olduğunda idempotent işlem kullanın. Aynı mantıksal isteğin tekrarlanması, amaçlanan etkiyi korumalıdır. Sabit bir istek kimliği tanımlayın, sonucu kalıcı olarak kaydedin ve her hata noktasında ne olduğunu kontrol edin. AWS, bu tekniği güvenli yeniden deneme rehberinde açıklar.

Yeniden denemelerin de sınırları olmalıdır. Zaman aşımı, yeniden deneme sınırı ve eşzamanlı tekrar isteklerini önleyen gecikme kullanın. Başarısız işi sonsuza kadar yeniden denemek yerine, inceleme için saklayın.

İstenen durumu incelenebilir kılın

Bildirimsel yapılandırma, amaçlanan dağıtımı belirtir. Denetleyici bu durumu korumak için çalışır. Örneğin Kubernetes Deployment, uygulama kopyalarını ve kontrollü güncellemeleri yönetir. Uygulama, değiştirilme durumunu yine de doğru ele almalıdır.

Altyapı ve uygulama yapılandırmasını sürümleyin. Değişiklikleri normal teslimat sürecinde inceleyin. Gerçek iş tamamlanmasını, kuyrukta bekleme süresini, hataları ve bağımlılık sınırlarını gözlemleyin. Çalışan bir süreç yine de rapor üretemeyebilir.

Ekibin işletebileceği bir platform seçin

Bulut yerel yaklaşım, her uygulamanın mikroservislere dönüşmesini gerektirmez. Yönetilen çalışma ortamındaki modüler uygulama, gereksinimlerini karşılayabilir. Daha fazla hizmet, daha fazla arayüz, dağıtım kararı ve işletim işi getirir.

Geliştirme ajanına gerçek platform sözleşmesini verin: desteklenen çalışma ortamı, kimlik yöntemi, veri hizmetleri, dağıtım kuralları ve gereken kanıt. Başarılı isteklerin yanı sıra kesinti ve değiştirme davranışını da test edin. Kullanılabilirlik ve hata sınırları ile devam edin.

Alıştırmayı yapın

Kurgusal bir rapor hizmeti, işleri ve tamamlanan dosyaları konteyner diskinde saklıyor. İstekten işe, dosyaya ve indirmeye uzanan akışı çizin. Kalıcı durumu işaretleyin. Worker, dosyayı yazdıktan sonra ancak işi onaylamadan önce durursa ne olacağını tanımlayın.

Çalışma sayfasını indir (Markdown)

Anladığınızı kontrol edin

Bir platform, arıza sonrasında rapor worker'ını yenisiyle değiştiriyor. Yeniden denemeyi ne güvenli kılar?

Kaynaklar ve ek okumalar

Taiga'dan ilgili okumalar