Cloud, Docker & DevOps — sürətli və etibarlı yerləşdirmə

← Ana səhifə
İnfrastruktur & Deploy

Cloud, Docker & DevOps — sürətli və etibarlı yerləşdirmə

Bütün tətbiqləri Docker ilə konteynerləşdiririk, Docker Compose ilə (enterprise layihələr üçün Kubernetes ilə) idarə edirik, Caddy-ni avtomatik SSL ilə reverse proxy kimi konfiqurasiya edirik və bütün deploy dövrünü GitHub Actions vasitəsilə avtomatlaşdırırıq — commit-dən istehsalata.

Docker və Docker Compose ilə konteynerləşdirmə

Hər servisin öz multi-stage Dockerfile-ı var: asılılıqları quraşdıran və kompilyasiya edən build mərhələsi və yalnız lazımi artefaktları ehtiva edən minimal yekun mərhələ (distroless və ya alpine). Tipik Next.js imici 150MB-dan, FastAPI imici isə 80MB-dan kiçik olur. İmiclər main-ə hər merge-dən sonra yenidən qurulur və semantik şəkildə etiketlənir (`v1.2.3` + `latest`).

Docker Compose bütün steki müəyyən edir: frontend, API, DB, Redis, worker. Həssas dəyişənlər (DB parolu, API açarları, Stripe secret) git-dən kənarda saxlanılan `.env`-dədir — heç vaxt imicin içinə yazılmır. Compose-dakı health check-lər asılılıqların başlanğıcdan əvvəl hazır olmasını təmin edir (DB hazırdır → API başlayır → frontend başlayır).

  • `--mount=type=cache` ilə build keşi — CI-də npm ci 30 saniyədən az
  • Optimallaşdırılmış layer sıralaması: sabit asılılıqlar → mənbə kodu
  • Enterprise layihələr üçün Docker secrets və ya HashiCorp Vault ilə secret idarəsi
  • Atomik deploy üçün `restart: unless-stopped` + `docker compose up --no-deps`

Caddy — avtomatik SSL ilə müasir reverse proxy

Caddy 2.8 SSL/TLS-i ACME (Let's Encrypt və ya ZeroSSL) vasitəsilə avtomatik idarə edir — müddəti bitmiş sertifikat və əl ilə konfiqurasiya yoxdur. HTTP/2 və HTTP/3 (QUIC) defolt olaraq aktivdir. Təhlükəsizlik başlıqları (HSTS, X-Frame-Options, CSP) təkrar istifadə olunan snippet-lər vasitəsilə qlobal təyin olunur. Deklarativ Caddyfile konfiqurasiyası fərqləndirilə bilir və git-də versiyalaşdırılır.

Rate limiting, gzip/brotli sıxılması və strukturlaşdırılmış JSON loglama nginx modulları və ya mürəkkəb Apache konfiqurasiyası olmadan nativ Caddy direktivləri ilə aktivləşdirilir. Həssas marşrutlara (`/admin`, `.env`, `.git`) giriş qlobal təhlükəsizlik snippet-i kimi konfiqurasiya olunmuş 444 (cavabsız) qaytarır.

  • Yalnız müasir cipher suite-lərlə TLS 1.3
  • Dinamik subdomenləri olan multi-tenant SaaS üçün on-demand TLS
  • Fasiləsiz reload — `caddy reload` aktiv bağlantıları kəsmir
  • Caddy loglaması → Loki → Grafana — trafik təhlili və anomaliya xəbərdarlıqları

GitHub Actions CI/CD və monitorinq

CI pipeline-ı hər PR-da işləyir: lint, tip yoxlaması, unit testlər, Docker imic build-i, zəiflik skanı (Trivy). Hamısı keçərsə, imic registry-yə göndərilir və staging-ə yerləşdirmə avtomatik baş verir. main-ə merge = deploy-dan sonrakı healthcheck ilə avtomatik istehsalata yerləşdirmə. Healthcheck 60 saniyə ərzində uğursuz olarsa, avtomatik rollback.

Tətbiq metrikləri (gecikmə, xəta nisbəti, növbə ölçüsü) üçün Grafana + Prometheus və log aqreqasiyası üçün Loki ilə monitorinq. Xəbərdarlıqlar Slack/e-poçt üzərində konfiqurasiya olunub: xəta nisbəti >1%, P95 gecikmə >500ms, disk >85%. Better Uptime ilə xarici uptime monitorinqi — ictimai SLA paneli sorğu əsasında mövcuddur.

  • İmiclərdə Trivy zəiflik skanı — Critical CVE olduqda bloklanır
  • Patch yeniləmələri üçün Dependabot + auto-merge (yaşıl CI tələb olunur)
  • S3-uyğun yaddaşa avtomatik DB ehtiyat nüsxəsi (gecə, 30 günlük saxlama)

Üstünlüklər və məhdudiyyətlər

Üstünlüklər

  • Uğursuz healthcheck zamanı avtomatik rollback ilə deploy.
  • Caddy ilə avtomatik SSL/TLS — əl ilə müddəti bitən sertifikat yoxdur.
  • Təkrarlana bilən mühit: dev, staging, istehsalatda eyni Docker imici.
  • Monitorinq və xəbərdarlıqlar (Grafana, Loki) — problemlər istifadəçilərdən əvvəl görünür.

Məhdudiyyətlər

  • Docker Compose enterprise multi-node üçün Kubernetes qədər miqyaslanmır.
  • İlkin CI/CD qurulumu vaxt və DevOps təcrübəsi tələb edir.
  • İmiclər və loglar disk sahəsi istifadə edir — dövri təmizlik lazımdır.
  • Tam monitorinq (Prometheus + Grafana) baxım tələb edən əlavə servislər gətirir.

Qısa nəticə

Docker + Caddy + GitHub Actions VPS və ya bir neçə node üzərində etibarlı deploy üçün ideal kombinasiyadır. Aqressiv auto-scaling ilə onlarla node üçün Kubernetes-ə keçin.

Spesifikasiyalar cədvəli

ImkanLimit / həddTipik istifadə
OrkestrasiyaDocker Compose, tam stekTək node; multi-node Swarm/K8s tələb edirVPS, kiçik və orta layihələr
Reverse proxyCaddy 2.8, HTTP/3, avtomatik SSLÇox mürəkkəb qaydalar genişləndirilmiş konfiqurasiya tələb edirÇoxdomenli, multi-tenant
CI/CDGitHub Actions, deploy < 5 dəqCI dəqiqələri pulsuz limitdən sonra hesablanırCommit-dən istehsalata avtomatik
Tipik xərcVPS ayda ~€5-dənMonitorinq + ehtiyat nüsxə xərc əlavə edirTək saytdan çoxbrendli layihəyə qədər

Docker Compose və Kubernetes

MeyarDocker ComposeKubernetes
Qurulum mürəkkəbliyiAşağıYüksək
Multi-node / auto-scalingMəhdud (bir node)Əla
Ən uyğun olduğu halVPS, kiçik və orta layihələrBöyük parklar, enterprise

Tez-tez verilən suallar

Niyə Nginx deyil, Caddy?

Caddy SSL/TLS-i ACME vasitəsilə avtomatik idarə edir, HTTP/2 və HTTP/3-ü defolt aktivləşdirir və qısa deklarativ konfiqurasiyaya malikdir. Eyni nəticə üçün Nginx certbot və daha çox əl ilə konfiqurasiya tələb edir.

Mənə Kubernetes lazımdır?

Əksər saytlar üçün xeyr. VPS üzərində Docker Compose bir sayt və ya bir neçə servisi etibarlı şəkildə idarə edir. Kubernetes yalnız aqressiv auto-scaling ilə onlarla node olduqda faydalı olur.

Deploy necə işləyir?

GitHub Actions yeni imic qurur, onu köhnənin yanında başladır, healthcheck aparır, sonra trafiki keçirir. Healthcheck 60 saniyə ərzində uğursuz olarsa, avtomatik olaraq əvvəlki versiyaya qayıdır.

Hansı monitorinqi tövsiyə edirsiniz?

Metrikalar (gecikmə, xəta nisbəti) üçün Grafana + Prometheus və aqreqasiya olunmuş loglar üçün Loki, Slack/e-poçt xəbərdarlıqları ilə. Xarici uptime üçün Better Uptime kimi müstəqil servis əlavə edirik.

4b2b.net
Biznes ekosistemi
4conta.ro
Mühasibat uçotu
4invoices.net
Fakturalaşdırma tətbiqi
4expenses.net
Xərclərin idarə olunması
4notify.net
Bildirişlər
4hosting.net
Hostinq
4database.net
Verilənlər bazaları
4buildsite.net
Sayt yaradıcısı
4myapp.net
Tətbiq yaradıcısı
4avatars.net
Süni intellekt avatarları
4chaty.net
Süni intellekt çatbotu
4webagency.net
Veb agentlik proqramı
4softedu.net
Təhsil saytları
4softcrm.net
CRM platforması
4softerp.net
ERP sistemi
4softhr.net
Kadr idarəetməsi
4mystaff.net
İşçi portalı
4myprojects.net
Layihə meneceri
4mycontracts.net
Müqavilələr
4docs.net
Sənəd idarəetməsi
4appointments.net
Rezervasiyalar
4marketingonline.net
Marketinq
4insurance.net
Sığorta
4property.net
Daşınmaz əmlak
4lawyers.net
Hüquq proqramı
4mygarage.net
Avtoservis
4driving.net
Avtomobil məktəbləri
4fleet.net
Avtopark idarəetməsi
4myevents.net
Tədbirlər
4therapy.net
Terapiya
4clinics.net
Klinikalar
4dental.net
Stomatoloji kabinetlər
4restaurants.net
Restoranlar
4beautify.net
Gözəllik salonları
4gym.net
Fitnes zalları
4guards.net
Mühafizə şirkətləri
4softvet.net
Baytarlıq klinikaları
4softauto.net
Avtobiznes proqramı
4construct.net
Tikinti şirkətləri
4marketplace.net
Marketplace
4shopy.net
Onlayn mağaza
4pricing.net
Qiymət müqayisəsi
4salefood.net
Yemək çatdırılması
4rentify.net
İcarə
4transports.net
Nəqliyyat
4agencytravel.net
Turizm agentliyi
4hotel.net
Otel idarəetməsi
4ong.net
QHT idarəetməsi