LFCA Learn Serverless Computing, korzyści i pułapki - Część 15
- 1973
- 590
- Juliusz Sienkiewicz
Serverless Technologia wygenerowała wiele szumu w społeczności technologicznej przywołująca wiele ciekawości i w niewielkim stopniu otrzymuje pewne luz. To technologia, która rozpoczęła się od uruchomienia AWS Lamba w 2014 roku, którego wkrótce nastąpiło Funkcje Azure Później w 2016 roku.
Google Później poszedł w ich ślady z wydaniem Google Cloud Funkcje w lipcu 2018 r. Więc czym jest technologia bez serwera? Aby najlepiej odpowiedzieć na to pytanie, wróćmy do tradycyjnego komputerów opartych na serwerze.
W tradycyjnym modelu informatycznym byłeś w zasadzie wszystko. Jako właściciel firmy będziesz musiał budżet na serwery i inne urządzenia sieciowe, takie jak routery i przełączniki, oraz stojaki na żałoby serwerów.
Musiałbyś również martwić się o nieskazitelne i bezpieczne centrum danych i upewnić się, że może ono wystarczająco zapewnić chłodzenie i nadmiarową energię i usługę internetową. Po skonfigurowaniu będziesz musiał zainstalować system operacyjny, a później wdrożyć swoje aplikacje. Ponadto będziesz musiał skonfigurować systemy monitorowania i wdrożyć funkcje bezpieczeństwa, takie jak zapobie.
Jak można się domyślać, jest to wymagające zasoby, kosztowne i wyczerpujące.
Następnie przetwarzanie w chmurze włamało się do świata technologii, całkowicie rewolucjonizując sposób wdrażania i zarządzania serwerami i aplikacjami. Zwiastowało nową erę, w której programiści chętnie wymawiali serwery i bazy danych. Nie martw się o problemy związane z tradycyjnym obliczeniami IT, takie jak przestoje, drogie sprzęt i wynajęcie centrów danych.
Podczas gdy przetwarzanie w chmurze przyniosły ze sobą wygodę i ekonomie skali wdrażania zasobów IT, niektóre firmy przeważałyby jednostki przestrzeni i zasobów serwerów i zasobów, takich jak RAM i CPU w oczekiwaniu na skok w ruchu lub działalności sieciowej, które mogą przytłoczyć aplikacje.
Chociaż jest to ostrożny ruch, niezamierzonym rezultatem jest niewykorzystanie zasobów serwerowych, które często odpadają. Nawet w przypadku autoskalizacji, nieprzewidziany i nagłe skok może okazać się kosztowne. Ponadto nadal będziesz musiał wykonywać inne zadania, takie jak konfigurowanie równowagi obciążenia, które mogą również zwiększyć koszty operacyjne.
Oczywiste jest, że pomimo przejścia na chmurę, niektóre wąskie gardła wciąż pozostają i mają potencjał zwiększania kosztów i powodują marnowanie zasobów. I tam jest Przetwarzanie bez serwera wchodzi.
Co to jest obliczenia bez serwera
Przetwarzanie bez serwera to model w chmurze, który świadczy usługi zaplecze użytkownikom. Mówiąc najprościej, dostawca w chmurze przydziela zasoby obliczeniowe i opłaty tylko na czas, w którym aplikacje są uruchamiane. Jest to odpowiednik przełączania z miesięcznego planu płatności kablowej na płacenie tylko za oglądanie programów telewizyjnych.
Termin 'Serverless- Może być trochę mylący. Czy są zaangażowane serwery? Oczywiście jednak w tym przypadku serwery i infrastruktura podstawowa są wyłącznie obsługiwane i utrzymywane przez dostawcę chmur. Jako taki, nie musisz się o nie martwić. Jako programista koncentrujesz się wyłącznie na opracowywaniu aplikacji i upewnieniu się, że pracują nad Twoją satysfakcją.
W ten sposób komputery bez serwera zabiera ból głowy w zarządzaniu serwerami i oszczędza cenny czas na pracę nad aplikacjami.
Usługi backendowe świadczone przez bez serwera komputerów
Idealnym przykładem usługi zaplecza bez serwera jest Funkcja-as-a-service (Faas) platforma. Faas to model przetwarzania w chmurze, który umożliwia programistom opracowywanie, wykonywanie i zarządzanie kodem w odpowiedzi na zdarzenia bez złożoności budowania i zarządzania infrastrukturą podstawową zwykle związaną z wdrażaniem mikrousług.
Faas to podkategoria obliczeń bez serwera z subtelnymi różnicami. Obliczanie bez serwera obejmuje szeroki zakres usług, w tym obliczenia, bazę danych, pamięć i interfejs API, aby wymienić kilka. FAAS koncentruje się wyłącznie na modelu obliczeniowym opartym na zdarzeniach, w którym aplikacje są wykonywane na żądanie, to znaczy w odpowiedzi na żądanie.
Przykłady Faas Modele obliczeniowe obejmują:
- AWS Lambda przez AWS
- Funkcje Azure przez Microsoft
- Funkcje w chmurze przez Google
- Pracownicy Cloudflare autorstwa Cloudflare
Podsumowując, widzieliśmy to z Faas, Płacisz tylko za czas, w którym aplikacja jest uruchomiona, a dostawca chmur robi wszystko, co dla Ciebie, w tym obsługę infrastruktury podstawowej. Zarządzanie serwerami jest najmniejszym z twoich zmartwień.
Korzyści z obliczeń bez serwera
Do tej pory masz dobre pojęcie o niektórych zaletach, które bez serwera wnosi do tabeli. Zagłębimy się w zalety wykorzystania technologii.
1. Brak zarządzania serwerem
Jest to być może jedna z największych zalet przyjęcia modelu obliczeniowego bez serwera. Chociaż termin 'Serverless„Może zostać błędnie interpretowane, aby sugerować, że nie ma w grę niewiele serwerów, faktem jest, że aplikacje nadal uruchamiane na serwerach. Sedno sprawy jest to, że zarządzanie serwerami jest całkowicie biznesem dostawcy w chmurze, a to daje więcej czasu na pracę nad aplikacjami.
2. Łatwe i wydajne skalowanie
Infrastruktura bez serwera zapewnia automatyczne skalowanie aplikacji w odpowiedzi na wzrost użytkowania, popytu lub wzrost bazy użytkowników. Jeśli aplikacja działa w wielu instancjach, serwery uruchomi się i zatrzymają w razie potrzeby. W tradycyjnej konfiguracji przetwarzania w chmurze skok ruchu lub aktywności może łatwo przeciążyć zasoby serwera prowadzące do niespójności z wykonywaną aplikacją.
3. Wbudowana dostępność
Jako deweloper nie musisz budować żadnej specjalnej infrastruktury, aby Twoje aplikacje były wysokie dostępne. Przetwarzanie bez serwera zapewnia wbudowaną wysoką dostępność, aby Twoje aplikacje są uruchomione, gdy jest to wymagane.
4. Obniżone koszty operacji
Computing bez serwera przydziela zasoby na podstawie wynagrodzenia według użytkowania. Twoja aplikacja będzie wymagała funkcji backendowych tylko wtedy, gdy kod zostanie wykonany i będzie skalował automatycznie na podstawie ilości obciążenia.
Zapewnia to korzyści skali, ponieważ jesteś naliczany tylko na czas, w którym aplikacje są uruchamiane. W tradycyjnym modelu serwera musisz zapłacić za przestrzeń serwerową, bazy danych między innymi zasobami, niezależnie od tego, czy aplikacja jest uruchomiona, czy bezczynna.
5. Szybsze wdrażania aplikacji
Architektura bez serwera eliminuje potrzebę konfiguracji zaplecza i ręcznego przesyłania kodu do serwerów, takich jak w tradycyjnej konfiguracji. Deweloperzy łatwo jest przesyłać małe stosy kodu w wydajny sposób i uruchomić świetny produkt.
Łatwość wdrażania pozwala programistom łatwo łatać i aktualizować niektóre funkcje kodu bez zmiany całej aplikacji.
Pułapki komputerów bez serwera
Czy są jakieś wady powiązane z modelem bez serwera? Dowiedzmy Się.
1. Bezpieczeństwo
Słabo skonfigurowane aplikacje stanowią jedno z największych zagrożeń związanych z komputerami bez serwera. Jeśli zdecydujesz się AWS, Na przykład rozsądne jest skonfigurowanie różnych uprawnień do aplikacji, która z kolei określi, w jaki sposób będą one wchodzić w interakcje z innymi usługami w AWS. Tam, gdzie uprawnienia są niejasne, funkcja lub usługa mogą mieć więcej uprawnień niż jest to wymagane, pozostawiając dużo miejsca na naruszenia bezpieczeństwa.
2. Zamknięcie dostawcy
Wybór modelu bez serwera może stanowić wyzwania podczas migracji do innego dostawcy. Dzieje się tak głównie dlatego, że każdy sprzedawca ma swoje własne funkcje i przepływy pracy, które nieco się różnią od reszty.
3. Trudność w testowaniu i debugowaniu aplikacji
Kolejnym wyzwaniem, jakie stanowi model bez serwera, jest trudność w odtworzeniu środowiska bezserwerowego do testowania i monitorowania wydajności kodu przed uruchomieniem. Wynika to przede wszystkim tym, że programiści nie mają dostępności do usług zaplecza, które są konserwatorem dostawcy chmury.
4. Trudność w monitorowaniu aplikacji bez serwera
Monitorowanie aplikacji bez serwera to złożone przedsięwzięcie z tych samych powodów, dla których debugowanie i testowanie jest zadaniem pod górę. Współpracowało to niedostępność narzędzi z integracją z usługami zaplecza, takimi jak AWS Lamba.
Wniosek
Obliczenia bez serwera nadal zyskuje przyczepność i pobieranie wśród firm i programistów z 3 kluczowych powodów. Jednym z nich jest przystępność cenowa, która implikuje obniżone koszty operacyjne. Po drugie, bezserwerowe obliczenia ułatwia automatyczne i szybkie skalowanie, a wreszcie programiści nie muszą się martwić o infrastrukturę podstawową, która jest obsługiwana przez dostawcę.
Tymczasem dostawcy chmur pracują przez całą dobę, aby zająć się niektórymi pułapkami powiązanymi z obliczeniami bezserwerowymi, takimi jak trudność w debugowaniu i monitorowaniu aplikacji.
Zostań Certyfikowaną Fundacją Linux IT Associate (LFCA)