Back
dot dot dot

Jak wybrać najlepsze narzędzia do orkiestracji kontenerów?

2022-09-05 10:20:54

Kontenery są na topie. Gartner przewiduje, że do końca 2022 roku ponad 75% organizacji będzie obsługiwać wdrożone aplikacje kontenerowe.

Wraz ze wzrostem znaczenia kontenerów na popularności zyskiwał również inny trend – orkiestracja kontenerów. Według Datadog prawie wszystkie kontenery są obecnie orkiestrowane, a ponad połowa organizacji korzysta z Kubernetes. 

Narzędzia do orkiestracji kontenerów stają się obecnie standardem dla cloud deweloperów. Więc jeśli Twój zespół rozważa korzystanie z nich, mogę tylko powiedzieć: śmiało! Firmy powinny przeprowadzać migracje i dostosowywać swoje aplikacje tak, aby wykorzystywać orkiestrację kontenerów. 

Tenesys często wspiera swoich klientów w wyborze dostawcy oprogramowania do orkiestracji kontenerów, dlatego dziś chciałbym podzielić się kilkoma przemyśleniami na ten temat. Skupię się na dwóch zarządzanych opcjach od Amazona – Elastic Kubernetes Service (EKS) i Elastic Container Services (ECS) na Fargate lub EC2.

Tych opcji jest jednak znacznie więcej i je również krótko omówię. Ale zanim się w to zagłębimy, rozważmy jedno istotne pytanie.  

Dlaczego oprogramowanie do orkiestracji kontenerów jest Ci potrzebne?

Kontenery są lekkie i łatwe do przeniesienia, dzięki czemu stanowią wydajny sposób tworzenia, pakowania i wdrażania oprogramowania. Mogą działać w dowolnym środowisku, chmurze lub systemie operacyjnym, dzięki czemu zespoły mogą je przenosić i wdrażać bez konieczności przepisywania dużych partii kodu. 

 

Właściwość ta zwiększa produktywność i szybkość Twoich procesów rozwojowych, szczególnie w mikroserwisach. 

 

Jednak to, co czyni je tak uniwersalnymi, może również przysporzyć problemów w produkcji. W połączeniu z mikroserwisami aplikacja kontenerowa może wymagać obsługi setek lub tysięcy kontenerów, zwłaszcza w systemach na dużą skalę. 

 

Orkiestracja kontenerów upraszcza tę złożoność operacyjną w zakresie rozwoju i eksploatacji. Wykorzystuje ona automatyzację do realizacji wielu zadań, a w rezultacie zwiększa odporność i bezpieczeństwo systemu poprzez zmniejszenie prawdopodobieństwa wystąpienia błędu ludzkiego. 

Najpopularniejsze narzędzia do orkiestracji kontenerów

Nie jest dla nikogo zaskoczeniem fakt, że rynek orkiestracji kontenerów stale się rozrasta. 

Najpopularniejsze nazwy to między innymi Kubernetes, Mesos, Docker Swarm, Rancher, Openshift, DigitalOcean Kubernetes Service i Hashicorp Nomad. Pewnie słyszeliście też o usługach od hiperskalerów: AKS od Azure, GKE od Google’a oraz ECS i EKS od Amazona. 

Oczywiście znalazłoby się jeszcze więcej narzędzi opartych na Kubernetes, które mogłyby zwolnić Twój zespół z konieczności instalowania i utrzymywania własnej płaszczyzny sterowania.  

Więc który będzie dla Ciebie najlepszy? Odpowiedź oczywiście brzmi: to zależy. Najważniejsze kwestie, które należy uwzględnić, to wymagania, ogólna koncepcja oraz konfigurowalność i prostota narzędzia. 

Poniżej znajdziesz kilka punktów do rozważenia podczas poszukiwania odpowiedniego narzędzia do pracy. Jak już wspomniałem, przede wszystkim skupię się na ECS i EKS, ale ogólny proces myślowy sprawdzi się również przy ocenie innych narzędzi do orkiestracji kontenerów.  

ECS czy EKS: który system orkiestracji kontenerów będzie dla Ciebie najlepszy?

 

1: Prostota czy elastyczność?

Pierwszą rzeczą, którą należy ustalić, jest to, czy chcesz mieć narzędzie, które jest proste, czy raczej przystosowane do wszelkich rodzajów zadań, z którymi możesz się zmierzyć. Każdy system orkiestracji kontenerów ma jakieś unikalne funkcje, ale ogólny cel jest jasny – usprawnić działanie całego systemu.  

 

ECS umożliwia zarządzanie kontenerami w skali, podczas gdy EKS zajmuje się konkretnie Kubernetes. Oba świetnie nadają się do przyspieszenia procesu tworzenia i wdrażania aplikacji, a także usprawnienia konfiguracji poziomów bezpieczeństwa i zarządzania skalowalnością. 

 

Zarówno ECS, jak i EKS pozwalają używać własnych serwerów lub korzystać z AWS Fargate, który działa sprawnie i eliminuje problemy generowane przez starsze wersje.

 

Jednak EKS daje większe możliwości konfiguracyjne niż ECS i posiada dużą społeczność internetową, która może Ci pomóc w rozwiązaniu wielu problemów. 

 

2: Wdrażanie i migracja  

Drugie zasadnicze pytanie dotyczy uruchomienia i, w razie potrzeby, migracji. 

 

Odpowiedź jest prosta. AWS ECS został stworzony przez AWS dla AWS. Wybór tej opcji oznacza, że pozostajesz w granicach infrastruktury Amazona i nie będziesz w stanie przenieść zasobów do innych dostawców usług w chmurze lub systemie lokalnym. 

 

Ale tu należy zadać sobie ważne pytanie: po co w ogóle to robić? Jeśli funkcjonalności usługi są wystarczające – a AWS daje wiele możliwości wyboru – nie sądzę, aby ta kwestia była istotna.

 

W przeciwieństwie do ECS EKS jest oparty na Kubernetes, co daje większe możliwości w zakresie migracji. Aplikacje można przenosić między różnymi systemami orkiestracji Kubernetes, zarówno w zarządzanej usłudze w chmurze, jak i na własnym hostingu. 

 

Dlatego tak ważne jest, aby już na początku projektu określić swoje potrzeby – pozwoli to na dokonanie właściwych wyborów.

 

3: Nowe wymagania biznesowe

Obecnie firmy dążą do zapewnienia jak największej dostępności i stabilności aplikacji i systemów. Nie mają innego wyjścia, ponieważ ich użytkownicy chcą otrzymywać treści szybciej niż kiedykolwiek. 

 

Należy pamiętać, że samo stworzenie klastra nie wystarczy. Aplikacja i cała jej infrastruktura wymagają szczegółowej konfiguracji, dlatego niezbędna jest również wiedza ekspercka (najlepiej pochodząca od certyfikowanego partnera AWS!). 

 

Trójka największych dostawców usług w chmurze, narzędzia i moc obliczeniowa nieosiągalna nawet kilka lat temu pokazują, jak szybko ewoluuje Internet. Firmy muszą nadążać za tymi zmianami, jeśli nie chcą wypaść z gry, a narzędzia do orkiestracji kontenerów mogą im w tym pomóc.  

 

4: Monitorowanie kontenerów

Więc masz już narzędzie do orkiestracji kontenerów, stworzony system, skonfigurowaną aplikację i nagle… coś przestaje działać. Co zrobisz lub, cytując przebój ze słynnej serii Pogromców Duchów, „who you gonna call?” – do kogo zadzwonisz? 

 

Na ratunek przyjdą współcześni pogromcy duchów, czyli inżynierowie DevOps. 

 

Monitorowanie DevOps każdego systemu jest niezbędnym elementem równania. Niezależnie od wybranej technologii potrzebne Ci będzie wsparcie OnDuty 24/7 i narzędzie monitorujące, które pomoże Ci wychwycić problemy z aplikacją i wypuścić kolejne ulepszenia. 

 

Rozwój to podstawa, więc skoro wszystkie elementy, łącznie z monitoringiem, są już gotowe, na pewno chcesz wiedzieć, co będzie dalej. Więcej na ten temat opowiem w kolejnym wpisie, a na razie pozwól, że zostawię Cię z jednym hasłem: mikroserwisy.

Źródła:

Gartner Forecasts Strong Revenue Growth for Global Container
Management Software and Services Trough 2004

 

 

O autorze: Mateusz Grządzielski, posiada prawie 10-letnie doświadczenie w branży IT. Pracował na wielu stanowiskach wsparcia technicznego – od specjalisty po team leadera.

W Tenesys kieruje zespołem Inżynierów DevOps, skupiając się na projektach klientów i dobrej atmosferze całego zespołu. Poza informatyką Mateusz studiuje na Uniwersytecie Ekonomicznym w Poznaniu i prowadzi własną firmę. 

previous next
scroll