Docker nədir?
Docker-i başa düşmək üçün ən yaxşı bənzətmə gəmi konteyneridir. Konteynerlər ixtira olunana qədər hər yük gəmiyə ayrı-ayrı qablarda yüklənirdi və bu, yavaş və problemli idi. Standart konteyner isə içində nə olmasından asılı olmayaraq istənilən gəmiyə, qatara və ya yük maşınına eyni cür yüklənir. Docker də proqramla eyni işi görür: sayt və ya tətbiq bütün asılılıqları (işləməsi üçün lazım olan kitabxana və parametrlər) ilə birlikdə bir konteynerə qablaşdırılır və bu konteyner istənilən serverdə eyni cür işləyir.
Bu yanaşma proqramçılıqda məşhur "mənim kompüterimdə işləyirdi" problemini həll edir. Adətən proqram developerin kompüterində işləyir, amma serverdə fərqli versiyalar və parametrlər olduğu üçün xəta verir. Docker konteynerində isə mühit hər yerdə eynidir: developerin noutbukunda test olunan konteyner serverdə də dəyişiklik olmadan işləyir. Nəticədə saytın yeni versiyasının yayımlanması (deploy) daha az riskli və daha sürətli olur.
Docker çox vaxt virtual maşınla qarışdırılır, amma fərq böyükdür. Virtual maşın hər tətbiq üçün ayrıca tam əməliyyat sistemi işlədir və bu, çoxlu yaddaş və resurs tələb edir. Konteyner isə serverin mövcud əməliyyat sisteminin nüvəsini paylaşır və yalnız tətbiqin özünü və asılılıqlarını daşıyır. Buna görə konteynerlər saniyələr içində başlayır və eyni serverdə onlarla konteyner rahat işləyə bilir.
Real layihələrdə sayt adətən bir neçə hissədən ibarət olur: veb tətbiq, verilənlər bazası, keş serveri və s. Docker Compose adlı alət bu hissələrin hamısını bir konfiqurasiya faylında təsvir edib bir əmrlə işə salmağa imkan verir. Docker-in nüvəsi (Docker Engine) Apache-2.0 lisenziyası ilə açıq mənbəlidir, yəni ondan istifadə üçün lisenziya haqqı ödənilmir.
Biznesiniz üçün nə deməkdir?
Sayt sahibi üçün Docker-in faydası birbaşa hiss olunur: yeniləmələr zamanı "serverdə nəsə xarab oldu" halları azalır, sayt bir serverdən digərinə köçürüləndə saatlarla yenidən qurulma əvəzinə konteynerlər sadəcə yeni serverdə işə salınır. Problem yarandıqda əvvəlki işlək versiyaya qayıtmaq da dəqiqələr çəkir. Bu, daha az fasilə (downtime) və daha proqnozlaşdırıla bilən xidmət deməkdir.
SaytPro bundan necə istifadə edir?
SaytPro-nun qurduğu saytlar VPS serverlərində işləyir və infrastruktur hər layihənin ölçüsünə görə seçilir. Docker bir neçə servisdən ibarət sistemlərdə faydalıdır: backend, verilənlər bazası və köməkçi servislər ayrı, təkrarlana bilən mühitlərdə işləyir. Tək Next.js saytı üçün isə proses-menecerlə birbaşa serverdə işləmək çox vaxt daha sadə və yüngül yoldur.


