Liczba usług
Im więcej API, workerów, kolejek, frontendów i integracji, tym bardziej przydaje się orkiestracja.
Narzędzie
Kiedy Kubernetes ma sens, kiedy wystarczy Docker, jak planowac klastry, rolling update, monitoring, storage i backup aplikacji.
Kubernetes pomaga utrzymywać wiele usług aplikacyjnych, wdrażać zmiany bez ręcznego klikania po serwerach i odtwarzać procesy po awarii. Nie jest jednak magicznym skrótem: wymaga monitoringu, storage, backupu, ingressu, certyfikatów i świadomej administracji klastra.
Kubernetes warto rozważyć, gdy aplikacja składa się z wielu usług, ma częste wdrożenia, wymaga większej dostępności albo zespół potrzebuje powtarzalnych środowisk. Dla jednej małej aplikacji Kubernetes często jest zbyt ciężki, ale dla systemów z mikroserwisami, workerami i wieloma środowiskami może uporządkować produkcję.
Im więcej API, workerów, kolejek, frontendów i integracji, tym bardziej przydaje się orkiestracja.
Rolling update, health checki i szybki powrót do poprzedniej wersji są jednymi z największych zalet Kubernetes.
Najtrudniejsze są zwykle bazy, wolumeny, backup i migracje danych. To trzeba zaplanować przed produkcją.
Bez monitoringu Kubernetes może ukrywać problemy, zamiast je rozwiązywać. Potrzebne są metryki, logi i alerty.
Kubernetes ma sens przy wielu usługach, częstych wdrożeniach, potrzebie automatycznego odtwarzania, rolling update, większej dostępności i pracy zespołowej nad kilkoma środowiskami.
Jeśli firma ma jedną prostą aplikację, niewielki ruch i mały zespół, Docker Compose na VPS albo serwerze cloud może być prostszy, tańszy i łatwiejszy w utrzymaniu.
Najczęściej storage, backup, monitoring, sieć, ingress, certyfikaty, sekrety i aktualizacje klastra. Samo uruchomienie podów to dopiero część pracy.
Nie. Kubernetes odtwarza pody i pomaga utrzymać usługę, ale nie zastępuje kopii baz danych, wolumenów, konfiguracji i testu odtworzenia danych.