Cloud Foundry i Kubernetes to technologie, które odgrywają kluczowe role w zarządzaniu środowiskami chmurowymi, a ich współpraca staje się coraz bardziej znacząca. Jeszcze kilka lat temu były postrzegane jako oddzielne byty. Jednak dzięki różnym integracjom i projektom, takim jak KubeCF i Eirini, Cloud Foundry (CF) zaczęło współpracować z Kubernetes (K8s) w sposób bardziej zaawansowany, co przyniosło liczne korzyści użytkownikom.
Rozwój Cloud Foundry z Kubernetes
Cloud Foundry to platforma, która od lat jest popularna w zarządzaniu jednorodnymi, dużymi środowiskami, oferując zaawansowane narzędzia dla deweloperów. Jednak w miarę jak Kubernetes zdobywał na popularności jako standard w zarządzaniu kontenerami, pojawiła się potrzeba integracji obu tych technologii. Wynikiem tego było stworzenie narzędzi takich jak KubeCF, a także projektów, które umożliwiły uruchamianie aplikacji Cloud Foundry bezpośrednio na Kubernetes.
Przykładem takich projektów jest Eirini, który pozwalał na uruchamianie aplikacji Cloud Foundry jako standardowych zadań Kubernetes, co znacząco uprościło zarządzanie środowiskiem. Integracja CF i K8s wpłynęła na rozszerzenie możliwości Cloud Foundry, czyniąc go bardziej elastycznym i otwartym na nowe standardy w obszarze chmury.
Historia współpracy CF i K8s
Początki tej integracji sięgają 2017 roku, kiedy to podczas Cloud Foundry Summit Europe zaprezentowano pomysł konteneryzacji samej platformy Cloud Foundry. Projekty takie jak Quarks i Fissile były pierwszymi próbami zintegrowania CF z Kubernetes, jednak napotykały one na trudności związane z zarządzaniem dwoma równoległymi systemami orkiestracji – CF i K8s.
W kolejnych latach, prace nad integracją przyspieszyły. W 2019 roku pojawiło się KubeCF, które stało się stabilną implementacją Cloud Foundry działającą na Kubernetes. VMware zaprezentował również wersję alpha swojego Pivotal Application Service (PAS) działającego na Kubernetes, co stanowiło kolejny krok w rozwoju współpracy między tymi technologiami.
Przewaga KubeCF i cf-for-k8s
W 2020 roku społeczność deweloperska zaprezentowała cf-for-k8s – natywną dla Kubernetes dystrybucję Cloud Foundry, która w pełni wykorzystuje komponenty Kubernetes. Było to przełomowe wydarzenie, które umożliwiło deweloperom korzystanie z Cloud Foundry w środowisku Kubernetes, bez konieczności rezygnowania z narzędzi i ekosystemu K8s. Wersja cf-for-k8s 1.0 przyniosła wsparcie dla komponentów takich jak kpack czy Istio, co jeszcze bardziej zacieśniło współpracę obu technologii.
Równocześnie utrzymywano KubeCF, które w wersji 2.5 zakończyło proces przejścia na Kubernetes jako alternatywę dla silnika Diego, używanego dotąd przez Cloud Foundry do orkiestracji kontenerów.
Korifi – przyszłość Cloud Foundry i Kubernetes
Obecnie społeczność Cloud Foundry pracuje nad projektem Korifi, który ma na celu dalsze uproszczenie korzystania z Kubernetes, zachowując jednocześnie wszystkie korzyści płynące z użytkowania Cloud Foundry. Korifi ma zapewnić deweloperom takie same doświadczenie jak tradycyjne CF, ale z pełnym wsparciem dla technologii natywnych dla Kubernetes.
Projekt Korifi stawia na integrację z popularnymi narzędziami ekosystemu Kubernetes, takimi jak kpack (do generowania artefaktów aplikacji) oraz Istio (do routingu i zarządzania siecią). W ten sposób Cloud Foundry na Kubernetes staje się bardziej kompatybilne z nowoczesnymi praktykami chmurowymi, jednocześnie oferując deweloperom znane i sprawdzone rozwiązania CF.
Wspólne korzenie i podobieństwa
Cloud Foundry i Kubernetes mają wiele wspólnych fundamentów. Obie technologie wywodzą się z projektu BORG, rozwijanego przez Google, a BOSH – narzędzie do zarządzania w Cloud Foundry – zostało zaprojektowane jako kolejna generacja BORG. Zarówno CF, jak i K8s, opierają się na kontenerach jako podstawowych jednostkach wdrożeniowych i wspierają aplikacje budowane zgodnie z zasadami 12-faktorowymi.
Co więcej, oba systemy uwzględniają aplikacje stanowe i stosują wzorzec sidecar, co podkreśla ich bliskość w koncepcji działania.
Droga naprzód
Czy Cloud Foundry i Kubernetes mogą współistnieć? Odpowiedź brzmi: tak. Technologiczny świat jest wystarczająco duży, aby obie te platformy mogły równocześnie prosperować. Cloud Foundry pozostaje doskonałym wyborem dla tych, którzy chcą uprościć zarządzanie swoimi maszynami wirtualnymi i kontenerami, podczas gdy Kubernetes jest idealny dla tych, którzy preferują większą elastyczność i kontrolę nad swoimi środowiskami.
W przyszłości możemy spodziewać się jeszcze większej liczby narzędzi i projektów, które będą łączyć te dwa światy, oferując użytkownikom to, co najlepsze z obu technologii.