Technológie

← Domov
Infraštruktúra a nasadenie

Cloud, Docker a DevOps — rýchle a spoľahlivé nasadenie

Všetky aplikácie kontajnerizujeme v Dockeri, orchestrujeme ich cez Docker Compose (alebo Kubernetes pri enterprise projektoch), Caddy nastavujeme ako reverzný proxy s automatickým SSL a celý cyklus nasadenia automatizujeme cez GitHub Actions — od commitu po produkciu.

Kontajnerizácia s Dockerom a Docker Compose

Každá služba má vlastný viacstupňový Dockerfile: build stage, ktorý inštaluje závislosti a kompiluje, a minimálny finálny stage (distroless alebo alpine), ktorý obsahuje iba potrebné artefakty. Typický image Next.js vychádza pod 150 MB, FastAPI pod 80 MB. Images sa znovu zostavujú pri každom merge do main a označujú sa sémanticky (`v1.2.3` + `latest`).

Docker Compose definuje celý stack: frontend, API, DB, Redis, worker. Citlivé premenné (heslo DB, API kľúče, Stripe secret) sú v `.env` vylúčenom z gitu — nikdy nie sú napevno v image. Health checks v Compose zabezpečujú, že závislosti sú pripravené pred štartom (DB pripravená → štart API → štart frontendu).

  • Build cache s `--mount=type=cache` — zrýchľuje npm ci v CI
  • Optimalizované poradie vrstiev: stabilné závislosti → zdrojový kód
  • Správa tajomstiev cez Docker secrets alebo HashiCorp Vault pri enterprise projektoch
  • `restart: unless-stopped` + `docker compose up --no-deps` pre atómové nasadenie

Caddy — moderný reverzný proxy s automatickým SSL

Caddy 2.8 spravuje SSL/TLS automaticky cez ACME (Let's Encrypt alebo ZeroSSL) — žiadny expirovaný certifikát, žiadna manuálna konfigurácia. HTTP/2 a HTTP/3 (QUIC) sú predvolene zapnuté. Bezpečnostné hlavičky (HSTS, X-Frame-Options, CSP) sú nastavené globálne cez opakovane použiteľné snippety. Deklaratívna konfigurácia Caddyfile sa dá porovnávať (diff) a je verzovaná v gite.

Rate limiting, kompresia gzip/brotli a štruktúrované JSON logovanie sa aktivujú natívnymi direktívami Caddy — bez modulov nginx alebo zložitej konfigurácie Apache. Prístup k citlivým cestám (`/admin`, `.env`, `.git`) vracia 444 (bez odpovede), nakonfigurované ako globálny bezpečnostný snippet.

  • A+ na SSL Labs od prvého dňa — iba TLS 1.3 s modernými cipher suites
  • On-demand TLS pre multi-tenant SaaS s dynamickými subdoménami
  • Reload konfigurácie — `caddy reload` neprerušuje aktívne spojenia
  • Logovanie Caddy → Loki → Grafana — analýza prevádzky a upozornenia na anomálie

CI/CD cez GitHub Actions a monitoring

Pipeline CI beží pri každom PR: lint, type check, unit testy, build image Docker, sken zraniteľností (Trivy). Ak všetko prejde, image sa pushne do registry a nasadenie na staging prebehne automaticky. Merge do main = automatické nasadenie do produkcie s healthcheckom po nasadení. Automatický rollback, ak healthcheck zlyhá do 60 sekúnd.

Monitoring s Grafana + Prometheus pre aplikačné metriky (latencia, error rate, veľkosť frontu) a Loki na agregáciu logov. Upozornenia nastavené na Slack/e-mail: error rate >1 %, latencia P95 >500 ms, disk >85 %. Externý uptime monitoring cez Better Uptime — verejný SLA dashboard je dostupný na požiadanie.

  • Sken zraniteľností Trivy na images — blokovanie pri Critical CVE
  • Dependabot + auto-merge pre patch aktualizácie (vyžaduje sa zelené CI)
  • Automatická záloha DB do úložiska kompatibilného s S3 (každú noc, retencia 30 dní)

Výhody a obmedzenia

Výhody

  • Nasadenie s automatickým rollbackom pri zlyhaní healthchecku.
  • Automatické SSL/TLS cez Caddy — žiadny manuálne expirovaný certifikát.
  • Reprodukovateľné prostredie: ten istý image Docker vo vývoji, na stagingu aj v produkcii.
  • Monitoring a upozornenia (Grafana, Loki) — problémy vidieť skôr než používatelia.

Obmedzenia

  • Docker Compose sa neškáluje ako Kubernetes pri enterprise multi-node nasadení.
  • Počiatočné nastavenie CI/CD vyžaduje čas a odbornosť v DevOps.
  • Images a logy zaberajú miesto na disku — vyžadujú pravidelné čistenie.
  • Kompletný monitoring (Prometheus + Grafana) pridáva služby, ktoré treba udržiavať.

Stručné zhrnutie

Docker + Caddy + GitHub Actions je ideálna kombinácia pre spoľahlivé nasadenie na VPS alebo niekoľko uzlov. Pri desiatkach uzlov s agresívnym auto-scalingom prejdite na Kubernetes.

Tabuľka špecifikácií

SchopnosťLimit / prahTypické použitie
OrchestráciaDocker Compose, kompletný stackJeden uzol; multi-node vyžaduje Swarm/K8sVPS, malé a stredné projekty
Reverzný proxyCaddy 2.8, HTTP/3, automatické SSLVeľmi zložité pravidlá vyžadujú rozsiahlu konfiguráciuViac domén, multi-tenant
CI/CDGitHub Actions, automatické nasadenie od commituMinúty CI sa nad rámec free tier spoplatňujúAutomaticky od commitu po produkciu
Typické nákladyVPS od ~5 €/mesiacMonitoring + zálohovanie zvyšujú nákladyOd jedného webu po multi-brand

Docker Compose vs Kubernetes

KritériumDocker ComposeKubernetes
Zložitosť nastaveniaNízkaVysoká
Multi-node škálovanie / auto-scalingObmedzené (jeden uzol)Výborné
Vhodné preVPS, malé a stredné projektyVeľké flotily, enterprise

Často kladené otázky

Prečo Caddy a nie Nginx?

Caddy spravuje SSL/TLS automaticky cez ACME, predvolene zapína HTTP/2 a HTTP/3 a má krátku deklaratívnu konfiguráciu. Nginx vyžaduje certbot a viac manuálneho nastavovania na rovnaký výsledok.

Potrebujem Kubernetes?

Pre väčšinu webov nie. Docker Compose na VPS spoľahlivo zvláda jeden web alebo niekoľko služieb. Kubernetes sa stáva užitočným až pri desiatkach uzlov s agresívnym auto-scalingom.

Ako prebieha nasadenie novej verzie?

GitHub Actions zostaví nový image, spustí ho popri starom, vykoná healthcheck a potom prepne prevádzku. Ak healthcheck zlyhá do 60 sekúnd, automaticky sa vykoná rollback na predchádzajúcu verziu.

Aký monitoring odporúčate?

Grafana + Prometheus pre metriky (latencia, error rate) a Loki pre agregované logy, s upozorneniami na Slack/e-mail. Pre externý uptime pridávame nezávislú službu, napríklad Better Uptime.

4b2b.net
Podnikový ekosystém
4conta.ro
Účtovníctvo
4invoices.net
Aplikácia na fakturovanie
4expenses.net
Správa výdavkov
4notify.net
Notifikácie
4hosting.net
Hosting
4database.net
Databázy
4buildsite.net
Tvorba webových stránok
4myapp.net
Tvorba aplikácií
4avatars.net
AI avatary
4chaty.net
AI chatbot
4webagency.net
Softvér pre webové agentúry
4softedu.net
Weby pre vzdelávanie
4softcrm.net
CRM platforma
4softerp.net
ERP systém
4softhr.net
Riadenie ľudských zdrojov
4mystaff.net
Portál zamestnancov
4myprojects.net
Manažér projektov
4mycontracts.net
Zmluvy
4docs.net
Správa dokumentov
4appointments.net
Rezervácie
4marketingonline.net
Marketing
4insurance.net
Poistenie
4property.net
Reality
4lawyers.net
Právny softvér
4mygarage.net
Autoservis
4driving.net
Autoškoly
4fleet.net
Správa vozového parku
4myevents.net
Podujatia
4therapy.net
Terapia
4clinics.net
Kliniky
4dental.net
Zubné ambulancie
4restaurants.net
Reštaurácie
4beautify.net
Salón krásy
4gym.net
Fitness centrá
4guards.net
Bezpečnostné firmy
4softvet.net
Veterinárne ambulancie
4softauto.net
Softvér pre autobiznis
4construct.net
Stavebné firmy
4marketplace.net
Trhovisko
4shopy.net
Online obchod
4pricing.net
Porovnanie cien
4salefood.net
Rozvoz jedla
4rentify.net
Prenájom
4transports.net
Doprava
4agencytravel.net
Cestovná agentúra
4hotel.net
Správa hotelov
4ong.net
Sprava NNO