Kiedy używać rozwiązania Kubernetes
Decyzja o korzystaniu z platformy orkiestracji kontenerów, takiej jak Kubernetes, zależy od wymagań biznesowych i programistycznych. Poniżej omówiono ogólną architekturę rozwiązania do śledzenia dronów.
Rozwiązanie to zostało skompilowane jako mikrousługi, które zaprojektowano jako luźno powiązane, współpracujące ze sobą usługi. Aby uprościć projektowanie i konserwację rozwiązania, te usługi są wdrażane niezależnie od siebie. Oto bieżąca konfiguracja tego rozwiązania.
- Fronton internetowy: przedstawia mapy i informacje o śledzonych dronach.
- Usługa pamięci podręcznej: przechowuje często żądane informacje wyświetlane w witrynie internetowej.
- INTERFEJS API RESTful: używany przez śledzone drony do wysyłania danych o ich stanie, takich jak lokalizacja GPS i poziomy naładowania baterii.
- Kolejka: przechowuje nieprzetworzone dane zebrane przez interfejs API RESTful.
- Usługa przetwarzania danych: pobiera i przetwarza dane z kolejki.
- Baza danych NoSQL: przechowuje przetworzone dane śledzenia i informacje o użytkownikach przechwycone z witryny internetowej i usługi przetwarzania danych.
Usługi te są opracowywane i zarządzane przez odrębne zespoły w firmie. Każdy zespół używa kontenerów do kompilowania i wdrażania swojej usługi. Ta nowa strategia umożliwia zespołom deweloperów spełnianie wymagań nowoczesnego opracowywania oprogramowania dotyczących automatyzacji, testowania i ogólnej stabilności oraz jakości.
Zmiana wymagań deweloperów doprowadziła do kilku korzyści biznesowych i procesów dla firmy. Przykłady obejmują lepsze wykorzystanie hostowanych zasobów obliczeniowych, nowe funkcje skracające czas wprowadzania na rynek i możliwość dotarcia do szerszego grona klientów.
Jednak kilka wyzwań związanych z zarządzaniem kontenerami doprowadziło firmę do zbadania rozwiązań orkiestracji kontenerów. Zespoły stwierdziły, że skalowanie aplikacji do śledzenia dla kilku wdrożeń było stosunkowo proste, ale skalowanie i zarządzanie wieloma wystąpieniami jest trudne.
Należy także rozważyć kilka innych aspektów — Przykłady obejmują radzenie sobie z kontenerami, alokacją magazynu, konfiguracją sieci i zarządzaniem wpisami tajnymi aplikacji.
Jak wiesz wcześniej, platforma Kubernetes zapewnia obsługę wszystkich tych wyzwań jako platformy aranżacji.
Platformy Kubernetes warto używać, jeśli firma:
- opracowuje aplikacje jako mikrousługi,
- opracowuje aplikacje jako aplikacje natywne dla chmury,
- wdraża mikrousługi przy użyciu kontenerów,
- aktualizuje kontenery na dużą skalę,
- wymaga scentralizowanego zarządzania sieciami kontenerów i magazynem.
Kiedy nie używać platformy Kubernetes
Nie wszystkie aplikacje muszą być uruchamiane na platformie Kubernetes. W związku z tym platforma Kubernetes może nie być odpowiednia dla Twojej firmy.
Na przykład nakład pracy związany z konteneryzacją i wdrażaniem aplikacji monolitycznej może przewyższać korzyści wynikające z uruchamiania aplikacji na platformie Kubernetes. Architektura monolityczna nie może łatwo korzystać z funkcji, takich jak skalowanie lub aktualizacje poszczególnych składników.
Platforma Kubernetes może zapewnić wiele korzyści biznesowych dotyczących tworzenia oprogramowania, wdrażania, zarządzania i usprawnienia procesów. Jednak platforma Kubernetes wymaga szybkiego przyswajania wiedzy. Modułowy projekt rozwiązania Kubernetes wprowadza potencjalnie nowe pojęcia, które wpływają na zespoły w całej firmie.
Zespoły programistyczne muszą korzystać z nowoczesnych pojęć projektowych podczas tworzenia i projektowania aplikacji. Te pojęcia obejmują używanie mikrousług i konteneryzowanie tych usług. Zespoły muszą również eksperymentować ze środowiskami kontenerów i orkiestracji, aby jak najlepiej wykorzystać wszystkie dostępne opcje.
Jeśli firma nie jest gotowa do przyjęcia tej zmiany, platforma Kubernetes może nie być dla niej odpowiednim wyborem.