Biraz mikroservislerden bahsetmek istiyorum, gerçek hayattan örnekle pekişeceği kanaatindeyim.
4 çocuklu takıntılı bir annemiz var, aşağıdaki işlerin tamamıyla kendisi ilgileniyor, yetmezmiş gibi misafire de hizmet etmesi gerekiyor.
Ayrıca takıntılı olduğu için bir sıra halinde yapıyor, rutini ve mekanı değiştiremiyor. İşlerde değişiklik gerektiğinde tüm düzenini değiştiriyor.
- Çocukların bakımı
- Çamaşır
- Bulaşık
- Temizlik
- Ütü
- Misafir
Diğer tarafta kendini çok sıkmak istemeyen, elindeki kaynakları daha iyi kullanmak isteyen bir anne var.
Bu annenin;
- En büyük olan çocuğu diğerlerine bakıyor
- Bir çocuk çamaşır yıkıyor
- Bir çocuk bulaşık
- Bir çocuk temizlik yapıyor
- Anne hem ütü yapabiliyor hem misafir ağırlayabiliyor.
Ayrıca işlem sırası annenin istediği gibi değiştirilebiliyor, hatta çocuklar mekan bağımsız olarak da bu işleri yürütebiliyor.
İlk örnekte monolitik dediğimiz geçmişten günümüze getirdiğimiz büyük yazılımları örnek gösterebiliriz.
Her ne kadar sanallaştırma hayatımıza girse de;
- Önce sanallaştırma katmanı kuruyoruz
- Üzerinde işletim sistemi kurup güncelleme yapıyor
- Uygulama gereksinimlerini işletim sistemi üzerinde gerçekleştiriyoruz
- Daha sonra uygulamaları kuruyoruz.
Monolitik yapıda uzun test süreçleri mevcut hem de hatanın gözden kaçması yüksek ihtimal.
Yapıda değişiklik gerektiğinde tüm süreçlerin gözden gerekliliği cabası.
Mikroservis yapısından bahsedersek, FreeBSD ve Solaris’den başlayarak yaklaşık 20 yıldır hayatımızdalar.
- Servisler zone, container ya da pod gibi isimler alabilmektedirler.
- Her bir container içerisinde yazılımın gerek duyduğu minimal düzeyde kütüphane ve donanım kaynağı yeterli olmakta.
- İşlemci, bellek ve disk kaynaklarını çok daha verimli kullanılmakta.
- Uyumlu bir altyapı olduktan sonra, çalıştığı ortamın windows, linux, unix hatta cloud olması önemsiz hale gelmekte.
- Çok hızlı şekilde güncelleme test ve gerekirse geri dönüş gerçekleştirilebilir. Sorun durumunda tüm yapı değil ilgili servisin düzeltilmesi yetecektir.
Peki bu kadar iyilerse, mikroservisler neden her yerde kullanılmıyor?
- Aslında kullanım oranı ciddi düzeyde artıyor, bulut mimarilerinin kullanımı arttıkça mikroservis kullanımı da artacaktır.
- Geçmiş alışkanlıklar kolay değiştirilmez, firmalar klasik yapılara büyük yatırımlar yaptı ve uzun yıllardır bu yazılımları işletmekteler.
- Kullanım kolaylığı, güvenliğin nasıl sağlanacağı gibi konular insanlarda soru işareti uyandırmakta ve değişimden korkmaktalar.
- Büyük firmalar bu konuda ciddi yatırımlar yapmakta. VMware firması vSphere 7 ile birlikte (Project Pacific Tanzu) native olarak mikroservis desteği verecek.
- Bu şu demek oluyor, pazarın en büyük sanallaştırma firmasının kullanım kolaylığı, iş sürekliliği, felaket kurtarma gibi bütün yetkinliklerini mikroservis kullanıcılarına sunacak. Microsoft bile bu konuda hem on-prem tarafta hem de Azure tarafında çözümler geliştirdi.
On yıllardır kullanılan ve büyük, karmaşık ancak hayatın merkezine yerleşen klasik yazılımları değiştirmek, uzun zaman alacaktır.
Belki de her zaman kullanılmaya devam edeceklerdir, bekleyip göreceğiz.
1 Yorum
ağzına emeğine sağlık mikro servis mantığı en basit ancak böyle anlatılabilirdi teşekkürler.