Trendyol’ da Sanallaştırma (Virtualization) ?

Cahit YOLACAN
7 min readMay 11, 2021

--

Trendyol olarak teknoloji içinde olan tüm ürün ve gelişmeleri yakından takip eden ve sürekli gelişime ar ge’ye kaynak ayıran bir ekip olarak sanallaştırma teknolojilerine uzak kalmamız düşünülemezdi, gelin sizlere VMware firması ve en önemli ürünü olan vSphere sanallaştırma katmanı ve bizlere ve teknoloji dünyasına neler kattığına değinelim.

1991 yılında kurulan VMware firması tarafından geliştirilen bir teknolojinin genel ismi olarak tanımını yapabiliriz. Kısaca fiziksel bir mimarinin (x86) mantıksal hale getirilmesidir. Temelde 4 mimari sanallaştırılması yapılır bunlar;

  • CPU (işlemci)
  • DİSK (depolama)
  • MEMORY (geçici hafıza)
  • NIC (ağ kartı)
CPU — Memory — NIC — Disk

VMware firması ürünü ismi vSphere olarak geçiyor, tabiki diğer bilişim devleride bu konuda kendileri yeni ürünler var sanallaştırma ürünlerini çıkardılar bunlara örnek olarak;

  • Microsoft — Hyper-V
  • Citrix — Xen
  • Oracle — Virtual Box
  • Red Hat — Openshift ( Open Stack )
  • Proxmox

ve bir çok daha ücretli ve ücretsiz sunulan ürünler var fakat kendini bir çok alanda kanıtlamış ve öne çıkan ürün VMware vSphere ürünü olmuştur. Sanallaştırma dünyası hala gelişim sürecindedir; tüm bilişim dünyasına dokunmaya devam edecektir bu kapsamda sizlere sanallaştırma türlerinden bahsederek devam etmek istiyoruz.

Tabiki Trendyol olarak VMware vSphere ürününün Sunucu Sanallaştırma ürününü aktif olarak kullanıyor ve kolaylıklarından ve bizlere kattığı katma değerli teknolojilerinden faydalanarak HA — DRS — DPM — vMotion vb gibi servislerini aktif şekilde kullanıyoruz.

Sanallaştırma Türleri

Bütün sanallaştırma türlerinin kendine ait kullanım alanları ve alrt özellikleri vardır.

Sunucu Sanallaştırma (Server Virtualization)
Sunucu sanallaştırma; birden fazla fiziksel sunucuyu sanallaştırmak daha az fiziksel sunucu üzerinden çalışmasını sağlayan katman olarakta adlandırılan yapıdır. Örneğin 5 fiziksel sunucunun sanallaştırılarak (Guest VM) 1 fiziksel sunucu üzerinde misafir yani sanal olarak çalışmasını sağlamaktadır.

Sunucu Sanallaştırma

Depolama Sanallaştırma (Storage Virtualization)
Kısaca diskler üzerindeki verileri sanallaştırma katmanının getirdiği yenilikler ile ve teknolojiler sayesinde; verilerin sanallaştırılmış bir dosya içinde tutulmasını erişilmesini kayıt edilmesini sağlayan yapıyı ifade eder.

Depolama Sanallaştırma

Ağ Sanallaştırma (Network Virtualization)
Ağ sanallaştırma; ağ bileşenlerinin sanallaştırılıp tıpkı fiziksel ağ ile bağlantı yapılmış gibi çalışmasını sağlayan sanallaştırma dır. Daha az ekipman ile daha fazla sanal ağ kurup çalışmasına izin verir.

Network Sanallaştırma

Masaüstü ve Dizüstü Sanallaştırma (Desktop & Laptop Virtualization)
Masaüstü ve dizüstü sanallaştırma; bilgisayarların sanallaştırılarak veri merkezine taşınması ve sonrasında son kullanıcıların ağ veya internet üzerinden bu kaynaklara erişerek kullanılmasını sağlayan sanallaştırma türüdür.

Desktop Sanallaştırma

Uygulama Sanallaştırma (Application Virtualization)
Uygulama sanallaştırma; uygulamaların bilgisayarlara kurulmadan sunucu üzerinden çalıştırılıp fakat bilgisayara kurulmuş gibi kullanabilmesine imkan sağlayan sanallaştırma türüdür. Bu işlemi bir client yazılımı yada web browser yada işletim sisteminin oturum açtığında yapılan işlemler ile kullanıcı arayüze otomatik gelmesini sağlayarak çeşitlendirme yapabilirsiniz.

Uygulama Sanallaştırma

Trendyol olarak; VMware içinde var olan tüm servislerden etkin şekilde faydalanıyor ve yararlanıyoruz, sizlere bu servislerden ve ne işe yaradıkları konusundan bahsedeceğiz, bu servisler başlıca olarak;

vMotion — Canlı sanal sunucu taşıma
HA — High Availability
Cluster — Server ve Storage Cluster
DRS — Distributed Resource Scheduler
DPM — Distribute Power Manager
FT — Fault Tolerance

yukarıda sadece belli başlıca servisler ve kısaca açıklamaları yazılmıştır tüm VMware vSphere servislerinin listesine buradan erişebilirsiniz.

Bizler size bu servislerin neden kullandığımızı ve bu servislerin ne işe yaradıklarını minik senaryolar ile anlatmaya çalışacağız.

vMotion
Trendyol ortamınızda yüzlerce fiziksel sunucu buluyor ve bu sunucular bir veya birden çok cluster yapısı içinde gerekli olan network ayarlamaları ile birbirlerine bağlılar ve bu yapınız üzerinden binlerce sanal sunucular ( guest vm ) mevcut.
Örneğin 23. nolu fiziksel makineniz üzerinde bulunan bir sanal sunucuyu 72 nolu fiziksel sunucuya taşımanız gerekiyor ve bunu sanal sunucu kapanmadan veya hızlı bir şekilde yapmanız gerekiyor burada sizin elinizin altında vMotion servisi yardımınıza koşarak fiziksel hostlar arasında sanal makinenizi taşımanızı sağlayan servistir. Taşıma nedeniniz 23 nolu fiziki server de bakım yapabilirsiniz arıza çıkabilir yada kaynak yetersizliği olabilir bu sebepleri çoğaltabiliriz. İşte burada vMotion servisi bizim için bu taşımayı gerçekleştirerek bizim hayatımızda kolaylık ve hız katamamıza olanak sağlıyor. Ve bunun sonucunda sizlere kesintisiz ve sürekli hizmet verebilmemize olanak sağlıyor.

HA — High Availability

Yukarıdaki Trendyol senaryomuza bağlı kalarak; yine ortamda yüzlerce fiziki server yapısı var diyelim ve üzerlerinde bu server tek bir sanal server yerine ( fiziki server kapasitesinde göre değişir ) 40–50 adet sanal makine var diyelim ve 23. nolu fiziki server power supply ünitesinde bir arıza çıktı ve bu 40–50 adet sanal server yapınızı otomatik olarak diğer fiziki server yapıların üzerinde otomatik ve yeterli kaynaklar ile taşıyan yapıya kısaca HA denir. HA yapıda sanal sunucu reboot olarak diğer sunucuya taşıma yapılır.

Bu taşıma sürecinde bazı sunucuların reboot olması ve diğer yeni fiziki server üzerinde yeniden açılması süreci çok hızlı olduğu için Trendyol bu sürede sizlere kesintisiz hizmet vermeye devam eder.

DRS — Distributed Resource Scheduler

Data ile yaşayan bir şirket olarak Trendyol; kısaca ve türkçesinden kafanızda bir şeyler oluşağına eminim olduğumuz servis; dağıtılmış kaynak planlayıcısı, şöyle gidelim yine Trendyol senaryosunda yüzlerce fiziksel sunucunuz var ve üzerlerinde yine sanal sunucular var ama bir fiziki sunucuda 20 yada 30 adet sanal sunucu oluyor ve bazen bu sanal sunucular yaptıkları iş yüküne göre çok kaynak tüketmeye ihtiyaç duyuyor, ama bu her zaman olan ve sürekli bir durum değil; örneklendirelim Trendyol finans biriminiz raporlar ve kıyaslamalar için yüklü datasetleri ile birlikte sanal sunucularımızdan veri istiyor bu durum o sanal sunuculara ekstra yük ve kısa süreli performansa ihtiyaç duyuyorlar burada DRS servisi devreye giriyor ve 20–30 sanal sunucunuza canlı aktif çalışırken RAM — CPU gibi ekstra ( hot swap ) donanımları sanal olarak ekleyerek işlemlerin daha hızlı bitmesine olanak sağlıyor ve hatta bu yorucu süreç geçtikten sonra verilen ek kaynaklar (hot swap) tekrar alınıyor. Bu yapıya kısaca dağıtılmış kaynak yönetimi DRS diyoruz.

Data ile yaşayan bir şirket olarak düşünürseniz var olan kaynakları etkin ve verimli kullanmak’ ta biz Trendyol için ne kadar önemli olduğunu tahmin edebilirsiniz. Bu DRS servisi bu konuda bizlere çok güzel imkanlar ve kolaylıklar sağlamaktadır.

DPM — Distribute Power Manager

Trendyol olarak senaryomuza devam ettiğimizde ve yine türkçesinden de sizlerin akıllarında anlamlandıra bileceği bir servisteyiz, DPM dağıtılmış güç yönetimi, aslında DRS ile birlikte çalışır iç içe servis gibi düşünebilirsiniz. Buradaki mantık dünyamız, doğamız ve cebimiz için geçerli. :) Senaryomuza göre yine yüzlerce fiziki sunucu olan bir ortamı düşünün, ve üzerlerinde çalışan binlerce sanal sunucular bu sanal sunucularda genelde gece çok yük olmaz ve bu durum fiziki sunucular üzerinden çok az kaynak tüketimi demektir, örneklendirelim ve şöyle düşünelim gece 50 fiziki sunucuz üzerlerindeki sanal sunucuları otomatik olarak diğer fiziki sunuculara taşıdı ve fiziki server’ leri kapatıp elektrik tüketimini azalttı, ve ertesi sabah yada kullanıcılardan gelen kaynak isteklerine göre sanal sunucularına yük gelmeye başladığında ise gece kapanan fiziki sunucuları ihtiyaç duydukça ve kaynak gerektikçe geri açtı ve sanal sunucuların ihtiyaç duyduğu kaynağı geri atadı bunu aylar ve yıllar boyunca yaptığını düşünür iseniz bilişim altyapısındaki giderleri azaltmak ve dünyamıza green teknolojiye yardımcı olarak düşünebilirsiniz.

FT — Fault Tolerance

Trendyol senaryomuzda yukarıda bahsettiğim HA servise benzer ama ondan daha yetenekli bir servis diyebiliriz, yine senaryomuzdan devam edersek eğer sizler için hayati öneme sahip bir kaç tane sanal sunucu var ve bunlar ne olursa olsun kapanmadan ve veri kaybı yada ping kaybı yaşamadan hatta sanal makine sanal server ram üzerinde olan data ile diğer fiziki sunucuya aktarılması gerekiyor bu durum için FT servisini kullanmanız gerekmektedir. Bu servis Lisanslama modelinize göre aktif edebileceğiniz bir servistir. Genelde RAM ( in memory )üzerinde çalışan uygulamalar için tercih edilir, Örneğin SAP Hana App Server, Sorting Server.

Cluster — Server ve Storage Cluster

Yukarıdaki açıklamalarını ve örneklerini verdiğim servislerin hepsinin Trendyol içinde bir yapı olarak çalışması gerekmektedir bu genel yapının adına Cluster denir VMware ortamında bir adet değil birden fazla Cluster yapısı ve bu cluster’ a bağlı servisler ayrı ayrı çalıştırılabilir. Örneklendirelim; yüzlerce fiziki serverin 20 adet olanı sadece üretim için gerekli olan sanal sunucularınızı 10 adet’ i sadece client sunucularını çalıştırabilir bu cluster ler ve içinde çalışan HA — FT — DRS — DPM ve vMotion gibi yapıları için farklı farklı kurallar ve süreçler belirleyerek yönetmenize olan veren yapıdır aslında. Kısaca fiziki sunucuların bir tek güç olarak çalışması da diyebiliriz cluster ile fiziki sunucular Voltran oluşturuyor da diyebiliriz.

Siz değerli teknoloji okurlarına, hem Trendyol altyapısında kullandığımız, hayatımızı kolaylaştıran teknolojilerden bize ve sizlere sağladığı faydalardan bahsetmeyi amaçladığımız yazımızı beğeneceğinizi umuyoruz bir sonraki yazımızda görüşmek üzere.

--

--

Cahit YOLACAN

#Platform #System #Engineer #CKA #k8s #linux #ocp #vExpert #youtuber www.vmwaretv.com ve www.1w2.net veya YouTube/cyolacan