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ę.
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.