Co kilka lat, w świecie IT, pojawia się nowe, przełomowe rozwiązanie. Aktualnie, wszystkie oczy są skupione na Machine Learning(ML) oraz Sztucznej Inteligencji(AI). Wcześniej były to kontenery, do których istnienia, chyba już wszyscy zdążyli przywyknąć. Jak się okazuje, to co kilka lat temu było absolutną nowością, dziś jest rutyną.

Pomimo że konteneryzacja, rozwiązała wiele ważnych problemów, jako innowacja, nie była za bardzo odkrywcza. Co więcej, z perspektywy zarządzania zespołem, tylko pogłębiła odwieczny podział na administratorów i programistów.
Miała jednak swoje zalety. Bez wątpienia, w porównaniu do poprzednich rozwiązań, zmniejszyła tarcia między zespołami, ułatwiając ich współpracę. W efekcie procesy CI/CD stały się bardziej powtarzalne i efektywne. Oznaczało to również, mniej problemów podczas publikacji zmian i krótszy czas potrzebny do wdrożenia produktu na rynek.

Co robią kontenery? Upraszczając, zamykają Twój stary software w ustandaryzowaną paczkę, która jest łatwiejsza do obsługi przez adminów. Jest to szczególnie istotne w kontekście zarządzania zależnościami oraz ustawieniami środowiska. Jednak nie ma nic za darmo i usprawnienia te mają swoją cenę. Często wiążą się z bardziej skomplikowanym procesem budowy aplikacji i pełną wyzwań administracją specjalistycznych systemów do orkiestracji kontenerów. Ponadto nie uda się ich wdrożyć bez wysoko wykwalifikowanego zespołu.

A co, jeśli jest na to lepszy sposób?

W 2014 roku AWS zaprezentował nową usługę chmurową, która zrewolucjonizowała sposób, w jaki myślimy o dostarczaniu oprogramowania. AWS Lambda – w modelu Function as a Service (FaaS) – wraz z wieloma innymi natywnymi dla chmury usługami, rozpoczęły coś, co dziś nazywamy serverless.

Czym jest serverless

Czym jest to całe serverless?

Technopedia definiuje serverless computing jako kategorię rozwiązań, w których Klient nie musi mieć serwerów –aby uruchamiać swój kod, ale uzyskuje do nich dostęp wtedy, kiedy są mu potrzebne. Dostawca chmury uruchamia i zatrzymuje usługę w modelu PaaS, w odpowiedzi na określone requesty i w zależności od ich ilości nalicza opłaty.

Dlaczego mam się tym przejmować?

Bardzo możliwe, że AWS Lambda i serverless są najbardziej znane ze względu na swój model rozliczeniowy, który nazywa się Pay As You Go. W architekturze serverless, nie ponosisz kosztów nieużywanych zasobów. Rozliczasz się tylko za to, co jest aktywnie wykorzystywane (np. obsługę zapytań od użytkowników). Płacisz również za usługę storage, której używasz do przechowywania swoich plików (Amazon S3, DynamodDB oraz bazy danych Aurora).

Specyfika tego modelu pozwala znacząco ograniczyć wydatki. Zwłaszcza w sytuacji, kiedy jest on zastosowany w odniesieniu do konkretnego problemu. Wytłumaczmy to na przykładzie aplikacji biznesowej, która jest używana tylko podczas biurowych godzin pracy. W tradycyjnych architekturach (używających serwerów lub kontenerów), generuje ona koszty, nawet jeśli aktualnie jest nieużywana. Jeśli uśrednimy, że biura pracują przez 8 godzin dziennie (od 8 do 16), daje nam to 14 godzin, podczas których, aplikacja pozostaje bezczynna. Do tego dochodzą również weekendy. Prosta matematyka pokazuje, że to rozwiązanie, na przestrzeni tygodnia, jest wykorzystywane tylko w 30%. W Serverless jest inaczej. Płacisz tylko za to, czego rzeczywiście używasz. Tym samym w tym modelu efektywność czasu pracy, zawsze wynosi 100%.

Co więcej, serverless prawie dosłownie oznacza „martw się mniej o serwery”(eng.”worry about servers less„). Bez względu na wybrane rozwiązanie, aby nasza aplikacja działała, dostawca chmury musi używać serwerów i kontenerów pracujących w tle. Jednak, w odróżnieniu od ich innych rozwiązań, przy serverless, my – Klienci – nie musimy się o to martwić.
Językowo serverless jest jak wireless. Podobnie jak Twoje domowe WiFi, aby działać musi być podłączone do sieci dostawcy Internetu, przewodem lub światłowodem . Natomiast Ty się tym nie przejmujesz, po prostu cieszysz się bezprzewodowym Internetem na swoim laptopie lub telefonie.

Nieobecność serwerów i tradycyjnej architektury sieciowej ma ogromne znaczenie w szybszym i tańszym dostarczaniu oprogramowania. Oszczędza ogromną ilość czasu pracy programistów i projektantów, co w konsekwencji prowadzi do skrócenia czasu potrzebnego na wdrożenie produktu na rynek (co jest zawsze mile widziane przez interesariuszy biznesowych).

Co więcej, w odróżnieniu od tradycyjnej architektury, serverless jest natywnie wysokodostępne i skalowalne. Oznacza to, że rozwiązania wymagające wyżej wymienionych właściwości mogą być dostarczane szybciej i taniej, ponieważ dostawca usług w chmurze automatyzuje wszystkie trudne procesy. Nie ma już potrzeby tworzenia klastrów ani grup autoskalujących na własną rękę.

Po wdrożeniu oprogramowania, serverless pozwala również oszczędzić czas potrzebny na jego utrzymanie. Dzieje się tak, ponieważ dostawca chmury wykonuje za Ciebie żmudne zadania, jak paczowanie serwerów lub aktualizacje zabezpieczeń. Co ciekawe w wielu przypadkach, rola admina w takim projekcie jest zupełnie niepotrzebna, ponieważ serverless nie wymaga tak wielu zasobów sieciowych, jak tradycjne maszyny wirtualne w chmurze.

Zarządzanie serwerem

Co nie jest bez znaczenia, rozwiązania serverless potrafią być znacznie bezpieczniejsze, niż aplikacje monolityczne. Aplikacja napisana w architekturze monolitycznej, aby działać, potrzebuje wszystkich niezbędnych uprawnień oraz poznać nasze potencjalne sekrety (np. hasło do bazy danych, itp.). Aplikacje serverless są zbudowane z wielu pojedynczych komponentów (funkcje Lambda), które mają tylko te uprawnienia, których są wymagane do ich prawidłowego działania.

Jak to działa w praktyce? Wyobraź sobie system serverless, jako łódź podwodną złożoną z wielu przedziałów oddzielonych od siebie przegrodami.

W przypadku włamania do funkcji Lambda atakujący uzyskuje dostęp tylko do kilku uprawnień. Uszkodzony okręt podwodny nie tonie, ponieważ został zaprojektowany tak, aby przetrwać zalanie jednego przedziału. W tradycyjnych aplikacjach, pojedyncza luka może otworzyć dostęp do całego systemu, dlatego konsekwencje takiego włamania, są znacznie bardziej dotkliwe.

Podsumowanie

Podsumowując, serverless jest czymś nowym. Przełomem, który zaciera wieloletni bagaż podziału na programistów i administratorów. Przybliża nas do siebie i do prawdziwego znaczenia metodyki DevOps. Dzięki temu developerzy są bliżej środowiska produkcyjnego i mają bardzo znaczący wpływ na to, jak ono wygląda, decydując o sposobie wykorzystania poszczególnych usług.

W świecie serverless powyższe role przenikają się ze sobą. Czy zasadna jest teza, że stanowisko administratora IT powinno zostać zdefiniowane na nowo? A może za kilka lat zupełnie przestanie istnieć? Jeśli okaże się to prawdą, będzie to najbardziej znacząca i niespodziewana zmiana w branży IT w ostatnich latach.

Jeśli szukasz pomocy w zarządzaniu infrastrukturą chmurową lub rozważasz migrację do chmury, skontaktuj się z nami.

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 6

No votes so far! Be the first to rate this post.

W przypadku naruszenia Regulaminu Twój wpis zostanie usunięty.

    _Wszystkie wpisy z tej kategorii

    Podejście Cloud Native: Modernizować istniejące czy budować od podstaw natywne aplikacje chmurowe?

    Czym są aplikacje wie chyba każdy. A jak jest z pojęciem Cloud Native? Być może każdy, no prawie każdy, coś słyszał i będzie…
    Czytaj dalej

    Czy Edge to nowa chmura?

    Wiele organizacji, które przyjęły chmurę, traktuje Edge jako naturalne rozszerzenie swoich rozwiązań opartych na niej. Z drugiej strony, te firmy, które są na…
    Czytaj dalej

    Obliczenia kwantowe: Kot Schrödingera zadomowił się w chmurze

    Zapnij pasy i dołącz  do mnie w podróży do świata, w którym kot może być zarówno martwy, jak i żywy, a cząsteczka może…
    Czytaj dalej

    Czy chmura hybrydowa i multi-cloud obronią Cię przed vendor lock-in? Czy rzeczywiście musisz się tego wystrzegać?

    Uzależnienie od dostawcy (vendor lock-in), to pojęcie nad wyraz często łączone z branżą IT, a w ostatnich latach szczególnie z chmurą obliczeniową, chociaż…
    Czytaj dalej

    (r)Ewolucja w zarządzaniu danymi produkcyjnymi. Platformy danych w chmurze

    Platformy danych oparte na chmurze stają się przełomem w zarządzaniu danymi produkcyjnymi. W przeszłości firmy zmagały się z zarządzaniem ogromnymi ilościami danych generowanych przez…
    Czytaj dalej

    Jak AI Data Discovery pomaga firmom produkcyjnym?

    Odkryj przyszłość przemysłu produkcyjnego dzięki usłudze AI Data Discovery i chmurze! Poznaj, jak te technologie i usługi eliminują straty i zwiększają efektywność branży…
    Czytaj dalej

    Migracja do chmury i modernizacja aplikacji Airline Rewards: mapowanie wymagań architektury

    W tym artykule przeprowadzę Cię przez kroki, wybory techniczne i kompromisy związane z migracją i modernizacją aplikacji do chmury publicznej, kładąc nacisk na…
    Czytaj dalej

    Jak właściwie rozumieć chmurę publiczną w 2023? I dlaczego jest to takie trudne?

    Chmura ciągle się zmienia i ewoluuje. To co widzimy dziś, to nie to samo było wczoraj i nie to samo co będzie jutro.…
    Czytaj dalej

    Przyspieszenie wdrożenia koncepcji Przemysłu 4.0

    Cyfrowa transformacja i podążanie w kierunku idei Przemysłu 4.0 oraz Inteligentnej Fabryki (w AWS) nie należą do łatwych. Najczęstsze przeszkody to utknięcie na…
    Czytaj dalej

    Jak zbliżyć się do Przemysłu 4.0?

    Rozwijaj biznes dzięki cyfrowej transformacji. Zmiany obejmują także komunikację i przygotowanie pracowników – bez ich poparcia i zaangażowania, wdrożenie będzie znacznie trudniejsze. Sprawdź,…
    Czytaj dalej

    Jak wdrożyć założenia Przemysłu 4.0 mądrzej, szybciej i łatwiej?

    Pojęciem związanym z Przemysłem 4.0 jest Smart Factory - inaczej mówiąc "inteligentna fabryka". Ten typ fabryki oparty jest na zintegrowanych systemach przy wykorzystaniu…
    Czytaj dalej

    Chmura napędza cyfrową transformację

    Chmura coraz częściej stanowi kluczowy aspekt powodzenia procesu transformacji cyfrowej. Rozmowa z Christianem Thiem, starszym analitykiem biznesowym w TT PSC Germany GmbH, dostarczy…
    Czytaj dalej

    Co musisz wiedzieć o serverless computing?

    Serverless cmputing nadal budzi sporo wątpliwości, szczególnie wśród tych środowisk, które właśnie zaczynają korzystanie z usług chmurowych lub dopiero planują migrację do chmury…
    Czytaj dalej

    Czym jest DevOps as a service i czemu warto z tego skorzystać?

    Oszczędność, skrócenie czasu wdrażania zmian oraz weryfikowanie ich poprawności – to tylko kilka przykładowych korzyści, których gwarantem jest DevOps. Ta innowacyjna metodologia wprowadziła…
    Czytaj dalej

    9 powodów, dla których powinno się wykorzystywać chmurę w prowadzeniu biznesu

    Zgodnie z raportem firmy RightScale „2019 State of the Cloud Report from Flexera”, aż 94% firm używa chmury. To nie przypadek, że tyle…
    Czytaj dalej

    Jak zacząć przygodę z Azure i przygotować się do certyfikacji AZ-900

    Zapotrzebowanie na specjalistów w obszarze Cloud stale rośnie. Jak zdobyć szeroki zakres kompetencji i szybko odnaleźć się w temacie chmury? Najlepiej zacząć od…
    Czytaj dalej

    Chmura na czas kryzysu, czyli jak usprawnić pracę w swojej firmie

    Świat, który znaliśmy przez ostatnie lata mocno się zmienia. Wymusza na nas zmianę przyzwyczajeń, a także sposobów w jaki pracujemy i realizujemy nasze…
    Czytaj dalej

    Jak zadbać o bezpieczeństwo aplikacji serverless w AWS?

    Konferencja AWS re:Invent 2019, podobnie jak jej poprzednie edycje, obfitowała w ciekawe wykłady typu breakout sessions, których celem było przybliżenie uczestnikom wybranego zagadnienia…
    Czytaj dalej

    Parametry SSM w automatyzacji AWS

    Jakiś czas temu zostałem zaangażowany w projekt, który miał dostarczyć Windchilla w sposób wysoko dostępny – w sumie nic nowego, klaster załatwia sprawę…
    Czytaj dalej

    Jak dotknęliśmy chmur – relacja z AWS re:invent 2019

    Udział w konferencji AWS re:Invent wymaga od uczestników, pomijając finansowanie, nieco zaangażowania i odrobiny samozaparcia. W naszym przypadku zakup wejściówek na konferencje w…
    Czytaj dalej

    Najważniejsze nowości z AWS re:Invent 2019

    Ciekawi Cię jakie nowości zostały zaprezentowane na AWS re:Invent, ale nie masz czasu stale przeglądać doniesień z Vegas? Nie musisz już szukać. Specjalnie…
    Czytaj dalej

    Jak wykorzystać Talend Open Studio w branży medycznej?

    Wykorzystywanie nowoczesnych technologii w medycynie jest coraz powszechniejsze. Papierowe karty pacjentów wypadają z obiegu i zastępują je elektroniczne formy przechowywania danych. Proces digitalizacji…
    Czytaj dalej

    Czym jest chmura Amazon Web Services?

    Chmura obliczeniowa to jedna z najdynamiczniej rozwijających się technologii na świecie. Stopniowo wypiera tradycyjne rozwiązania serwerowe, zgarniając dla siebie coraz większą część rynku.…
    Czytaj dalej

    _Zostańmy w kontakcie

    Skontaktuj się