Prototipten Üretim Yazılımına
· 8 dk okuma
Umut vadeden bir demoyu insanların güvenebileceği bir ürüne dönüştüren mühendislik işi.
Bir prototip farklı bir soruyu yanıtlar
Bir prototip bir fikrin işe yarayıp yaramayacağını ve deneyimin peşinden gitmeye değip değmeyeceğini sorar. Üretim yazılımı fikrin gerçek kullanıcılar, gerçek veri, değişen gereksinimler ve uygunsuz bir saatte nöbetçi bir mühendis için çalışmaya devam edip edemeyeceğini sorar. Bu hedefleri karıştırmak ya keşfi yavaşlatır ya da gizli risk yayınlar.
Prototipten öğrenmeyi koruyun ama her kısayolu açıkça gözden geçirin. Sabit kodlanmış varsayımları, paylaşılan kimlik bilgilerini, manuel adımları, eksik sahipliği, sınırsız maliyetleri ve kurtarılamayan veriyi belirleyin. Prototip kanıttır; otomatik olarak ilk üretim mimarisi değildir.
İşletme sınırını tanımlayın
Ürünü kimin kullandığını, hangi veriyi işlediğini, hangi eylemlerin geri alınamaz olduğunu ve hangi dış hizmetlere bağımlı olduğunu yazın. Kabul edilebilir gecikmeyi, erişilebilirliği, destek beklentilerini, saklamayı ve kurtarmayı tanımlayın. Bu kısıtlar teknolojileri popülerliğe göre seçmekten daha etkili mimari yönlendirir.
İlk üretim sistemini kısıtların izin verdiği kadar basit tutun. Net bir veri modeline sahip modüler bir monolit sıkça erken dağıtılmış hizmetlerden daha kolay işletilir. Dağıtım ölçülmüş bir ölçekleme, sahiplik, izolasyon veya dağıtım sorununu çözmelidir.
- Ortamları ve kimlik bilgilerini ayırın
- Tekrarlanabilir deploy'ları otomatikleştirin
- Yedekler oluşturun ve geri yüklemeyi test edin
- Gecikme, hata ve üçüncü taraf maliyeti için bütçeler belirleyin
Güvensiz durumları zorlaştırın
Her güven sınırında veriyi doğrulayın, yetkilendirmeyi sunucuda uygulayın, sırları koruyun ve toplanan kişisel bilgiyi en aza indirin. En az yetkili hizmet kimlikleri kullanın ve kimlik bilgilerini uygulamayı yeniden oluşturmadan döndürün. Güvenlik, normal geliştirme yolu aynı zamanda güvenli yol olduğunda en güçlüdür.
İdari araçlar müşteri arayüzleriyle aynı özeni hak eder. Hassas eylemler açık izinler, denetim kayıtları, uygun yerde onay ve sınırlı toplu işlemler ister. Birçok zararlı olay yanlış kapsamla kullanılan meşru yetenekler üzerinden gerçekleşir.
Bir teslimat sistemi kurun
Bir üretim deposu hızlı geri bildirim ister: biçimlendirme, statik analiz, tip kontrolü, kritik davranış etrafında testler ve yeniden üretilebilir bir derleme. Deploy'lar küçük, gözlemlenebilir ve geri alınabilir olmalıdır. Özellik bayrakları sahiplik ve kaldırma tarihlerine sahip olduklarında yayını maruz bırakmadan ayırabilir.
Lansmandan önce önemli kullanıcı sonuçlarını enstrümante edin. Yayın tanımlayıcıları veya istek bağlamı olmadan hata raporlama eyleme geçilmesi zor raporlar üretir. Teknik sağlığı ürün sinyalleriyle birleştirin ki ekip başarılı bir deploy'u başarılı bir deneyimden ayırt edebilsin.
Hazırlık süreklidir
Yazılımın kalıcı olarak üretime hazır olduğu tek bir an yoktur. Trafik büyür, entegrasyonlar değişir, ekipler yeniden örgütlenir ve varsayımlar sona erer. Sistemi iyileştirmek için olayları, destek isteklerini, performans verisini ve ürün davranışını kullanın.
Demodan dayanıklı ürüne geçiş büyük ölçüde açık sorumluluğun eklenmesidir: veri, başarısızlık, maliyet, güvenlik, yayınlar ve kullanıcılar için. Bu sorumluluk küçük bir yazılım parçasının güvenilir hale gelmesini sağlar.
16 Ocak 2024 tarihinde Berktuğ Berke Ateş tarafından yayımlandı.