Jak skutecznie tworzyć aplikacje dla chmury?
W listopadzie zeszłego roku firma Forrester przewidywała, że w 2020 roku wartość rynku chmury publicznej wzrośnie do 299,4 mld USD. W związku z tym nie powinno dziwić, że firmy chcą czerpać korzyści z zalet przetwarzania w chmurze przez tworzenie aplikacji typu cloud-native. Dzięki temu można uzyskać wyjątkowo elastyczne aplikacje, które mogą być tworzone i wdrażane szybciej niż kiedykolwiek przedtem.
Ponadto, przejście na model cloud-native pozwala organizacji stopniowo przenieść swoje stare usługi na skonteneryzowane platformy oparte na usługach i interfejsach API. Nadzór nad nimi sprawowany jest przez zautomatyzowane procedury zespołu DevOps.
Model tworzenia aplikacji natywnych dla chmury można stosować zarówno podczas tworzenia, jak i wdrażania produktu lub usługi. Wymaga to jednak uwzględnienia wielu nowych procedur. Jedną z najbardziej wymagających jest kultura DevOps.
DevOps
DevOps to kultura pracy wykorzystująca zestaw procedur i procesów, które łączą działy tworzenia oprogramowania i działy operacyjne. Programiści i administratorzy podobnie rozumieją swoją pracę i wspólnie czują się za nią odpowiedzialni, co owocuje o wiele bardziej zintegrowanym podejściem do budowy i wdrażania aplikacji.
Wdrożenie kultury i procedur DevOps może się okazać nie lada wyzwaniem. Zmiana codziennych zadań pracowników z natury powoduje zakłócenia, zwłaszcza wtedy, gdy łączy się kulturę, procesy i przepływy pracy dwóch różnych działów w jeden, z inną strukturą, misją i zestawem procesów.
Mimo że wdrożenie podejścia DevOps wymaga czasu i wysiłku, liderzy IT zdają sobie sprawę z tego, że długoterminowe korzyści z tej transformacji przeważają nad początkowymi trudnościami. Ewolucja na pewno pochłonie dużo czasu, ale po jej ukończeniu firma będzie czerpać korzyści z szybszego tworzenia oprogramowania i będzie dysponować bardziej elastycznymi aplikacjami.
Rozwój modułowej architektury
Kolejną częścią zagadnienia cloud-native jest wdrożenie modułowej architektury, w której funkcje aplikacji są podzielone na niezależne moduły. Jednym ze sposób prowadzących do tego celu jest wdrożenie architektury mikrousług, gdzie aplikacje są podzielone na jak najmniejsze, niezależne od siebie części. Architektura ta dobrze sprawdza się w aplikacjach chmurowych, ponieważ tak jak one charakteryzuje się elastycznością i modułowością.
Większość udanych wdrożeń mikrousług polega na przełamaniu monolitycznej aplikacji i podzieleniu jej na mniejsze komponenty. Dzięki analizie dotychczasowego monolitu programiści mogą zobaczyć, w jaki sposób poszczególne „części” aplikacji ze sobą współpracują, co pomaga im określić, gdzie powinny znajdować się granice mikrousług.
Dotychczasowych aplikacji monolitycznych nie można jednak tak po prostu wyrzucić — wiele z nich sprawnie realizowało swoje funkcje w danej organizacji przez wiele lat. W przypadku tych aplikacji należy skupić się na stopniowym przechodzeniu do modelu cloud- native, a nie na dostosowywaniu ich na siłę do standardu. W miarę możliwości należy także zidentyfikować, które części monolitu mogą być udostępniane przez interfejsy API. Dopiero potem można zacząć dzielić monolityczne aplikacje na mikro- lub miniusługi.
Infrastruktura automatyzacji i samoobsługi
Zadania IT wykonywane ręcznie to ogromna strata czasu dla programistów i działów operacji. Automatyzacja tej pracy może zapewnić zespołowi więcej czasu i zasobów, dzięki czemu oprogramowanie będzie można budować i wdrażać o wiele szybciej. W związku z tym stosowanie metod zarządzania infrastrukturą i narzędzi do automatyzacji pracochłonnych procesów wykonywanych ręcznie, jest kluczową częścią strategii cloud-native.
Tak samo ważne jest dbanie o możliwość ponownego wykorzystywania kodu w procesie tworzenia aplikacji. Ponowne tworzenie np. usług buforowania, mechanizmów przepływów pracy lub konektorów integracji może być dużą stratą czasu. Nowoczesne oprogramowanie middleware wykorzystuje kontenery i mikrousługi, a programiści powinni z nich korzystać, ponieważ ich możliwości zostały już zoptymalizowane i zintegrowane z bazową infrastrukturą opartą na kontenerach.
Filozofia ta obejmuje również infrastrukturę, której używa firma. Samoobsługowa infrastruktura na żądanie pomaga zespołom szybko tworzyć spójne środowiska, dzięki czemu programiści mogą skupić się na budowie aplikacji bez tracenia czasu. Kontenery i technologia orkiestracji kontenerów pomagają uprościć dostęp do bazowej infrastruktury aplikacji oraz umożliwiają zarządzenie cyklem życia aplikacji w różnych środowiskach — w chmurach prywatnych i publicznych lub w centrach przetwarzania danych.
Małe kroki
Przejścia na programowanie cloud-native nie dokonuje się z dnia na dzień. Należy je raczej postrzegać jako stopniowy proces oraz okazję do nauki. Oprócz kilku wyjątków (takich jak start-upy) większość przedsiębiorstw ma złożoną infrastrukturę informatyczną, w skład której wchodzą zarówno aplikacje lokalne, jak i usługi chmurowe. Ponadto połączenie wszystkich systemów i platform w jedną architekturę jest dla większości organizacji nierealne — w każdym razie nie naraz. Nowe aplikacje można od razu uruchomić w chmurze, natomiast przeniesienie tam dotychczasowych aplikacji to dłuższy proces.
Kluczem do pomyślnego wdrożenia podejścia cloud-native jest metoda małych kroków. Warto zacząć od migracji monolitów i aplikacji do chmury — w centrum danych przedsiębiorstwa lub poza nim. Następnie należy skonteneryzować obciążenia i wdrożyć platformę orkiestracji kontenerów. A potem trzeba przyjrzeć się monolitom i ocenić, które z nich można podzielić na mikrousługi lub funkcje serverless.
W miarę uruchamiania nowych usług także wcześniej wykorzystywane aplikacje zaczynają czerpać korzyści z usług chmurowych, jak choćby integracja, automatyzacja procesów biznesowych czy zarządzanie interfejsami API. Chmura staję się w tym przypadku narzędziem dającym nowe możliwości monolitom.
W następnym etapie najważniejsze jest zaś ciągłe uczenie się i wprowadzanie udoskonaleń. W miarę jak zespół IT będzie coraz bardziej obeznany ze zmianami wiążącymi się z podejściem cloud-native, można dostosować procesy i zwiększyć produktywność zarówno programistów, jak i samego oprogramowania.
Autor: Erica Langhi, EMEA Senior Solutions Architect, Red Hat

Emitel Partnerem Technologicznym Impact’25

Polki najbardziej przedsiębiorczymi kobietami w Unii Europejskiej. Jak w biznesie może pomóc im AI?

Nowa motorola edge 60 fusion już w Polsce
Kalendarium
Więcej ważnych informacji
Jedynka Newserii

Jedynka Newserii

Infrastruktura

Blackout w Hiszpanii i Portugalii ujawnił braki europejskiego systemu elektroenergetycznego. Niezbędna modernizacja sieci i połączeń między krajami
Komisja Europejska musi wyciągnąć wnioski z problemów z dostawami energii w Hiszpanii i Portugalii. Zapowiada też podjęcie działań, aby uniknąć takich poważnych blackoutów w przyszłości. Eksperci apelują przede wszystkim o inwestycje w modernizację sieci, by była ona gotowa na większą liczbę źródeł odnawialnych, a także w rozbudowę połączeń między państwami członkowskimi, dzięki czemu łatwiej będzie reagować na kryzysy.
Problemy społeczne
37 proc. Ukraińców nie wie, jak zaszczepić dziecko w Polsce. Potrzebna większa edukacja w tym zakresie

Choć trzech na czterech uchodźców z Ukrainy darzy polski system ochrony zdrowia dużym zaufaniem, to 21 proc. z nich ma problem z zaufaniem do samych szczepień. To dlatego wiele ukraińskich mam podejmuje decyzję o nieszczepieniu dziecka. Dużym wyzwaniem jest więc zwiększanie ich świadomości na temat korzyści płynących ze szczepień dla zdrowia jednostek i całej populacji, a także wyjaśnianie wątpliwości związanych z ewentualnymi skutkami ubocznymi. Tę rolę edukacyjną musi wziąć na siebie polski personel systemu ochrony zdrowia.
Telekomunikacja
Dyrektywa unijna zmienia podejście do cyberbezpieczeństwa. W Polsce trwają prace nad jej wdrożeniem

Według zapewnień rządu w tym kwartale zakończą się rządowe prace nad nowelizacją ustawy o krajowym systemie cyberbezpieczeństwa, która wdroży do polskiego prawa zapisy dyrektywy NIS2. Będzie to mieć istotne znaczenie dla kształtowania polityk cyberbezpieczeństwa przez duże i średnie podmioty zaliczane do kategorii kluczowych i ważnych. Choć pojawiają się głosy krytyczne, sugerujące, że regulacje są zbyt daleko idące, to eksperci od cyberbezpieczeństwa są przekonani, że akurat w tym obszarze mogą one przynieść szereg korzyści, zwłaszcza we współczesnych warunkach geopolitycznych.
Partner serwisu
Szkolenia

Akademia Newserii
Akademia Newserii to projekt, w ramach którego najlepsi polscy dziennikarze biznesowi, giełdowi oraz lifestylowi, a także szkoleniowcy z wieloletnim doświadczeniem dzielą się swoją wiedzą nt. pracy z mediami.