Aktif aktif nedir ?

Ceren

New member
Aktif Aktif Nedir? İki Taraf da Çalışıyorsa İşler Neden Daha Kolay Değil?

Aktif Aktif Nedir? Önce Şu “İkisi de Çalışıyor” Meselesini Çözelim

Bir sistem yöneticisine “Aktif aktif nedir?” diye sorduğunuzda, alacağınız ilk cevap muhtemelen “İki sistem de aynı anda çalışıyor” olacaktır. Teknik olarak doğru. Fakat bu cevap, “Ben iki bilgisayarı da açtım, demek ki aktif aktif oldum” seviyesinde kalırsa işin en eğlenceli kısmını kaçırmış oluruz.

Aktif-aktif, özellikle bilişim, ağ, sunucu, veri merkezi, VPN, uygulama ve yüksek erişilebilirlik mimarilerinde kullanılan bir yapıdır. Temel fikir oldukça basittir: Birden fazla sistem veya düğüm aynı anda aktif şekilde hizmet verir. Yani biri çalışırken diğeri kenarda bekleyip “Bir gün bana da sıra gelir” demez. İkisi de yük alır, hizmet üretir ve sistemin toplam kapasitesine katkıda bulunur.

Bunun karşısında aktif-pasif yapı vardır. Aktif-pasif modelde genellikle bir sistem işi yürütür, diğeri yedekte bekler. Ana sistem arızalanırsa yedek devreye girer. Aktif-aktif modelde ise iki taraf da normal çalışma sırasında görev yapar.

Buradaki kritik nokta “iki cihazın açık olması” değil, iki tarafın gerçekten hizmet üretmesi ve gerektiğinde birbirinin yükünü karşılayabilmesidir.

Aktif-Aktif Mantığını Günlük Hayattan Düşünürsek

Konuyu anlamanın en kolay yolu teknik terimleri bir kenara bırakmak.

Bir restoranda tek garson olduğunu düşünün. Müşteriler geliyor, garson sipariş alıyor, mutfağa iletiyor, hesap getiriyor ve arada bir de “Abi beş dakika” diyor. Garson yorulduğunda bütün sistem yavaşlıyor.

Şimdi iki garson olduğunu düşünelim. İkisi de çalışıyor, müşterileri paylaşıyor ve yoğunluk olduğunda birbirlerinin yükünü azaltıyor. İşte kabaca aktif-aktif yaklaşımın mantığı budur.

Aktif-pasif model ise biraz farklıdır: Bir garson çalışır, diğeri sandalyede oturur. Birinci garson fenalaşınca ikinci garson “Nihayet vardiyam başladı” diyerek devreye girer.

Bu örnek elbette gerçek altyapının bütün karmaşıklığını anlatmaz ama temel farkı gayet güzel gösterir.

Özellikle yük dengeleme kullanılan yapılarda trafik birden fazla aktif sisteme dağıtılabilir. Böylece tek bir makineye bütün yükün binmesi önlenir. Ağ tarafında da iki bağlantının aktif biçimde kullanıldığı aktif-aktif yapı, kapasiteyi daha verimli değerlendirmek için tercih edilebilir.

Peki Aktif-Aktif Neden Bu Kadar Önemli?

Çünkü modern sistemlerde “çalışıyor” demek artık yeterli değil.

Bir internet sitesi düşünün. Kullanıcılar gece gündüz siteye giriyor, ödeme yapıyor, dosya indiriyor, hesaplarına erişiyor. Sunucu çöktüğünde “Arkadaşlar bilgisayarı yeniden başlatıyoruz, biraz bekleyin” deme lüksü her zaman yok.

Burada yüksek erişilebilirlik devreye giriyor.

Aktif-aktif mimarinin en önemli avantajlarından biri, tek bir düğüme veya sunucuya bağımlılığı azaltmasıdır. Bir düğüm arızalanırsa diğer aktif düğüm hizmet vermeye devam edebilir. Modern API altyapılarında da birden fazla aktif node kullanılarak tek hata noktasının ortadan kaldırılması hedeflenebilir.

Üstelik sadece arıza durumunda avantaj sağlamaz.

İki sistem de normal zamanda çalıştığı için kaynaklar daha verimli kullanılabilir. Yani ikinci sunucu bütün gün kahvesini içip ilk sunucunun emekliliğini beklemek zorunda kalmaz.

Aktif-Aktif ile Aktif-Pasif Arasındaki Temel Fark

Burada küçük bir karşılaştırma yapmak oldukça açıklayıcı:

Aktif-pasif yapıda:

- Birincil sistem normal hizmeti verir.

- İkinci sistem çoğunlukla bekleme durumundadır.

- Birinci sistem arızalanırsa ikinci sistem devreye alınır.

- Amaç özellikle süreklilik ve yedekliliktir.

Aktif-aktif yapıda:

- Birden fazla sistem aynı anda hizmet verir.

- Trafik veya işlem yükü sistemler arasında dağıtılabilir.

- Sistemlerden biri devre dışı kalırsa diğerleri hizmet vermeye devam edebilir.

- Hem kapasite hem de erişilebilirlik açısından avantaj sağlanabilir.

Fakat burada önemli bir ayrıntı var: Aktif-aktif, otomatik olarak “daha iyi” anlamına gelmez.

Çünkü her teknolojik problemin çözümü iki tane sunucu koymak değildir. Keşke öyle olsaydı. Sistem yöneticileri de cuma akşamlarını biraz daha huzurlu geçirirdi.

İki Sistem Aynı Anda Çalışıyorsa Veri Nasıl Yönetiliyor?

İşin asıl zor kısmı burada başlıyor.

Diyelim ki iki uygulama sunucumuz var ve ikisi de aynı anda kullanıcıların isteklerini karşılıyor. Bir kullanıcı birinci sunucuya gidip hesabındaki bilgiyi değiştiriyor. Ardından başka bir istek ikinci sunucuya yönlendiriliyor.

İkinci sunucu güncel bilgiyi bilmiyorsa ne olacak?

İşte aktif-aktif mimarinin ciddi mühendislik gerektiren tarafı burada ortaya çıkıyor. Sistemlerin yalnızca “ayakta” olması yetmez; uygulama durumu, veriler, oturumlar ve çeşitli servisler arasında tutarlılık sağlanmalıdır.

Özellikle veritabanı tarafında veri senkronizasyonu, çakışmalar ve tutarlılık gibi konular dikkatle tasarlanmalıdır. İki veri merkezli aktif-aktif yapılarda uygulama, veritabanı ve altyapı katmanlarının uyumlu biçimde çalışması gerekir.

Yani aktif-aktif biraz şu anlama gelir:

“İki tane sunucu alalım.”

Değil.

Daha doğrusu:

“İki ayrı çalışma ortamını aynı sistemin parçaları gibi güvenilir şekilde nasıl çalıştıracağız?”

Asıl soru budur.

Kadın-Erkek Yaklaşımı Meselesine Küçük Bir Forum Parantezi

Teknik konular anlatılırken sıkça “Erkekler şöyle düşünür, kadınlar böyle düşünür” tarzında klişelere rastlıyoruz. Gerçekte teknoloji ekipleri bundan çok daha renkli.

Örneğin Ahmet isimli bir sistem yöneticisi, sorun çıktığında doğrudan loglara bakıp “Hangi servis patladı?” diye başlayabilir. Çözüm odaklıdır, hızlıca seçenekleri çıkarır ve mümkün olan en kısa yoldan sistemi ayağa kaldırmaya çalışır.

Ayşe ise aynı durumda “Tamam ama bu değişiklik kullanıcı deneyimini nasıl etkileyecek?” diye sorabilir. Ekibin iletişimini, müşterinin yaşayacağı problemi ve değişikliğin başka sistemlere etkisini değerlendirebilir.

Bir başka ekipte roller tam tersine dönebilir.

Mehmet, kullanıcıların yaşayacağı problemi önce düşünen son derece empatik bir ürün yöneticisi olabilir. Zeynep ise doğrudan mimari diyagramı açıp “Burada tek hata noktası var, bunu ortadan kaldırmamız gerekiyor” diyebilir.

Yani mesele kadınların empatik, erkeklerin stratejik olması değil. İyi ekipler farklı düşünme biçimlerini bir araya getirebildikleri için başarılı olur.

Aktif-aktif mimariler de aslında bu çeşitliliğe benzer. Bir taraf kapasiteyi, diğer taraf sürekliliği, başka biri veri tutarlılığını, bir başkası kullanıcı deneyimini düşünür.

Tek bir bakış açısıyla karmaşık sistem yönetmek oldukça risklidir.

Aktif-Aktif Sistem Nerelerde Kullanılır?

Aktif-aktif mimariye farklı teknoloji alanlarında rastlamak mümkündür.

Örneğin:

- Sunucu kümelerinde

- Uygulama altyapılarında

- API gateway sistemlerinde

- VPN altyapılarında

- Ağ bağlantılarında

- Veri merkezi mimarilerinde

- Yük dengeleme çözümlerinde

- Bulut altyapılarında

- Yüksek erişilebilirlik gerektiren kurumsal uygulamalarda

VPN tarafında da aktif-aktif yaklaşım kullanılabilir. İki bağımsız VPN bağlantısının oluşturulduğu yapılarda bağlantılardan biri başarısız olduğunda diğer bağlantının hizmeti sürdürmesi hedeflenebilir.

Ağ bağlantılarında ise aktif-aktif kullanım, birden fazla hattın aynı anda değerlendirilerek trafiğin dağıtılmasını sağlayabilir. Bazı load balance çözümlerinde iki bağlantının aktif biçimde kullanılması toplam kapasiteden yararlanmayı amaçlar.

Aktif-Aktif Yapının Avantajları Nelerdir?

İlk avantaj yük dağılımıdır.

Bütün iş tek sunucunun omuzlarında değildir. İstekler uygun şekilde dağıtılabiliyorsa kaynaklardan daha dengeli yararlanılabilir.

İkinci avantaj yüksek erişilebilirliktir.

Bir sistem arızalandığında diğer aktif sistem hizmeti sürdürebilir. Elbette bunun gerçekleşebilmesi için failover mekanizmasının, sağlık kontrollerinin ve trafik yönlendirmesinin doğru tasarlanmış olması gerekir.

Üçüncü avantaj kaynak kullanımının iyileştirilmesidir.

Aktif-pasif yapıda yedek sistemin normal zamanda kapasitesi büyük ölçüde kullanılmayabilir. Aktif-aktif yapıda ise bu kapasite günlük operasyonun parçası olabilir.

Dördüncü avantaj ölçeklenebilirliktir.

İhtiyaca göre sisteme yeni düğümler eklenebilen mimarilerde yükün birden fazla kaynağa dağıtılması daha kolay hale gelebilir.

Ama bütün bunların yanında ciddi bir maliyet ve yönetim yükü de vardır.

Aktif-Aktif Yapının Dezavantajları Var mı? Hem de Nasıl!

Aktif-aktif kulağa ilk bakışta “İki tane koy, sorun çözülsün” şeklinde geliyor olabilir.

Gerçekte ise iki kat sistem, iki kat sorumluluk anlamına gelebilir.

İki sunucuyu aynı sürümde tutmak gerekir.

İki ortamın yapılandırmalarının uyumlu olması gerekir.

Verilerin doğru şekilde paylaşılması veya senkronize edilmesi gerekir.

Bir sistemde yapılan değişikliğin diğerinde problem oluşturmaması gerekir.

İzleme ve alarm sistemlerinin iki tarafı da takip etmesi gerekir.

Üstelik arıza senaryolarının önceden test edilmesi gerekir.

Çünkü en kötü zaman, sistemin gerçekten çöktüğü andır. O sırada “Failover çalışıyor mu acaba?” diye merak etmek, paraşütü uçaktan atladıktan sonra kontrol etmeye benzer.

Aktif-aktif mimarinin kendisi de karmaşıklık yaratabilir. Bu nedenle gerçekten ihtiyaç olmayan küçük sistemlerde sırf havalı görünüyor diye aktif-aktif yapı kurmak mantıklı olmayabilir.

“İki Sunucu Var, Demek ki Aktif-Aktif” Yanılgısı

Forumlarda en sık karşılaşılabilecek yanlış anlaşılmalardan biri bu olabilir.

İki sunucunuzun bulunması onları aktif-aktif yapmaz.

Bir sunucu çalışıyor, diğer sunucu yalnızca bekliyor olabilir. Bu durumda yapı aktif-pasif olabilir.

Aktif-aktif diyebilmek için her iki tarafın da tasarım gereği aynı anda hizmet üretmesi gerekir.

Teknik sözlüklerde active-active terimi de iki sistem veya bağlantının aynı anda çalıştığı, özellikle bilgisayar sistemlerinde eşzamanlı işletimi ifade eden bir yapı olarak açıklanıyor.

Dolayısıyla burada “kaç tane cihaz var?” sorusundan daha önemli olan “cihazlar nasıl çalışıyor?” sorusudur.

Gerçek Hayattan Bir Senaryo: E-Ticaret Sitesi

Bir alışveriş sitesinin yoğun kampanya döneminde olduğunu düşünelim.

Normal bir günde 10.000 kullanıcı sisteme bağlanıyor. Kampanya başladığında sayı bir anda 100.000'e çıkıyor.

Tek sunuculu yapı bu yükü karşılamakta zorlanabilir.

Aktif-aktif bir mimaride ise istekler birden fazla uygulama sunucusuna dağıtılabilir. Sunuculardan biri sorun yaşarsa, uygun şekilde tasarlanmış sistem diğer sunucular üzerinden hizmeti sürdürebilir.

Burada sadece “sunucu sayısını artırmak” yeterli değildir.

Ödeme servisi, veritabanı, oturum yönetimi, önbellek, dosya depolama ve yük dengeleme gibi bileşenlerin de mimarinin geri kalanıyla uyumlu olması gerekir.

Yani vitrinde iki bilgisayar görmek kolaydır.

Arka tarafta o iki bilgisayarın gerçekten aynı orkestrada çalmasını sağlamak ise mühendisliktir.

Peki Bir Sistem Yöneticisi Aktif-Aktif Tasarlarken Neleri Sormalı?

Bence konuya yaklaşmanın en güzel yolu “Kaç sunucu alalım?” diye başlamak yerine doğru soruları sormaktır.

Şunlar sorgulanabilir:

Bir sistem tamamen devre dışı kalırsa hizmet devam edecek mi?

İki sistem aynı anda yük altındayken performans nasıl değişecek?

Veriler arasında tutarsızlık oluşursa bunu nasıl fark edeceğiz?

Trafiği kim dağıtacak?

Bir düğümün bozulduğunu kim, ne kadar sürede anlayacak?

Bakım sırasında sistemin tamamını durdurmak zorunda kalacak mıyız?

Felaket senaryosunu gerçekten test ettik mi, yoksa sadece dokümana “test edildi” mi yazdık?

Son soru özellikle önemli.

Çünkü yüksek erişilebilirlik yalnızca mimari diyagramda güzel görünmekle elde edilmez. Gerçek hayatta arıza simülasyonları, izleme, otomatik geçiş ve düzenli testlerle doğrulanması gerekir.

Aktif-Aktif Sadece Teknoloji Değil, Bir Tasarım Felsefesidir

Aktif-aktif yaklaşımın bana göre en ilginç tarafı teknik ayrıntısından çok düşünce biçimidir.

“Tek bir şeye güvenme.”

“Yedek kapasiteyi boşta bekletmek zorunda değilsin.”

“Arıza ihtimalini baştan hesaba kat.”

“Bir parçanın bozulması bütün sistemi durdurmasın.”

Bu düşünce yalnızca bilgisayar sistemlerinde değil, ekip yönetiminde bile karşılık bulabilir.

Bir şirkette bütün bilgi tek kişinin kafasındaysa o kişi izin aldığında işler aksıyorsa, orada insan kaynakları açısından “aktif-pasif” bir yapı oluşmuş demektir. Bir kişi her şeyi yapıyor, diğerleri gerektiğinde devreye girmek üzere bekliyor.

Oysa bilgi paylaşımı, görev dağılımı ve çapraz yetkinlikler arttığında ekip daha dayanıklı hale gelir.

Teknolojide olduğu gibi insan tarafında da amaç, birinin yerine başka birini koymak değil; sistemin tek bir noktaya bağımlı olmamasıdır.

Sonuç: Aktif Aktif Nedir ve Ne Değildir?

Özetlersek aktif-aktif; iki veya daha fazla sistemin aynı anda aktif olarak çalıştığı, yükün ve hizmetin birden fazla kaynak tarafından karşılandığı mimari yaklaşımdır. Özellikle yüksek erişilebilirlik, yük dağıtımı ve kesintisiz hizmet hedeflenen altyapılarda önemli bir tasarım seçeneğidir.

Ama aktif-aktif demek yalnızca “iki tane sunucum var” demek değildir.

İki sistemin aynı anda çalışması gerekir.

Trafiğin doğru yönetilmesi gerekir.

Verilerin tutarlı olması gerekir.

Arıza durumlarının düşünülmesi gerekir.

İzleme ve otomasyonun düzgün çalışması gerekir.

Ve en önemlisi, sistemin gerçekten test edilmesi gerekir.

Asıl düşündürücü soru ise şu:

Bir sisteminiz hiç arızalanmıyorsa gerçekten yüksek erişilebilir bir sisteminiz mi vardır, yoksa henüz arızayı görmemiş şanslı bir sisteminiz mi?

Bence aktif-aktif mimarinin özeti tam olarak burada yatıyor. İyi tasarım, “her şey yolundayken” çalışmakla övünmez. Bir şeyler ters gittiğinde de sistemin hayatına devam edebilmesini hedefler.

Çünkü teknoloji dünyasında Murphy'nin kanunları mesaiye kalmaz.

Tam tersine, genellikle cuma akşamı 18.01'de işe başlar.

Kaynak iddialarını görünür ve tutarlı yapCinsiyet bölümünü daha dengeli çerçevele

Kaynak iddialarını görünür ve tutarlı yap

Cinsiyet bölümünü daha dengeli çerçevele

Aktif-aktif sınırlarını teknikleştir