W obszarze tworzenia i dostarczania aplikacji zachodzą rewolucyjne zmiany. Początkowo kontroler dostarczania aplikacji (ADC) był oddzielnym, fizycznym, a później również wirtualnym elementem sieci, zarządzanym przez zespół specjalistów. Działał przed farmą serwerów i pomagał w zoptymalizowaniu wydajności i bezpieczeństwa aplikacji. Metodyki DevOps i agile całkowicie zmieniły tę sytuację: ADC zmienił się w kluczowy element samej aplikacji.

Zamiast tworzenia lub aktualizowania aplikacji w cyklach kwartalnych lub rocznych, jak w tradycyjnej metodyce „kaskadowej”, model agile skrócił cykl do kilku tygodni deweloperskiego sprintu. Jednocześnie metodyka DevOps – poprzez połączenie tworzenia i obsługi aplikacji – skróciła czas wdrażania, ostatecznie prowadząc do procesu ciągłej integracji i ciągłego dostarczania (CI/CD).

To radykalne przyspieszenie oznacza, że rozróżnienie między tworzeniem, a wdrażaniem aplikacji w praktyce się zatarło. Wdrażanie i konfiguracja urządzeń ADC po wdrożeniu aplikacji, w celu zoptymalizowania wydajności, zapewnienia wysokiej dostępności, bezpieczeństwa i odporności aplikacji nie jest już oddzielną czynnością. Ponieważ deweloperzy dokonują natychmiastowych zmian w swoich aplikacjach, muszą sami zadbać o kwestie wydajności, wysokiej dostępności i bezpieczeństwa. W środowisku zajmującym się bezpieczeństwem jeden z aspektów tej transformacji jest znany jako „shift left security” (bezpieczeństwo przesunięte w lewo). Zespoły deweloperskie muszą przejąć odpowiedzialność za bezpieczeństwo aplikacji, co oznacza, że zabezpieczenia muszą być wbudowane w projekt. Nie należy pozostawiać tego zadania oddzielnie działającym zaporom aplikacyjnym i innym rozwiązaniom zabezpieczającym.

Ta sama zasada dotyczy wszystkich optymalizacji zapewnianych przez ADC. ADC nie jest już tylko urządzeniem, które zespół sieciowy wykorzystuje do przyspieszenia działania aplikacji i zwiększenia ich niezawodności. ADC jest obecnie częścią CI/CD, staje się częścią infrastruktury aplikacji, a nie oddzielnym urządzeniem w centrum danych.

Współczesny ADC musi spełniać wiele funkcji. Natywnie integrować się z rozwiązaniami takimi jak Kubernetes, obsługiwać wdrożenia z wykorzystaniem takich narzędzi, jak Spinnaker oraz Kayenta, czy też łatwo łączyć się z oprogramowaniem do monitorowania zdarzeń, na przykład Prometheus i Grafana. Jednocześnie rozwiązanie powinno być na tyle elastyczne, żeby można było je łatwo i szybko zintegrować z innymi narzędziami. Tylko szeroki zakres integracji zapewnia deweloperom wymagane środki wglądu i optymalizacji, które w konsekwencji pozwalają im zagwarantować odpowiednią wydajność, dostępność i bezpieczeństwo aplikacji.

Niektóre zespoły DevOps wolą używać do tych zadań narzędzi open source. Choć takie podejście ma zalety, czołowe komercyjne rozwiązania ADC oferują kluczową przewagę w deweloperskim wyścigu. Dzięki nim twórcy oprogramowania mogą skupić się na dostarczaniu nowych funkcji i możliwości, przerzucając ciężar integracji i utrzymania na zestawy narzędzi w bezpiecznym i wydajnym rozwiązaniu z kompleksowymi mechanizmami raportowania. Dzięki nim można ograniczyć nakład pracy administracyjnej dostarczając wstępnie zbudowane rozwiązania oparte na popularnym oprogramowaniu firm trzecich oraz oferując pełen zbiór interfejsów API i szablonowych środowisk. Do dyspozycji są też użyteczne wstępnie zdefiniowane usługi w postaci niestandardowych definicji zasobów (custom resource definitione, CRD). Definicje te upraszczają realizację często spotykanych scenariuszy i mogą pomóc zespołom DevOps szybciej i bezpieczniej dostarczać klientom wymagane aplikacje.

Ewolucja kontrolerów ADC jest ogromna. Od urządzeń instalowanych i zarządzanych przez zespół specjalistów do oprogramowania, które nie tylko zarządza dystrybucją zewnętrznego ruchu, ale również komunikacją między licznymi i różnorodnymi komponentami współczesnych aplikacji i jest zintegrowane z cyklem ciągłego wdrażania. Takie oprogramowanie oferuje wiele wartości dodanej w tworzeniu aplikacji według metodyki agile. W szybko zmieniającym się cyfrowym świecie biznesu, kompleksowe rozwiązania z rozbudowanymi interfejsami API, pozwalają firmom nie tylko podejmować szybkie działania, ale również tworzyć zoptymalizowane, wysoce dostępne oraz ściśle zabezpieczone aplikacje, które zapewniają prawdziwą wartość biznesową.

Sebastian Kisiel, Citrix Systems Poland

Dodaj komentarz