Edukacja

Dlaczego warto dobrze zaplanować architekturę aplikacji?

Dlaczego warto dobrze zaplanować architekturę aplikacji?

Z badań VMware wynika, że 9 na 10 projektów związanych z aplikacjami koncentruje się obecnie na ich modernizacji. Przenoszone do świata online firmy toczą bój o pozytywne doświadczenia klientów - te w dużej mierze zależą od właściwie zaprojektowanych aplikacji.

Dobrze przemyślane, innowacyjne oprogramowanie przekłada się na lepsze wyniki biznesowe i pozytywne doświadczenia klientów. Wykorzystując architekturę mikrousług opartą na kontenerach i Kubernetes, można szybko wdrażać nowe funkcje, zwiększać elastyczność i skalowalność na żądanie. Dzięki takiemu podejściu aplikacje mogą zostać rozbite na tysiące mikrousług rozmieszczonych w zróżnicowanym, często rozproszonym środowisku — w centrach danych, chmurach prywatnych lub publicznych (jako rozszerzenie infrastruktury lokalnej). Celem jest ograniczenie awarii, redukcja kosztów i zachowanie zgodności z przepisami. Dane VMware mówią, że 80% organizacji wdraża obecnie aplikacje w modelu rozproszonym.

Zespoły zajmujące się aplikacjami mogą szybko rozwijać i weryfikować Kubernetes w środowiskach deweloperskich. Jednakże przed wdrażającymi aplikacje do środowisk produkcyjnych stoi zupełnie odmienny wachlarz problemów - chodzi o bezpieczeństwo łączności i operacyjności, szczególnie gdy aplikacje rozproszone są w wielu miejscach.

Wyzwanie dla zespołów IT

Zespoły budujące aplikacje w architekturze mikroserwisów muszą zastanowić się, jak zapewnić łączność między usługami rozmieszczonymi w kontenerach, w wielu chmurach oraz środowiskach hybrydowych — czasami niektóre z komponentów aplikacji działają na maszynach wirtualnych. Przykładowo, nowa aplikacja e-commerce oparta na architekturze mikroserwisów może wymagać kontaktu z bazą danych działającą w środowisku VMware vSphere lub w chmurze. Brak sprawnego połączenia pomiędzy tymi środowiskami może powodować wyhamowywanie rozwoju i usprawniania aplikacji, a przedsiębiorstwo postawić w trudnej sytuacji niespełniania wymagań klientów.

- Wraz z przenoszeniem obciążeń i aplikacji do chmury obliczeniowej pojawiły się nowe zagrożenia. Już samo zapewnienie bezpieczeństwa w jednej chmurze wymaga wyjątkowej dbałości o szczegóły. W środowiskach wielochmurowych wyzwań jest znacznie więcej - pojawia się znacznie więcej elementów, które nieświadomy użytkownik, mówiąc kolokwialnie, może zepsuć. Przedsiębiorstwa doświadczają coraz częstszych naruszeń bezpieczeństwa w wyników exploitów, luk czy ataków phishingowych i DDoS. To generuje wyzwania związane z zabezpieczeniem łączności, nie tylko pomiędzy użytkownikami końcowymi a klastrami Kubernetes, ale również między lokalizacjami czy środowiskami kontenerów i maszyn wirtualnych - zwraca uwagę Rafał Ważny, Cloud Architect z Crayon, firmy doradzającej w obszarze cyfrowej transformacji.

- Zespoły IT muszą zagwarantować, aby użytkownicy na bieżąco otrzymywali właściwe uprawnienia dostępu do aplikacji, komponenty były odpowiednio izolowane, a jednocześnie by komunikacja skroś różnych infrastruktur i procesów pozostawała zabezpieczona. Identyfikacja oparta na adresach IP jest niewystarczająca dla nowoczesnych aplikacji. Niezbędna jest pełna widoczność, a także wdrożenie zasad Zero Trust Network Access, czyli “nigdy nie ufaj, zawsze sprawdzaj” — mówi Stanisław Bochnak, Strateg w VMware Polska, dostawcy oprogramowania dla firm.

Centralizacja otwartego świata aplikacji

Odpowiedzialność za bezpieczne i wydajne wdrożenie Kubernetes spoczywa na barkach zespołów zajmujących się platformami aplikacyjnymi. Mierzą się one z ogromną liczbą komponentów z otwartym kodem źródłowym, które muszą być zintegrowane, aby osiągnąć łączność, dostępność, bezpieczeństwo i widoczność.

Specjaliści potrzebują sposobu na centralne zarządzanie ruchem i politykami bezpieczeństwa w całym środowisku operacyjnym aplikacji. Niezbędne jest uzyskanie całkowitej przejrzystości wielu środowisk K8s i całych topologii aplikacji, w tym ich zależności, metryk, śladów i logów. Produktem końcowym tej złożoności jest zazwyczaj kompromis między częściową widocznością, automatyzacją a skalowalnością, a to kończy się niepowodzeniem wielu projektów. Te wszystkie wyzwania skłaniają do dalszej ewolucji myślenia o sieci i bezpieczeństwie dla nowoczesnych aplikacji. Nie możemy polegać wyłącznie na architekturach sieciowych z poprzedniej dekady. Aby sprostać wymogom łączności, bezpieczeństwa i operacyjności w tym gwałtownie rozwijającym się świecie, potrzebne są bardziej wszechstronne i elastyczne modele.

- Przemyślane rozwiązania przyspieszą modernizację aplikacji, zapewniając łączność i lepsze bezpieczeństwo w hybrydowych architekturach. Stosowanie zasady cloud-native usprawni proces łączenia, skalowania i zabezpieczania aplikacji w środowiskach wielochmurowych — przewiduje Stanisław Bochnak, Strateg w VMware Polska.

VMware