Çekirdek geçişleri geçişte başarısız olur. Ne tasarımda, ne inşada, ne de testte: Hafta sonu eski sistem kapatıldığında yeni sistem açılır ve kimsenin bilmediği bir şeyi öğrenmek için iş Pazartesi günü açılır. Bu model, bir isme sahip olacak kadar yaygın, yani büyük patlama ve çekirdek değişimi görevlendiren çoğu yöneticinin bunu deneyimlemesini sağlayacak kadar yaygın.
Buradaki durum, büyük patlamanın bir seçim olduğu ve kötü bir seçim olduğudur. Alternatif mühendislikte iyi anlaşılmıştır ve sözleşmeyi imzalayan kişiler tarafından nadiren talep edilir. Eski sistemin önünde bir uyumluluk katmanı duruyor. Tüketiciler birer birer ona geçiyor. Yeni çekirdek, etki alanı etki alanı olarak onun arkasında görevi devralır. Veriler, tek bir gecelik yük olarak değil, günlük olarak mutabık kılınan bir akış halinde hareket eder. Her adımın çalıştırılmış, zamanlanmış ve sahip olunan bir geri alma işlemi vardır. Programın dramatik bir sonuç göstermesi daha yavaştır ve tamamlanma olasılığı çok daha yüksektir.
Büyük patlama neden başarısız oluyor?
Üç şey ters gider ve birlikte ters giderler.
Donma. Bir tarihte kesinti yapmak için, yeni sistemin sabit bir hedefi yakalayabilmesi için işletmenin eski sistemi değiştirmeyi haftalar veya aylar öncesinden bırakması gerekir. Ürün lansmanları bekleyin. Mevzuat değişiklikleri elle yamalanmıştır. Birikmiş iş büyür, tarih kayar, donma uzar ve kuruluş kendi çekirdeği etrafında çalışmayı öğrenir. Geçiş gerçekleştiğinde, yeni sistem eski sistemin artık mevcut olmayan bir versiyonunun yerini alır.
Prova edilmemiş geri dönüş. Geri alma planı bir belgedir. Pazartesi günü yeni sistemin arızalanması durumunda eski sistemin nasıl geri yükleneceğini anlatıyor. Hiçbir zaman çalıştırılmadı çünkü çalıştırmak, üretimdeki eski sistemin devre dışı bırakılması anlamına gelecektir. Pazartesi geldiğinde ve yeni sistem kimsenin öngörmediği bir şekilde başarısızlığa uğradığında ekip, geri alma işleminin işletmenin bekleyebileceğinden daha uzun sürdüğünü, kesintiden bu yana yazılan verilerin geri taşınamayacağını ve geri alma kararının bir sahibi olmadığını keşfeder. Böylece çalışmayan bir sisteme doğru ilerliyorlar çünkü geri dönmek daha kötü.
Bilinmeyen tüketiciler. On yıldır çalışan her çekirdek sistemin hiç kimsenin listelemediği tüketicileri vardır. Finans alanında bir tabloyu doğrudan okuyan bir elektronik tablo. Ayrılan bir yüklenicinin yazdığı toplu iş. Paylaşılan bir kimlik bilgisiyle kimlik doğrulaması yapan bir iş ortağı entegrasyonu. Düzenleyicinin aylık olarak aldığı bir rapor. Bağımlılık haritası belgelerden ve görüşmelerden oluşturuldu ve belgeler yanlıştı ve görüşülen kişiler bilmiyordu. Büyük patlama bu tüketicileri kırıldıkları anda keşfeder.
Geri alma planı hiçbir zaman çalıştırılmadı çünkü onu çalıştırmak eski sistemi devre dışı bırakmak anlamına gelecektir. Pazartesi geldiğinde ekip bunun ne anlama geldiğini keşfeder.
Alternatif desen
Desenin bir avuç bileşeni vardır ve her biri yukarıdaki hata modlarından birini ortadan kaldırır.
Eski çekirdeğin önüne bazen cephe adı verilen bir uyumluluk katmanı yerleştirilir. Eski sistemin mevcut sözleşmelerini, aynı arayüzleri, aynı dosya formatlarını, aynı mesaj şekillerini konuşur, böylece hiçbir tüketicinin onunla konuşmak için değişmesine gerek kalmaz. İlk gün çağrıları iletmek dışında hiçbir şey yapmaz. Bu, diğer her şeyin yapıldığı dikiştir.
Strangler tarzı değiştirme. Katmanın arkasında, her seferinde bir alan adı olmak üzere yeni çekirdek oluşturulur. Bir etki alanı hazır olduğunda katman, bu etki alanının trafiğini yeni uygulamaya yönlendirir ve diğer her şeyi eski uygulamaya yönlendirmeye devam eder. Eski sistem kapatılmamış; hiçbir şey ona bağlı olmayana kadar, alan bölge aç bırakılır. Sonra kimsenin umrunda olmayan bir günde emekliye ayrılır.
Aynı anda bir tüketici. Tüketiciler, riske göre seçilen bir sıraya göre bireysel olarak uyumluluk katmanına taşınır: ilk önce en az kritik olan, en iyi bilinen davranışa sahip olanlar, sahipleri binada olanlar. Her hareket anlaşılabilecek ve tersine çevrilebilecek kadar küçüktür. Bilinmeyen tüketiciler hareket ettikçe yüzeye çıkıyor çünkü eski sisteme doğrudan ulaşan trafik, tanım gereği henüz haritada yer almayan bir tüketiciden geliyor. Harita üretimde kendini güvenli bir şekilde tamamlıyor.
İkili çalışma ve uzlaşma. Her alan adı için yeni çekirdek, kararlaştırılan bir süre boyunca eski çekirdekle birlikte çalışır. Her ikisi de aynı girdileri alır. Çıktıları her gün kayıt kayıt karşılaştırılıyor. Mutabakat raporu, kimsenin belgelemediği davranışlar da dahil olmak üzere, yeni sistemin eski sistemin yaptığını yaptığının kanıtıdır. İkisinin farklı olduğu yerlerde fark araştırılır ve çoğunlukla eski sistemin hatalı olduğu ortaya çıkar.
Özellik bayrakları. Uyumluluk katmanındaki yönlendirme kararları dağıtımla değil yapılandırmayla kontrol edilir. Bayrak, bir tüketiciyi veya etki alanını yeni çekirdeğe taşır; aynı bayrak onu geri taşır. Sürüm ve geçiş birbirinden ayrıdır: Kod sürekli olarak gönderilir ve davranış, biri buna karar verdiğinde değişir.
Akış olarak veri geçişi. Veriler bir gecede hareket etmez. Bir değişiklik verisi yakalama beslemesi veya eşdeğer bir mekanizma, kayıtları eskiden yeniye sürekli olarak kopyalar, böylece yeni çekirdek her zaman güncele yakın olur. Herhangi bir alan adı için son senkronizasyon, saatlerce süren yükleme değil, dakikalarca deltadır. Etki alanı geri alınırsa akış tersine döner veya eski sistem ilk etapta yazmayı hiçbir zaman durdurmamıştır.
Tanımlanmış tetikleyicilerle prova edilmiş geri alma
Geri alma bir plan değil, bir prosedürdür. Aradaki fark, bir prosedürün yürütülmüş olmasıdır.
İster bir tüketicinin taşınması, ister bir etki alanının yönlendirilmesi, ister bir bileşenin kullanımdan kaldırılması olsun, her geçiş adımı, üretime benzer bir ortamda gerçekleştirilen, zamanlanan ve gerçek süre ile belgelenen bir geri alma işlemine sahiptir. Prodüksiyonda çalıştıracak kişi provada çalıştırmıştır. Prova geçene kadar adım atılmaz.
Tetikleyiciler adımdan önce tanımlanır. Geri alma tetikleyicisi, önceden kararlaştırılan ölçülebilir bir durumdur: belirli bir süre için bir eşiğin üzerinde bir hata oranı, kararlaştırılan bir sayının üzerinde bir mutabakat farkı, adlandırılmış bir iş sürecinin başarısız olması, üretilemeyen bir düzenleme raporu. Bir tetikleyici etkinleştiğinde geri alma işlemi çalıştırılır. Toplantı yok. Toplantı, tetikleyici karara varıldığında gerçekleşti ve aksi takdirde karar vermek için uyandırılması gerekecek kişileri içeriyordu.
Kararın belli bir sahibi var. Bir kişi her adımı geri alma yetkisine sahiptir, adım atılırken oradadır ve kesilen şeyi inşa eden kişi değildir.
Kabul olarak gözlemlenebilirlik ve mutabakat
Taşınan bir tüketici veya alan adı için kabul kriteri, bir imza toplantısı değildir. Kararlaştırılan dönem için eski ile yeni arasında sıfır fark olduğunu gösteren bir mutabakat raporu ve yeni sistemin gerçek yük altında beklenen sınırlar içerisinde davrandığını gösteren gözlemlenebilirlik görünümüdür.
Mutabakat, çıktıları iş için önemli olan düzeyde karşılaştırır: bakiyeler, randevular, politikalar, faturalar, kayıt sisteminin özü ne olursa olsun. Günlük olarak çalışır, alan adını anlayan biri tarafından incelenir ve her farklılık ya açıklanır, kabul edilir ya da düzeltilir. Rapor saklanır çünkü denetçi bunu ister.
Gözlemlenebilirlik, onu okuyacak operatörlerle birlikte tasarlanmıştır. Yapılandırılmış günlükler, ölçümler ve izler, bir şeyler ters gittiğinde gerçekte sordukları soruların yanıtını verir: ne değişti, kim etkilendi, ne zamandan beri ve durum daha da kötüye gidiyor mu? Uyarılar, eylem gerektiren durumlarda tetiklenir, aksi takdirde sessiz kalır. Kimsenin dikkate almadığı bir uyarı gürültüdür ve gürültü, önemli olan uyarıyı gizler.
Bunlar hep birlikte, büyük patlamanın yönetim kurulundan güven almasını istediği güvenin yerini alır. Bir yöneticiye mutabakat ve kontrol panelleri gösterilebilir ve bir sonraki adımın güvenli olup olmadığına güvencelerden ziyade kanıtlara dayanarak karar verilebilir.
Göç etrafındaki organizasyon
Eğer etrafındaki organizasyon hala büyük bir patlama yaklaşıyormuş gibi davranıyorsa mühendislik modeli başarısız olur.
Bir değişim panosu. Teknoloji, operasyonlar, etkilenen iş birimleri ve uyumluluk temsilcilerinden oluşan daimi bir grup, sabit bir tempoda toplanır ve her geçiş adımını kanıtlara göre onaylar: prova günlüğü, mutabakat raporu, tetikleyici tanımları, adı geçen geri alma sahibi. Küçüktür ve karar verir. Bu bir durum toplantısı değil.
Pencerelerin dondurulması müzakere edildi, empoze edilmedi. Bazı adımların hala sessiz bir döneme ihtiyacı vardır: işletmenin seçtiği bir zamanda, belirli bir alan için kısa bir süre. İş birimi pencereyi adlandırır ve geçişin donduğunu bildiren ve işletmenin bunun etrafında çalıştığı yerine geçiş pencereye sığar. Müzakere edilen bir süre onurlandırılır. Dayatılan bir şey atlatılır.
Eğitim sonradan akla gelen bir düşünce değil, bir adımdır. Tezgahta, koğuşta, ticaret masasında çekirdeği çalıştıran insanlar, kullandıkları tüketiciyle birlikte hareket ediyor. Eski sistem hâlâ kullanılabilir durumdayken, tüketicileri taşınmadan önce yeni davranış konusunda eğitiliyorlar ve kullandıkları runbook projede yer almayan biri tarafından test ediliyor.
Düzenlenmiş bağlamlar
Bir hastane ağında veya bankada geçiş, düzenlenmiş bir değişikliktir ve yukarıdaki model aynı zamanda yükümlülüklerin nasıl yerine getirildiğini de gösterir.
HIPAA kapsamında, Amerika Birleşik Devletleri'ndeki bir hastane ağı, korunan sağlık bilgilerini yönetir ve güvenlik kuralı, erişim kontrolleri, denetim kontrolleri ve bütünlük kontrolleri de dahil olmak üzere idari, fiziksel ve teknik önlemlerin alınmasını gerektirir. Bir göç üçünü de etkiliyor. İkili çalışma, korunan sağlık bilgilerinin bir süre boyunca iki sistemde mevcut olduğu ve her ikisinin de güvenlik önlemlerini karşılaması gerektiği anlamına gelir. Mutabakat raporu bir bütünlük kontrolüdür. Uyumluluk katmanındaki erişim günlükleri bir denetim kontrolüdür. İlgili satıcılarla yapılan iş ortaklığı anlaşmaları geçiş dönemini açıkça kapsamalıdır.
İsviçre'de FINMA'nın denetlenen kurumlara yönelik beklentileri arasında dış kaynak kullanımı, operasyonel esneklik ve bilgi ve iletişim teknolojisi riskinin yönetimine ilişkin gereklilikler yer alıyor. Genel olarak ifade etmek gerekirse, denetlenen bir bankanın, dışarıdan temin edilen önemli işlevler üzerindeki kontrolü elinde tutması, kritik işlevlerini ve bunların kesintiye uğramasına yönelik toleransları belirlemesi ve denetim otoritesine, çekirdek sistemde yapılan önemli bir değişikliğin yönetildiğini, test edildiğini ve geri döndürülebilir olduğunu gösterebilmesi beklenir. Prova edilmiş geri dönüş ve günlük uzlaşma yoluyla her seferinde bir tüketiciyi hareket ettiren bir geçiş, bu kanıtları bir yan ürün olarak üretir. Büyük patlama bir vaat doğurur.
Düzenlenen her bağlamda denetim izleri isteğe bağlı değildir. Uyumluluk katmanındaki her yönlendirme değişikliği, ters çevrilen her bayrak, her mutabakat sonucu ve her geri alma, kim, ne zaman ve neden ile birlikte günlüğe kaydedilir ve günlük, düzenleyicinin ihtiyaç duyduğu süre boyunca saklanır. Kodu dağıtan işlem hattı kendi izini üretir: ne değişti, onu kim inceledi, hangi testleri geçti. Uyumluluk, sistemin yanında yer alan bir elektronik tablo olmaktan ziyade sistemin bir özelliği haline gelir.
Bunun için nasıl sözleşme yapılır?
Sözleşme davranışı şekillendirir. Tek bir hayata geçme tarihi ve ona eklenen bir ödeme olan bir sözleşme, yöntem beyanı ne derse desin, büyük bir patlama yaratır çünkü satıcıya tarih için ödeme yapılır.
Tüketici sözleşmesi taşındı. Bağımlılık haritasında tüketicileri ve etki alanlarını tanımlayın, bir sipariş üzerinde anlaşın ve her birine bir kilometre taşı ekleyin: Tüketici uyumluluk katmanındadır, mutabakat kararlaştırılan dönem için sıfır fark göstermiştir, geri alma provası yapılmıştır ve operatörler runbook'u çalıştırmıştır. Ödeme aşamayı takip eder. Tarih bir tahmindir, bir dönem değil.
| Sözleşme süresi | Büyük patlama şekli | Artımlı şekil |
|---|---|---|
| Kilometre taşı | Canlı yayın tarihi | Her tüketici veya alan adı taşındı ve mutabakata varıldı |
| Kabul | İmza toplantısı | Kararlaştırılan bir süre için sıfır farkla mutabakat |
| Geri alma | Bir belge | Günlük içeren, adım başına prova edilmiş, zamanlanmış bir prosedür |
| Dondur | Programın dayattığı | İş birimiyle adım başına müzakere edilir |
| Eski emeklilik | Kesinti tarihinde | Hiçbir şey ona bağlı olmadığında |
| Çıkış | Canlı yayına geçtikten sonra devir teslim | Ekibiniz satıcı olmadan serbest bırakıldı ve geri alındı |
Yapılan işin tanımını sözleşmeye yazın: testler, gözlemlenebilirlik, belgeleme ve her adım için prova günlüğü. Sözleşmeye baştan çıkış yazın: ilk haftadan itibaren depolarınızdaki kaynağı ve ekibinizin son ödemeden önce satıcı olmadan bir olayı serbest bırakmasını, geri almasını ve çözmesini gerektiren bir kapı.
Zaten büyük bir patlamaya dönüşeceğine dair işaretler
İyi hazırlanmış bir sözleşme tek başına sürüklenmeyi durdurmaz. Program baskısı altında büyük patlamaya doğru adım adım ilerlemeye başlayan programlar ve işaretler aylar öncesinden görülebiliyor.
"Basit" tüketiciler için uyumluluk katmanı atlanıyor ve doğrudan yeni çekirdeğe taşınan tüketicilerin sayısı artıyor. İkili yayın süresi tarihe sığacak şekilde kısaltılıyor. Uzlaşma farklılıkları açıklama yapılmadan kabul ediliyor çünkü bunların araştırılması zaman alıyor. Geri alma provaları durduruldu ve kaydedilen son prova üç adım öncesine ait. Müzakere edilmek yerine dondurma kararı verildi. Değişim kurulu her şeyin onaylandığı bir durum toplantısına dönüştü. Bir pano kağıdında, yanında "canlı yayına geç" yazan tek bir tarih belirdi. Birisi zamandan tasarruf etmek için geri kalan tüketicileri bir araya getirmeyi önerdi.
Bunlardan herhangi biri bir konuşmadır. Üçü bir arada, farklı bir isme sahip bir büyük patlamadır ve yönetim kurulu bir sonraki adımdan önce prova kayıtlarını istemelidir.
Pazartesi günü ne yapmalı
- Bağımlılık haritasını isteyin ve nasıl oluşturulduğunu sorun. Yalnızca belgelerden ve görüşmelerden geliyorsa, hiç listelenmemiş tüketicileri bulan trafik analizini yaptırın.
- En son geçiş adımı için geri alma prova günlüğünü isteyin. Hiçbiri yoksa, bir sonraki adımı olana kadar durdurun.
- En son taşınan alan adına ilişkin mutabakat raporunu ve bu raporu günlük olarak inceleyen kişinin adını isteyin.
- Sözleşmeyi okuyun. Ödeme, taşınan tüketiciler yerine bir tarihe bağlıysa tarih plan haline gelmeden önce yeniden pazarlık yapın.
- Delillere karşı atılan her adımı onaylama veya durdurma yetkisine sahip olan değişim kurulunu toplayın ve katılamayan herkesi bu kuruldan çıkarın.
- Bir sonraki adım için geri alma tetikleyicilerini sayılarla birlikte yazın ve kararı elinde bulunduran kişinin adını verin.
Kaynaklar ve ek okumalar
Yazının konusuyla ilgili birincil kaynaklar. Bu kaynaklar Altuon’u desteklemez veya ticari iddialarını doğrulamaz.