Płynne zarządzanie wzrostami ruchu dzięki kontenerom
Płynne zarządzanie wzrostami ruchu dzięki kontenerom
Wdrożenie architektury modułowej składającej się ze skonteneryzowanych mikrousług często jest związane z potrzebą większej zwinności, odporności i skalowalności. Ale kontenery są również technologią odpowiednią do zapewnienia bardziej elastycznej infrastruktury, to znaczy takiej, która jest zdolna poradzić sobie z nagłymi wzrostami ruchu dzięki automatycznemu skalowaniu (auto-scalling). To właśnie elastyczność, jaką charakteryzują się kontenery, pozwala na ich łatwe uruchamianie, skalowanie i zatrzymywanie. Ale wymaga to dostępu do odpowiednich narzędzi.

Elastyczność, koncept łączący wydajność i oszczędność
Koncept elastyczności jest kluczowy w sytuacji, gdy Twoja aplikacja ma do czynienia ze wzrostami ruchu pojawiającymi w sposób nieoczekiwany, występującymi o określonych porach dnia lub sezonowymi. Elastyczność to możliwość modulowania, zarówno w górę jak i w dół, ilości i/lub pojemności kontenerów hostujących Twoje mikrousługi w ten sposób, aby Twoja aplikacja pozostawała dostępna i wydajna, bez względu na ilość połączonych użytkowników. Przy czym wszystko odbywa się w sposób automatyczny. Jakie są tego korzyści? Realizujesz oszczędności, ponieważ zużywasz wyłącznie niezbędną ilość zasobów. Koniec z wykupywaniem ich „na zapas” czy koniecznością ciągłego obserwowania krzywej wzrostu obciążeń, aby w razie nagłej potrzeby być w stanie powiększyć infrastrukturę.
Uwaga: mikrousługi i konteneryzacja to technologie zależne, niezbędne do wdrożenia automatycznego skalowania, natomiast same w sobie są one niewystarczające. Dlatego konieczne jest dodanie orkiestratora, takiego jak Kubernetes, oraz zasobów chmurowych na żądanie zarządzanych przez OVHcloud.

Zrozumieć mechanizmy automatycznego skalowania kontenerów
Istnieją dwa sposoby skalowania Twojej skonteneryzowanej architektury: pionowo, przydzielając w locie dodatkową moc obliczeniową (CPU/RAM) danemu kontenerowi; poziomo, dodając dodatkowe kontenery tam, gdzie pojawia się najwięcej zapytań (wąskie gardło). Oto trzy mechanizmy rozkładania obciążenia, które oferuje usługa Managed Kubernetes® od OVHcloud:

„Auto-scalling podów”
To właśnie mechanizm automatycznego skalowania natywnie osadzony w orkiestratorze Kubernetes dostosuje w czasie rzeczywistym liczbę kontenerów, w zależności od obciążenia, w obrębie wcześniej zdefiniowanych przez Ciebie górnych i dolnych limitów. Na przykład dla danej mikrousługi w Twojej architekturze K8S będzie mógł utworzyć do 10 kontenerów, przy czym minimalna liczba kontenerów nie może wynosić mniej niż 3. Magiczne? Być może, ale co się stanie, jeśli K8S nie znajdzie w Twoim klastrze wystarczającej ilości zasobów, aby utworzyć niezbędne kontenery? Otóż w takiej sytuacji utworzy, na przykład, 7 z 10 dozwolonych kontenerów.

„Auto-scalling węzłów”
Wdrażając Kubernetes jako usługę, firma OVHcloud uzupełniła natywny mechanizm K8S o funkcję „auto-skalowania węzłów” (node auto-scaling): określasz minimalną i maksymalną liczbę instancji, które mogą być wdrożone w Twoim klastrze, a OVHcloud automatycznie dodaje niezbędne zasoby w razie potrzeby, a następnie je wyłącza po spadku obciążenia. Dzięki temu płacisz tylko za zasoby, które rzeczywiście były Ci potrzebne.

Load Balancer for Managed Kubernetes Service
W warstwie poprzedzającej Twój klaster Kubernetes opcjonalna usługa load balancing, w pełni zarządzana przez OVHcloud, rozkłada ruch pomiędzy poszczególnymi zasobami. Dzięki temu obciążenie jest równoważone między kontenerami, a w razie potrzeby również między węzłami, w sposób automatyczny i bezpieczny. Load Balancer posiada interfejs kompatybilny z Kubernetesem.
Jest to również usługa, która umożliwia tryb „rolling upgrade”, wyłączając czasowo z docelowych usług kontenery będące w konserwacji.

Zabezpiecz zarządzanie swoimi obrazami za pomocą Managed Private Registries (Harbor)
Aby zapewnić niezawodność Twoich projektów opartych na kontenerach, firma OVHcloud opracowała usługę prywatnego rejestru, która jest hostowana i administrowana przez nasze zespoły. Dzięki niej możesz przechowywać, zarządzać i uzyskiwać łatwy dostęp (za pośrednictwem API) do obrazów kontenerów oraz pakietów Helm.
Usługa ta, bazująca na projekcie Harbor od Cloud Native Computing Foundation, zapewnia bezpieczny dostęp oparty na rolach (RBAC) oraz wykorzystuje mechanizm Content Trust, który gwarantuje integralność źródeł obrazów.
W ten sposób unikasz ryzyka związanego z identyfikacją podatności dzięki inżynierii wstecznej z dostępem publicznym na platformach takich, jak Github czy Gitlab.
Jakie usługi oferuje OVHcloud, aby wdrażanie mikrousług i zarządzanie nimi były bardziej elastyczne?
Możesz bez problemu samodzielnie hostować Twoje mikrousługi na serwerach typu bare metal czy instancjach Public Cloud i zarządzać wzrostami obciążenia, dodając brakujące zasoby. Możesz też uprościć sobie zadanie, zlecając OVHcloud administrowanie najbardziej krytycznymi usługami, jak bazy danych czy przechowywanie. W takiej sytuacji to my będziemy odpowiadać za zarządzanie wzrostem obciążenia tych usług.

Managed Kubernetes Service
Kubernetes to rekomendowany orkiestrator, ułatwiający wdrażanie i zarządzanie grupami kontenerów Docker, umożliwiając jednocześnie automatyczne naprawianie (auto-healing) i automatyczne skalowanie (auto-scalling). Stanowi niezbędne narzędzie, ale jego administracja może być skomplikowana. Na szczęście zarządzanie klastrem Kubernetes możesz powierzyć dostawcy usług w chmurze: Managed Kubernetes Service bazuje na instancjach Public Cloud od OVHcloud. Ponadto usługa jest darmowa: płacisz wyłącznie za instancje na żądanie i przestrzeń dyskową, której używasz w klastrze Kubernetes.
Opcjonalnie: Load Balancer for Managed Kubernetes Service

Database as a service
Większość technologii baz danych jest dziś proponowanych w modelu Database as a service, to znaczy w trybie w 100 % zarządzanym. Przełączenie może zostać zrealizowane w zaledwie kilka minut. Wystarczy zaimportować bazę danych do nowego środowiska, przetestować i, jeśli wszystko będzie działać prawidłowo, wyłączyć starą bazę.
Twoja baza danych potrzebuje więcej mocy? Możesz zaktualizować swoją ofertę za pomocą kilku kliknięć i bez przerw w działaniu oraz dodać dodatkowy węzeł do Twojego klastra: OVHcloud zsynchronizuje wszystkie dane.

Object Storage
Dzięki Object Storage od OVHcloud nie musisz już samodzielnie dbać o zapewnienie ciągłej dostępności treści, a ponadto zmniejszasz obciążenie Twoich serwerów WWW.
Obsługa zapytań dotyczących contentu (zdjęć, filmów, dźwięków, etc.) nie należy już do Ciebie. OVH zajmuje się wzrostami obciążenia.
Uważasz, że to właściwy moment?
Załóż konto i uruchom Twoje usługi