Zaloguj
Zaloguj się do panelu
Architektura IT

Projektowanie środowisk chmurowych

Infrastruktura IT opisana jako kod, wdrażana automatycznie, zarządzana zdalnie. Joton projektuje i zarządza środowiskami na UpCloud i Hetzner Cloud — z centrum danych w Warszawie, Frankfurcie i Helsinkach. Od pojedynczego VPS do architektury wysokiej dostępności z load balancingiem i automatycznym failoverem.

Infrastructure as Code

Cała infrastruktura opisana w plikach Terraform wersjonowanych w git. Wdrożenie środowiska to jedno polecenie terraform apply. Odtworzenie po awarii — minuty, nie godziny. Każda zmiana jest widoczna, przypisana do osoby i odwracalna.

Dev, staging, produkcja

Trzy oddzielne, izolowane środowiska z identyczną konfiguracją. Środowisko dev uruchamiane i wyłączane na żądanie — nie generuje kosztów gdy nikt nie pracuje. Staging wychwyci błędy PHP.ini, zależności systemowe i konfiguracje cache przed deployem na produkcję.

CI/CD i automatyczne wdrożenia

Integracja z GitHub Actions lub GitLab CI. Schemat: pull request → testy automatyczne → deploy na staging → deploy na produkcję. Rollback do poprzedniej wersji zajmuje minutę: deploy poprzedniego tagu z git.

Bezpieczeństwo i IAM

Każdy komponent ma odrębne poświadczenia z minimalnym zakresem uprawnień (least privilege). Reguły firewall definiowane w Terraform — zmiana to commit w repozytorium, nie kliknięcie w panelu. Sekrety w HashiCorp Vault lub natywnych mechanizmach UpCloud/Hetzner.

Infrastruktura jako kod Terraform

Tradycyjne podejście: administrator ręcznie konfiguruje serwer przez SSH lub panel. Każda zmiana jest trudna do powtórzenia. Odtworzenie środowiska po awarii trwa godziny lub dni. IaC odwraca tę logikę.

main.tf — serwer w Warszawie (pl-waw1)
resource "upcloud_server" "app" {
  hostname = "app-prod-01"
  zone     = "pl-waw1"
  plan     = "2xCPU-4GB"

  template {
    storage = "Ubuntu Server 22.04 LTS"
    size    = 50
  }

  network_interface {
    type = "public"
  }

  network_interface {
    type    = "private"
    network = upcloud_network.private.id
  }
}

Ten plik opisuje serwer 2 vCPU / 4 GB RAM w Warszawie z dyskiem 50 GB, podpiętym do sieci prywatnej. To samo terraform apply tworzy środowisko dev, staging i produkcję — z gwarantowaną spójnością konfiguracji.

Typowe środowisko produkcyjne

Środowisko z wysoką dostępnością składa się z kilku warstw, z których każda może być skalowana lub zastępowana niezależnie.

Load balancer

Przyjmuje ruch zewnętrzny i rozdziela między serwery aplikacyjne. Health checks automatycznie wyłączają z puli serwer, który przestał odpowiadać.

Warstwa aplikacyjna

2 lub więcej identycznych serwerów. Przy awarii jednego pozostałe przejmują ruch. Wdrożenia rolling — po jednym serwerze, bez restartu całości.

Baza danych z repliką

Główna instancja obsługuje zapisy, replika odczyty. Automatyczny failover w 30–60 sekund (UpCloud Managed Database PostgreSQL/MySQL).

Prywatna sieć VLAN

Komunikacja między komponentami przez prywatną sieć. Serwery aplikacyjne nie są dostępne z internetu bezpośrednio.

Object Storage (S3)

Pliki statyczne, dokumenty, backupy przechowywane oddzielnie od serwerów. Zgodny z API S3 — aws-cli, rclone, wtyczki WordPress działają bez zmian.

Kiedy pełna architektura chmurowa

  • Aplikacja SaaS lub e-commerce z wymaganiem uptime 99,9%+
  • Zmienny ruch wymagający autoscalingu
  • Zespół programistów pracujących równolegle
  • Wymagania compliance: separacja danych, logi dostępu

Rachunek ekonomiczny

E-commerce z obrotem 100 tys. PLN miesięcznie traci przy godzinnej awarii ok. 140 PLN przychodu (równomierny rozkład ruchu 24/7).

Koszt środowiska HA na UpCloud: 400–800 PLN miesięcznie. Różnica w dostępności między prostym VPS a HA cluster to statystycznie kilka do kilkudziesięciu godzin przestoju rocznie.