2.1 Virtual maşınlar
Virtualizasiya konsepsiyaları ilk dəfə 1960-cı illərdə ortaya çıxdı, həmin vaxt IBM öz mərkəzi kompüterləri üçün virtual maşınlar işləyib hazırladı ki, kompüter resurslarını effektiv istifadə etsin və iş yüklərini izolyasiya etsin. O vaxtdan bəri virtualizasiya inkişaf edib və bu gün İT-infrastrukturunun ayrılmaz hissəsinə çevrilib.
Virtual maşın (VM) əsasən fiziki kompüterin proqram emulyasiyası kimi təsvir edilir. Bu, əməliyyat sistemlərinin və tətbiqlərin sanki ayrıca fiziki serverdə işlədiyi kimi, işə salınmasına imkan verir. Əsas komponentlər VM içinə hipervizor, qonaq əməliyyat sistemi və tətbiqlər daxildir.
Hipervizor: Bu, virtual maşınları idarə edən və resursları onların arasında bölüşdürən proqram təminatıdır. Hipervizorların iki növü mövcuddur:
- Tip 1 (bare-metal): Birbaşa avadanlıq üzərində quraşdırılır, yüksək performans və minimal əlavə xərclər təmin edir. Nümunələr: VMware ESXi, Microsoft Hyper-V.
- Tip 2 (hosted): Host əməliyyat sisteminin üzərində çalışır, bu da onu daha çevik edir, lakin performansı bir qədər azaldır. Nümunələr: Oracle VirtualBox, VMware Workstation.
Qonaq ƏS: Hər bir virtual maşın tam əməliyyat sistemi daxildir və bu sistem hipervizorun üzərində işləyir. Bu, bir fiziki serverdə müxtəlif əməliyyat sistemlərinin işləməsini mümkün edir.
Tətbiqlər: Tətbiqlər və onların asılılıqları qonaq ƏS daxilində quraşdırılır, bu da izolyasiya və müstəqilliyi təmin edir.
Üstünlüklər:
- İzolyasiya: Virtual maşınlar tam izolyasiya təmin edir, çünki hər bir VM öz əməliyyat sistemi və resurslarına malikdir, bu isə bir tətbiqin digərinə təsir etməsinin qarşısını alır.
- Uyğunluq: Virtual maşınlar müxtəlif əməliyyat sistemlərini, həmçinin eyni ƏS-in müxtəlif versiyalarını işlədərək çevikliyi və müxtəlifliyi təmin edir.
- Təhlükəsizlik: Yüksək səviyyəli izolyasiya VM-ləri daha təhlükəsiz edir, çünki bir VM-in zəiflikləri digərinə asanlıqla təsir edə bilmir.
Çatışmazlıqlar:
Resurs tələbkarlığı: Hər bir VM tam əməliyyat sistemini daxil etdiyindən əhəmiyyətli resurslar tələb edir, bu isə yaddaş və disk yerinə olan tələbləri artırır.
Başlama: Virtual maşınların işə salınması və dayandırılması əməliyyat sisteminin yüklənməsi və söndürülməsi ilə əlaqədar davam edir, buna görə daha çox vaxt tələb edir.
İdarəetmə: Bir neçə VM idarə etmək, xüsusilə böyük mühitlərdə, çətin və vaxt aparan ola bilər.
2.2 Konteynerlər
Konteynerizasiyanın konsepsiyası artıq bir neçə onillikdir mövcuddur, amma geniş yayılması Docker sayəsində baş verdi, hansı ki, 2013-cü ildə təqdim olunmuşdu. Docker konteynerlərin istifadəsini asanlaşdırdı və onları daha çox proqramçı və sistem administratorları üçün əlçatan etdi.
Konteynerlər virtual maşınlardan fərqli olaraq host əməliyyat sisteminin kernelindən istifadə edir və proses səviyyəsində izolyasiya təmin edir. Onlar tətbiqləri və onların asıllıqlarını ayrıca mühitlərdə işlətməyə imkan verir, ayrıca əməliyyat sistemi quraşdırmağa ehtiyac olmadan.
- Host əməliyyat sistemi: Konteynerlər host əməliyyat sisteminin kernelindən istifadə edir, bu da resurslara qənaət etməyə və əlavə xərcləri azaltmağa imkan yaradır.
- Konteynerlər: Hər konteynerdə tətbiq və onun bütün asıllıqları olur, amma ayrıca əməliyyat sistemi olmur. Konteynerlər namespaces və cgroups vasitəsilə izolyasiya olunur, hansı ki, resurslara giriş imkanını məhdudlaşdırır və prosesləri izolyasiya edir.
- Namespaces: Proseslərin, fayl sisteminin, şəbəkə interfeyslərinin və digər resursların izolyasiyasını təmin edir, hər bir konteyner üçün ayrıca mühit təəssüratı yaradır.
- Cgroups: Hər konteynerin resurslarını (CPU, yaddaş, disk) idarə edir, onların istifadəsini nəzarətdə saxlayır.
Üstünlüklər:
- Yüngüllük: Konteynerlər daha az resurs istifadə edir, çünki ayrıca əməliyyat sisteminin quraşdırılmasına ehtiyac yoxdur. Bu, fiziki serverdə daha çox konteyneri işlətməyə imkan yaradır, virtual maşınlarla müqayisədə.
- Sürətli işə salma: Konteynerlər daha sürətlə işə düşür və dayanır, çünki prosesə əməliyyat sisteminin yüklənməsi və söndürülməsi daxil deyil.
- Portativlik: Konteynerləri müxtəlif mühitlər arasında asanlıqla köçürmək mümkündür, çünki onlar tətbiqin işləməsi üçün lazım olan bütün asıllıqları özündə birləşdirir. Bu, müxtəlif platformalarda heç bir dəyişiklik etmədən işləyə bilən yeganə imiclər yaratmağa imkan verir.
Çatışmazlıqlar:
- İzolyasiya: Konteynerlərin izolyasiyası virtual maşınlarla müqayisədə daha zəifdir, çünki onlar host əməliyyat sisteminin ümumi kernelindən istifadə edir. Bu, bir konteynerdakı tətbiq sındırılarsa, potensial zəifliklərə yol açır.
- Uyğunluq: Konteynerlər host əməliyyat sistemi ilə uyğunluq tələb edir, bu da onların müəyyən hallarda istifadəsini məhdudlaşdıra bilər.
2.3 Konteynerlərin və virtual maşınların müqayisəsi
Resurs istifadəsi:
- Konteynerlər: Daha az resurs xərci, RAM və prosessorun daha səmərəli istifadəsi. Konteynerlər bir fiziki serverdə daha çox tətbiq nümunəsi işə salmağa imkan verir, bu da onları geniş miqyaslı layihələr üçün iqtisadi cəhətdən sərfəli edir.
- Virtual maşınlar: Tam əməliyyat sisteminə ehtiyac olduğuna görə daha çox resurs tələbi. Hər bir VM əhəmiyyətli miqdarda RAM və disk sahəsi tələb edir, bu da bir serverdə işə salına biləcək VM sayını məhdudlaşdırır.
Surət:
- Konteynerlər: Sürətli işə salınma və dayandırılma vaxtı. Konteynerlər bir neçə saniyə ərzində başlaya bilər, bu onları sürətli reaksiya və miqyaslama tələb edən səhnarilərə ideal edir.
- Virtual maşınlar: Əməliyyat sistemini yükləmək ehtiyacına görə daha yavaş işə salınma və dayandırılma vaxtı. VM tam yüklənmək üçün dəqiqələr tələb edə bilər, bu isə onları daha dinamik mühitlər üçün uyğun etmir.
Təcrid:
- Konteynerlər: Proses səviyyəsində təcrid, VM-dən daha az təcrid səviyyəsi. Konteynerlər əksər tətbiqlər üçün kifayət qədər yüksək təcrid səviyyəsi təmin edir, lakin tam təhlükəsizlik və təcrid tələb edən səhnarilər üçün uyğun deyildir.
- Virtual maşınlar: Əməliyyat sistemləri səviyyəsində tam təcrid, yüksək təcrid səviyyəsi. VM etibarlı müdafiə və təhlükəsizlik təmin edir, bu isə onları kritik məlumatlar və tətbiqlər üçün ideal edir.
İdarəetmə və miqyaslama:
- Konteynerlər: Yüngüllükləri və sürətli işə salınmaları sayəsində idarə etmək və miqyaslamaq daha asandır. Kubernetes kimi müasir orchestation alətləri böyük konteyner klasterlərinin idarə edilməsini xeyli asanlaşdırır.
- Virtual maşınlar: Yüksək resurs xərclərinə görə daha mürəkkəb idarəetmə və miqyaslama. Dinamik mühitlərdə çox sayda VM idarə etmək adətən böyük səylər və resurslar tələb edir.
Konteynerlərlə virtual maşınlar arasında seçim konkret tələblərdən və tapşırıqlardan asılıdır. Konteynerlər, minimal resurs xərcləri ilə tətbiqlərin sürətli yayılması və miqyaslanması tələb edən səhnarilər üçün idealdır. Onlar portativlik və yüngüllük təklif edir, bu isə onları mikroservis arxitektura və bulud hesablamaları üçün üstün seçim edir.
Virtual maşınlar digər tərəfdən daha yaxşı təcrid və uyğunluq təmin edir, bu da onları daha mürəkkəb və kritik tətbiqlər üçün uyğun edir. Onlar kritik təhlükəsizlik və müstəqillik tələb edən infrastrukturlar üçün əvəzsiz vasitədir. VM-lər tam əməliyyat sistemi tələbi olan çox qatlı tətbiqlərin yerləşdirilməsi üçün vacib olaraq qalır.
Sonda, bir çox təşkilat optimal performans, elastiklik və təhlükəsizlik arasında balans əldə etmək üçün konteynerlər və virtual maşınları birləşdirən hibrid yanaşmadan istifadə edir.
GO TO FULL VERSION