Kiedy używać rozwiązania Kubernetes

Ukończone

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.

Diagram of the high-level architecture that describes the drone tracking solution.

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