"Nasza baza danych nie będzie się skalować".
Baza danych:
- 40GB całkowitych danych
- 12 zapytań na sekundę
- 0 indeksów na kolumnach zapytań
- N+1 zapytań wszędzie
- 200ms średni czas zapytania
Rozwiązanie:
- Podzielić na 12 baz danych
- Dodać repliki do odczytu
- Wdrożyć warstwę pamięci podręcznej
- Przełączyć na "web scale" NoSQL
Rzeczywiste rozwiązanie:
- Dodać 3 indeksy
- Naprawić zapytania N+1
- 5ms czas zapytania
- 40$/miesiąc Postgres
Nie masz problemu ze skalowaniem.
Masz problem z kompetencjami.
Ogłoszenie o pracę: "Inżynier DevOps"
Aktualna praca:
- Ręczne wdrażanie plików WAR do Tomcat
- SSH do serwerów w celu sprawdzenia logów
- Restartowanie usług, gdy się zawieszają
- Aktualizacja reguł zapory przez zgłoszenia
- Brak infrastruktury jako kodu
- Brak CI/CD
- Brak chmury
Nie zatrudniasz inżyniera DevOps.
Zatrudniasz administratora systemów, który wie, że Docker istnieje.
Bądź po prostu szczery co do roli.
Administratorzy systemów są cennymi pracownikami. Przestań udawać, że robisz DevOps, gdy tak nie jest.
Twój Dockerfile:
- FROM ubuntu:latest
- Instaluje 47 pakietów
- Działa jako root
- Rozmiar obrazu 2,3 GB
- Przebudowa zajmuje 15 minut
- Skanowanie bezpieczeństwa pokazuje 89 luk
Twoja aplikacja:
- Skrypt Pythona
- 3 zależności
- Może działać na Alpine w obrazie 50 MB
Nie używasz kontenerów.
Budujesz maszyny wirtualne za pomocą Dockerfile.
To się dzieje, gdy ludzie uczą się Dockera z przypadkowych artykułów na Medium.