13 ram do tworzenia aplikacji bezserwerowych

Czy jesteś podekscytowany technologią bezserwerową? Czy chcesz zdobyć nowy projekt, ale nie wiesz, od czego zacząć?

Oto zestawienie najpopularniejszych frameworków bezserwerowych, które możesz zdobyć!

Przetwarzanie bezserwerowe jest wściekłością wśród tych, którzy uwielbiają ideę, że muszą zarządzać mniej, mając jednocześnie czas na tworzenie więcej. I chociaż technologia jest wciąż całkiem nowa, wielu programistów i inżynierów robi wszystko, aby tworzyć ekscytujące rozwiązania dla przyszłości operacji bezserwerowych.

Jak już wiesz, Serverless nie oznacza dokładnie bez serwera. Oznacza to po prostu mniej serwerów i więcej funkcji. A jeśli szukasz niezawodnej platformy FaaS (funkcje jako usługa) do swojego następnego projektu, zapoznaj się z naszym poprzednim opisem najlepszych bezserwerowych platform obliczeniowych.

Biorąc to pod uwagę, spójrzmy na dostępne dla nas frameworki. Podsumujemy kilka ekscytujących projektów opracowywanych w przestrzeni bezserwerowej, więc upewnij się, że trzymasz się ich!

Wzmocnienie AWS

Szybko twórz skalowalne aplikacje bezserwerowe dla sieci i urządzeń mobilnych dzięki Wzmocnienie AWS i uzyskaj nieskończoną elastyczność. Skonfiguruj swoje bezserwerowe backendy z danymi, pamięcią masową, uwierzytelnianiem i nie tylko, korzystając z inteligentnych przepływów pracy.

Połącz aplikacje mobilne i internetowe z istniejącymi lub nowymi zasobami AWS za pomocą mniejszej liczby wierszy kodu. Za pomocą kilku kliknięć można hostować i wdrażać jednostronicowe aplikacje internetowe, aplikacje renderowane po stronie serwera i witryny stanu. Umożliwia także łatwe zarządzanie treściami i użytkownikami aplikacji.

AWS Amplify pomaga front-endowym programistom mobilnym i internetowym w szybszym tworzeniu aplikacji z pełnym stosem w AWS i dostosowywaniu aplikacji, kiedy tylko zajdzie taka potrzeba. Amplify obsługuje wiele platform internetowych, takich jak React, Angular, JavaScript, Vue.js, Next.js itp. oraz platformy mobilne, takie jak iOS, Ionic, Flutter, Android i React Native.

Możesz zintegrować się z wieloma komponentami interfejsu użytkownika Amplify, aby przyspieszyć tworzenie aplikacji. Uzyskaj wiele funkcji i narzędzi, takich jak uwierzytelnianie, interakcje, funkcje, DataStore, zarządzanie użytkownikami, API (REST, GraphQL), analityka, przewidywania AI/ML, przechowywanie, PubSub, powiadomienia push itp. do rozwoju. Ponadto masz zarządzany hosting, podglądy PR, CI/CD, niestandardowe domeny i monitorowanie wdrażania.

W połowie drogi

Uzyskaj bezserwerową platformę Node.js do tworzenia tradycyjnych aplikacji po stronie serwera, małych programów, mikrousług i tworzenia usług bezserwerowych za pomocą W połowie drogi. Jest napisany w maszynopisie, który wykorzystuje mechanizm wstrzykiwania IoC, aby oddzielić logikę aplikacji i ułatwić tworzenie dużych aplikacji Node.js bardziej naturalnym.

Midway może używać Express, EggJS lub koa jako podstawowych frameworków. Zapewnia podstawowe rozwiązania, takie jak GRPC, Dubbo.js, RabbitMQ i Socket.io do samodzielnego użytku. Ponadto Midway działa jako bezserwerowa platforma internetowa Node.js dla programistów z pełnym stosem lub front-end.

Midway umożliwia tworzenie aplikacji nowej generacji, które działają na kontenerze, maszynie wirtualnej, Alibaba Cloud, AWS i Tencent Cloud. Możesz również łatwo zintegrować go z Vue i React. Znajdziesz wiele funkcji, takich jak:

  • Wtyczki grupowe i skalowalne
  • Zaawansowana kompatybilność i architektura Middleware
  • Możliwość rozdzielania i nakładania warstw
  • Doświadczenie programistyczne nowej generacji
  • Obsługuje oprogramowanie pośredniczące koa i wtyczki Egg.

Webiny

Uzyskaj wszystko, czego potrzebujesz do projektowania, wdrażania i tworzenia aplikacji bezserwerowych za pomocą Webiny Bezserwerowa struktura aplikacji. Jest przeznaczony do różnych zastosowań. Możesz modyfikować architekturę, stos technologiczny i dostosowywać się do potrzeb Twojej organizacji i projektu.

Twórz witryny i aplikacje biznesowe w oparciu o SEO, routing, wstępne renderowanie, zabezpieczenia, wdrażanie, łączenie i nie tylko. Twórz wewnętrzne lub zewnętrzne interfejsy API, wyodrębniając resolvery GraphQL. Nie ograniczaj się do jednej aplikacji; budować aplikacje korzystające z różnych baz danych. Możesz użyć sterowników bazy danych NodeJS do interakcji z zewnętrznymi bazami danych.

Webiny zapewnia łączenie kodu, IaC, mechanizmy wdrażania i organizację projektów. Dodaj produkt na początek listy i zaoferuj SaaS całemu światu. Zabezpiecz część lub całość aplikacji za pomocą ACL za pomocą wbudowanego AWS Cognito i frameworka bezpieczeństwa.

Dodaj obsługę Auth0, OKTA i innych. Otrzymasz bezgłowy CMS, kreator stron, kreator formularzy, menedżer plików i wiele innych. Generuj standardowy kod za pomocą wtyczek CLI z funkcji lambda do nowych interfejsów API GraphQL.

Interfejs administratora Webiny zawiera ponad trzydzieści różnych komponentów React. Otrzymasz również ochronę przed atakami DDoS, CDN i trwałość danych. Webiny oszczędza Twój czas na próbach i błędach oraz badaniach.

Kielich AWS

Szukasz frameworka do pisania aplikacji bezserwerowych w Pythonie?

Próbować Kielich AWS który pozwala budować i wdrażać aplikacje za pośrednictwem AWS Lambda.

Chalice udostępnia narzędzie wiersza poleceń do tworzenia, wdrażania i zarządzania aplikacją, oparte na dekoratorach API do integracji z Amazon S3, Amazon API Gateway, Amazon SQS, Amazon SNS i innymi usługami AWS.

Umożliwia tworzenie interfejsów API REST, wykonywanie zadań uruchamianych okresowo, łączenie funkcji lambda ze zdarzeniem S3 i kolejką SQS oraz większą ilością zasobów AWS. Zaraz po napisaniu kodu Chalice pozwoli Ci szybko uruchomić i wdrożyć aplikację. Chalice obsługuje każdą wersję Pythona obsługiwaną przez AWS Lambda, w tym Python 2.7, 3.6, 3.7 i 3.8.

Skonfiguruj wszystkie poświadczenia przed wdrożeniem aplikacji. Ale jeśli już skonfigurowałeś go do uruchamiania AWS CLI lub boto3, pomiń to. Po wdrożeniu możesz wprowadzać modyfikacje w dowolnym miejscu i ponownie wdrażać zmiany. Zapoznaj się z samouczkami, tematami i odniesieniami do interfejsu API, aby uzyskać lepszą wersję swojej wiedzy.

Zappa

Zappa to bezserwerowa platforma do tworzenia aplikacji w języku Python. Ułatwia pracę przy tworzeniu i wdrażaniu bezserwerowych i sterowanych zdarzeniami aplikacji Pythona na API Gateway i AWS Lambda. Użyj go, aby cieszyć się zerową konserwacją, zerowym przestojem i nieskończonym skalowaniem przy minimalnym koszcie bieżących wdrożeń.

Przed przystąpieniem do instalacji i konfiguracji upewnij się, że masz Python 3.x i konto AWS oraz poprawną instalację pliku poświadczeń AWS. Możesz również łatwo zainstalować Zappę za pomocą pip.

Zappa automatycznie konfiguruje ustawienia wdrażania. Po prawidłowym skonfigurowaniu ustawień wdróż aplikację na etapie produkcyjnym w jednym wierszu polecenia. Użyj polecenia template, jeśli potrzebujesz szablonu API Gateway CloudFormation. Wdróż Zappa w niestandardowych subdomenach i nazwach domen za pomocą certyfikatów SSL, certyfikatów AWS Certificate Manager i certyfikatów Let’s Encrypt.

Włącz bezpieczne punkty końcowe w bramie interfejsu API, takie jak klucz interfejsu API, zasady uprawnień, autoryzatory lambda bramy interfejsu API, autoryzator puli użytkowników Cognito i zasady zasobów bramy interfejsu API. Co więcej, możesz ustawić zmienne środowiskowe, takie jak środowisko lokalne, zdalne środowisko AWS i zdalne środowisko za pomocą pliku S3,

Architekt

Twórz, wdrażaj i utrzymuj bezserwerową infrastrukturę AWS nowej generacji opartą na funkcjach w chmurze z pełnymi przepływami pracy lokalnej, offline i nie tylko.

Jest to dość wyrafinowany projekt i wymaga przeczytania dalej filozofia projektu oraz strona dokumentacji jako całość.

W górę

W górę to platforma, która pomaga wdrażać aplikacje bezserwerowe o nieskończonym potencjale skalowalności. Ponadto możesz użyć Up do wdrażania statycznych witryn internetowych, interfejsów API i nie tylko. Wszystko to daje Ci elastyczność w pracy nad tym, co naprawdę jest dla Ciebie ważne.

Na szczęście Up wdraża tradycyjne instancje serwera HTTP, więc nie musisz uczyć się nowego protokołu. Zamiast tego użyj swojego ulubionego frameworka, takiego jak Django lub Express, aby zacząć.

Claudia.js

Claudia.js daje programistom możliwość przekazywania ich projektów opartych na Node.js do systemów Lambda i API. Claudia zautomatyzuje zadania wdrożeniowe, konfigurację i automatycznie skonfiguruje Twoje środowisko JavaScript pod kątem nowoczesnego programowania.

Więc co to dla ciebie oznacza? Korzystając z Claudii, możesz przyspieszyć swoją podróż z mikroserwisami w ciągu kilku minut. Dzięki temu masz o wiele mniej do myślenia i znacznie więcej czasu, aby skupić się na rozwiązywaniu rzeczywistych problemów.

Główne powody używania Claudii to:

  • Wdrażaj, aktualizuj i zarządzaj swoimi instancjami za pomocą jednego polecenia
  • Działa bezbłędnie z pakietami NPM
  • Zintegrowana struktura kotła, dająca więcej miejsca na skupienie się na wykonywanych zadaniach.
  • Zarządzanie wersjami, dzięki czemu możesz pracować na wielu wersjach jednocześnie
  • Mała krzywa uczenia się

Dysze

Kochasz Rubiego?

Wtedy możesz po prostu cieszyć się Dysze — bezserwerowy framework Ruby do tworzenia i wdrażania mikroserwisów. Framework zawiera wszystkie niezbędne narzędzia, które pomogą Ci generować struktury API i wdrażać je do lambda.

Dysze działa również przy pisaniu oddzielnych funkcji, których można użyć do połączenia różnych usług i zasobów dostarczanych przez AWS.

Sposób działania Jets polega na tym, że framework konwertuje istniejący kod na funkcje dla Lambda i innych usług AWS. W rezultacie możesz pominąć takie rzeczy, jak wdrażanie i udostępnianie, aby poświęcić więcej czasu na pisanie funkcjonalnego kodu.

Pulumi

Pulumi zapewnia bezproblemowy pakiet SDK, który pomaga tworzyć i wdrażać oprogramowanie na dowolnej platformie opartej na chmurze. Zestaw SDK obsługuje kontenery, usługi hostowane, podstawową infrastrukturę i kontenery.

Możesz pisać kod w dowolnym języku; Pulumi będzie udostępniać i zarządzać Twoimi zasobami u dostawców usług, takich jak GCP, AWS, Kubernetes i Azure.

Bezserwerowe

Wiem, o czym myślisz: „Ktoś miał szczęście zdobyć nazwę domeny Serverless.com i po prostu zarabiają na swoim szczęściu!” i muszę ci powiedzieć, że tak nie jest.

Bezserwerowe środowisko ma kilka 30 000 gwiazd na GitHubdzięki czemu jest to najbardziej popularne bezserwerowa platforma możesz znaleźć.

Więc co możesz zrobić z tym frameworkiem? Przede wszystkim możesz tworzyć aplikacje, które wykorzystują mikrousługi jako sposób reagowania na zdarzenia itp. Np. Twoje aplikacje reagują tylko wtedy, gdy istnieje ostateczne wezwanie i skalują się w górę iw dół w zależności od zapotrzebowania. W rezultacie możesz zaoszczędzić mnóstwo pieniędzy, które w przeciwnym razie zostałyby wydane na utrzymanie bezczynnych usług.

Framework wykorzystuje nowe usługi obliczeniowe sterowane zdarzeniami, takie jak AWS Lambda, Google Cloud Functions i inne. Jest to narzędzie wiersza polecenia, które zapewnia tworzenie szkieletów, automatyzację przepływu pracy i najlepsze praktyki w zakresie opracowywania i wdrażania architektury bezserwerowej. Jest również całkowicie rozszerzalny za pomocą wtyczek.

Sigma

Sigma to nowe środowisko IDE oparte na chmurze zbudowane wokół idei rozwoju bezserwerowego. To nie jest tylko podstawowy edytor tekstu z kilkoma fantazyjnymi funkcjami, ale w pełni funkcjonalne IDE, które pozwoli Ci pisać kod i publikować ten kod jako działającą aplikację w czasie rzeczywistym.

Sigma IDE może rozmawiać tam iz powrotem z wybraną platformą bezserwerową (FaaS) i tylko z wymogiem pliku konfiguracyjnego. W rezultacie możesz zaoszczędzić nieskończone godziny nudnych zadań.

Ponadto, w przeciwieństwie do innych narzędzi, które próbują osiągnąć podobny wynik — Sigma sama w sobie jest bezserwerowa. IDE działa całkowicie z poziomu przeglądarki i nie wymaga obsługi zaplecza dla wszystkich funkcji poza kilkoma. W szczególności back-end jest wymagany do uwierzytelniania użytkowników i zbierania danych analitycznych.

Ten jest wart uwagi i warty wypróbowania dla siebie.

Uwierz0

Jeśli jesteś pasjonatem koncepcji Serverless, prawdopodobnie słyszałeś o Serverless Framework — ten, o którym wspomnieliśmy wcześniej w artykule.

Uwierz0 zebrał swoje wysiłki, aby zbudować zadania internetowe Auth0, skuteczny dodatek dla wszystkich użytkowników Serverless Framework. Projekt nazywa się Webtask, a jego stronę główną można znaleźć tutaj.

Zasadniczo Webtask może być używany do tworzyć aplikacje bez martwienia się o swoją infrastrukturę zgodność. Napisz logikę po stronie serwera i wdrażaj wszystkie funkcje za pomocą interfejsu wiersza polecenia dostarczonego przez Webtask. Następnie możesz poruszać się po zapleczu za pomocą protokołu HTTP.

Aktualizacja: Witryna Webtask została od tego czasu zamknięta.

Przykłady bezserwerowe

Rozmawialiśmy o platformie Serverless Framework wcześniej w poście i zasadniczo jest to źródło uzupełniające, które prezentuje wiele różnych przypadki użycia dla Serverless Framework.

Pomimo tego, że te przykłady są zablokowane w jednym konkretnym frameworku, nadal możesz cieszyć się procesem poznawania nowych koncepcji bezserwerowych.

Przykłady są dostępne dla platform takich jak AWS, Azure, Kubeless, Google Cloud i OpenWhisk. Ponadto istnieje wsparcie dla sześciu różnych języków: nodeJS, Python, Go, Java, PHP i Swift.

Sprawdź niektóre z tych ulubionych, takie jak Żart na Twitterze oraz Interfejs API Dropbox OAuth.

Jeśli szukasz praktycznej nauki, sprawdź to kurs online.