10 Ağustos 2022 Çarşamba

Başlık DevOps olsun


Bir forumda gördüğüm ve kubernetes konusunda bir kaç ekleme yapalım; klavyemizin gücü yettiği sürece diyerek yazmaya başladığım ve sonrasında güzel bir makale oldu diyerek ve google seo yüzünden önce kendi sitemde yayınlamaya karar verdiğim yazı içinde;

kubernetes, docker container, CI/CD süreçleri, devops gibi konulara kısaca değindimiz bir makale oldu, umarım beğenirsiniz.

mikro servis mimarisi = docker container

docker container yapısını yöneten orkestrsyonunu yapan = kubernetes alternatifi rancher

bunlar ücretsiz ( open source ) (rancher hariç ) yazılımlar tabiki support almak istedğinizde ödeme yapmalısınız mantığı var. 

VMware de bu konu için hem docker hemde kubernetes üzerinde koşan yapılarınızı kontol etmek ve yönetmek içinde VMware tanzu kullabilrisiniz ( open source ) ve ücretsiz ama support alırsanız ücretli. 

Aslında bir çok firmanın artık kendine ait container mimarisi ve bunun üzerine geliştidikleri yapılar ve yönetim araçları mevcut. ( örnek : VMware tanzu hem container hemde yönetim yapısıdır ) ama hepsinin ortak çıkışı Linux üzerinde bulunan LXC hizmetinin yeni versiyonları diyebiliriz.

Örneklendirelim ne amaçla kullanılıyor : örnek büyük bir e-ticaret siteniz veya portal siteniz var. Bu yapılar içinde smüşterileriniz için durmadan çalışmaya devam etmeniz en önemli durumunuz. Bunu yapmanın yeni hali ise mikro servis yani site içinde bulunan tüm hizmetleri bölmek. Yani kullanıcı login ayrı bir mikro servis, kategoriler ayrı bir mikro servis, ödeme sistemleri ayrı bir mikro servis, müşteri hizmetleri ayrı bir mikro servis, site içi haberleşme ayrı mikro servis, oyun bölümü ve her oyuna yada yapıya ayrı bir mikro servis olarak düşünürseniz eğer; her mikro servis = cotainer yapısı çok az akynak ihtiyaç duyan 256 Mb ram 100 Mhz core cpu ortak storage kullanan yapı ( data kaydı yapıyor ise ) olarak düşünün. burada işlemleri yani servisleri bölmenizin çok önemli 2 durumu var.

1. olan durumum siteniz canlı yaşayan bir yapı durmasınız kesintiye uğramasını istemiyorsunuz; örnek kullanıcı login bölümü bir mikro servis ama bir kampanya zamanında çok login oldu diyelim; o mikro servis mimarsinde tabii var olan kaynaklar çerçevesinde arka arkaya kullanıcı login container' leri arka arka sistem otomatik açar ve siteye erişen kullanıcılarınız hiç sorunsuz bir şekilde çalışmaya devam ederler.  

2. olan durum için sitenizde sürekli geliştirmeler ve güncellemeler yapabilmek yine kullanıcı loıgin mikro servisinden örnekleyelim; şöyle yazılım ekibiniz kullanıcı login' e sonrada bir ekleme güncelleme yaptı ama aktif çalışan siteyi durdurmak yerine sadece on bölünde çalışan mikro servis container' leri durdurarak saniyeler içinde yeni container mikro servis yapısına geçis sağlanabilir. Bu durumda sitenizin sadece bir bölümünün bir kaç sn durarak çalışamya devam etmesini sağlar. 

Yukarıdaki 2 durum eğer büyük yapılarınız var ise kullanmanız gereken yapılar. Bu süreçlerin bir çoğunu sistem ekipkeri yeni aadları ve genişleyen görevleri ile DEVOPS ekipleri yapar, 


Ayrıca bu sürecin yönetilmesine ise CI/CD pipeline adı veirilir.

CI = continuous integration = durmadan veya sürekli entegrasyon

CD = continuous delivery or continuous deployment. = durmadan veya sürekli ekleme yada yazılım güncelleme şeklinde açıklaması vardır.


Tabi iş biraz DEVOPS süreçlerine giriyor ama olsun yazmışken onlarıda öğrenelim,CI/CD yapısı içinde yazılımın kodlanması, arkasından günvelik teslerinden geçirilmesi, arkasından test edilmesi, arkasından arkasından loglanması, siteye yada yapınıza entegre edilmesi, şeklinde arka arkaya işlemler yazdım normalde bu süreçlerin bir boru hattı ( pipeline ) üzerinde üzerinde bir çoğunun otomatize edilerek küçük bir kısmınında manuel olarak yapılma süreçlerine denir.  

Bu süreçleri yazılımı ekibi ( developers ) ile planlayan bunun onlien AWS - AZURE vb gibi cloud' a yapıları yada kişisel firmanızın Datacenter' ine ekleyen düzenleyen ekiplere de DEVOPS denir.

DEV = developers OPS = operations 

Hem yazılım ve kodlamadan anlayan hemde Linux veya windows ( windows çok azdır ) yapılarını yönetebilen kişilerde diyebiliriz.

Unutmadan, bu pipeline üzerinde kullanılan bir çok yazılımlar mevcut mesela yazılım test sürecinde git, jenkins, artifactory, kubernetes vb gibi yazılımlar sıralayabiliriz. Ama bu sıralamada bir standart yoktur daha doğrusu uymanız gereken kurallar vardır ama sonuçt site veya yapı size ait ona göre yazılım ekibiniz, güvenlik ekibiniz, ve sistem ekibiniz ile oturup bu pipeline üzerinde rota ve süreçler oluşturmalısınız. Yani karar ve yollar size ait

Umarım bir nebzede olsa aklınızda birşeyler oluşur karalama olarak başladım sonuç üste.

Kolay gelsin.


Hiç yorum yok:

Yorum Gönder

Yorumunuz için teşekkürler.