Êtes-vous enthousiasmé par la technologie sans serveur? Vous avez hâte de mettre la main sur un nouveau projet mais ne savez pas par où commencer?

Voici un tour d'horizon des frameworks sans serveur les plus populaires sur lesquels vous pouvez mettre la main!

L'informatique sans serveur fait fureur parmi ceux qui aiment l'idée d'avoir moins à gérer tout en ayant le temps de créer plus. Et même si la technologie est encore assez récente, de nombreux développeurs et ingénieurs font tout leur possible pour créer des solutions passionnantes pour l'avenir des opérations sans serveur.

Comme je suis sûr que vous le savez déjà, Serverless ne signifie pas précisément sans serveur. Ça veut juste dire moins de serveurs et plus de fonctions. Et si vous recherchez une plate-forme FaaS (Functions as a Service) fiable pour votre prochain projet, consultez notre précédent article sur les meilleures plateformes informatiques sans serveur.

Cela étant dit, jetons un coup d'œil aux cadres dont nous disposons. Nous terminerons avec quelques projets passionnants en cours de développement dans l'espace sans serveur, alors assurez-vous de rester pour ceux-ci!

AWS Amplify

Créez rapidement des applications sans serveur évolutives pour le Web et le mobile avec AWS Amplifier cadre et obtenez une flexibilité sans fin. Configurez vos backends sans serveur avec des données, du stockage, de l'authentification et plus encore en utilisant smart workflows.

Connectez des applications mobiles et Web à des ressources AWS existantes ou nouvelles avec moins de lignes de code. Vous pouvez héberger et déployer des applications Web d'une seule page, des applications rendues côté serveur et des sites Web d'état en quelques clics. Il vous permet également de gérer facilement les utilisateurs de contenu et d'applications.

AWS Amplify aide les développeurs frontaux mobiles et Web à créer plus rapidement des applications full-stack sur AWS et à personnaliser l'application chaque fois que vous en avez besoin. Amplify prend en charge de nombreux frameworks Web tels que React, Angular, JavaScript, Vue.js, Next.js, etc., et des plates-formes mobiles telles que iOS, Ionic, Flutter, Android et React Native.

Vous pouvez intégrer de nombreux composants d'interface utilisateur d'Amplify pour accélérer le développement d'applications. Obtenez de nombreuses fonctionnalités et outils tels que l'authentification, les interactions, les fonctions, le magasin de données, la gestion des utilisateurs, l'API (REST, GraphQL), l'analyse, les prédictions AI/ML, le stockage, PubSub, les notifications push, etc., pour le développement. De plus, vous disposez d'un hébergement géré, d'aperçus de relations publiques, de CI/CD, de domaines personnalisés et d'une surveillance pour le déploiement.

Midway

Obtenez le framework sans serveur Node.js pour créer des applications côté serveur traditionnelles, de petits programmes, des microservices et créer des services sans serveur avec À mi-chemin. Il est écrit en tapuscrit qui utilise un mécanisme d'injection IoC pour séparer la logique de l'application et rendre le développement plus facile des grandes applications Node.js plus naturel.

Midway peut utiliser express, EggJS ou koa comme frameworks de base. Il propose des solutions de base telles que GRPC, Dubbo.js, RabbitMQ et Socket.io pour une utilisation indépendante. De plus, Midway fonctionne comme un framework Web sans serveur Node.js pour les développeurs full-stack ou front-end.

Midway vous permet de créer des applications de nouvelle génération qui s'exécutent sur un conteneur, une machine virtuelle, Alibaba Cloud, AWS et Tencent Cloud. Vous pouvez également l'intégrer facilement avec Vue et React. Vous trouverez de nombreuses fonctionnalités telles que :

  • Plugins de groupe et évolutifs
  • Compatibilité et architecture avancées du middleware de groupe
  • Capacité de découplage et superposition d'applications
  • Expérience de développement de nouvelle génération
  • Prend en charge le middleware koa et les plugins Egg.

Webiny

Obtenez tout ce dont vous avez besoin pour concevoir, déployer et créer des applications sans serveur avec le Webinaire Cadre d'application sans serveur. Il est conçu pour différents cas d'utilisation. Vous pouvez modifier l'architecture, la pile technique et vous adapter aux besoins de votre organisation et de votre projet.

Créez des sites Web et des applications d'entreprise basés sur le référencement, le routage, le pré-rendu, la sécurité, le déploiement, le regroupement, etc. Créez des API internes ou externes en extrayant les résolveurs GraphQL. Ne vous limitez pas à une seule application ; créer des applications qui utilisent diverses bases de données. Vous pouvez utiliser les pilotes de base de données NodeJS pour interagir avec des bases de données externes.

Webiny fournit le regroupement de code, l'IaC, les mécanismes de déploiement et l'organisation de projet. Ajoutez le produit en haut de la liste et offrez le SaaS au monde entier. Sécurisez une partie ou l'intégralité des applications avec ACL à l'aide d'AWS Cognito et d'un cadre de sécurité intégrés.

Ajout de la prise en charge d'Auth0, OKTA et autres. Tu auras CMS sans tête, générateur de pages, générateur de formulaires, gestionnaire de fichiers et bien d'autres. Générez du code passe-partout en utilisant les plug-ins CLI des fonctions lambda vers les nouvelles API GraphQL.

L'interface utilisateur d'administration de Webiny contient plus de trente composants React différents. Vous obtiendrez également Protection DDoS, CDN et 11 9 de durabilité des données. Webiny vous fait gagner du temps en essais, erreurs et recherches.

AWS Chalice

Vous recherchez un framework pour écrire des applications sans serveur en Python ?

Essayez Calice AWS qui vous permet de créer et de déployer des applications via AWS Lambda.

Chalice fournit un outil de ligne de commande pour créer, déployer et gérer votre application, une API basée sur un décorateur à intégrer à Amazon S3, Amazon API Gateway, Amazon SQS, Amazon SNS, et plus de services AWS.

Il vous permet de créer des API REST, d'effectuer des tâches s'exécutant périodiquement, de connecter des fonctions lambda avec un événement S3 et une file d'attente SQS, et davantage de ressources AWS. Juste après avoir écrit votre code, Chalice vous permettra d'exécuter et de déployer votre application rapidement. Chalice prend en charge toutes les versions de Python prises en charge par AWS Lambda, y compris Python 2.7, 3.6, 3.7 et 3.8.

Configurez toutes les informations d'identification avant de déployer l'application. Mais si vous l'avez déjà configuré pour exécuter AWS CLI ou boto3, ignorez ceci. Après le déploiement, vous pouvez apporter des modifications partout où vous en avez besoin et redéployer les modifications. Suivez des tutoriels, des sujets et des références d'API pour une meilleure version de vos connaissances.

Zappa

Zappa est un framework sans serveur pour la création d'applications Python. Il facilite le travail de création et de déploiement d'applications Python sans serveur et basées sur des événements sur API Gateway et AWS Lambda. Utilisez-le pour profiter d'une maintenance nulle, d'un temps d'arrêt nul et d'une évolutivité infinie à un coût minimal des déploiements actuels.

Avant de procéder aux installations et aux configurations, assurez-vous d'avoir Python 3.x et un compte AWS et une installation correcte du fichier d'informations d'identification AWS. Vous pouvez également installer Zappa facilement en utilisant pip.

Zappa configure automatiquement les paramètres de déploiement. Une fois les paramètres correctement configurés, déployez l'application vers une étape de production en une seule ligne de commande. Utilisez la commande template si vous voulez un modèle API Gateway CloudFormation. Déployez Zappa sur des sous-domaines et des noms de domaine personnalisés avec des certificats SSL, des certificats AWS Certificate Manager et des certificats Let's Encrypt.

Activez les points de terminaison sécurisés sur la passerelle API, tels que la clé API, la stratégie IAM, les autorisateurs API Gateway Lambda, l'autorisateur de groupe d'utilisateurs Cognito et la stratégie de ressource API Gateway. De plus, vous pouvez définir des variables d'environnement telles que l'environnement local, l'environnement AWS distant et l'environnement distant via un fichier S3,

Architect

Créez, déployez et maintenez une infrastructure sans serveur basée sur les fonctions cloud AWS de nouvelle génération avec des fonctionnalités locales et hors ligne complètes. workflows, Et plus encore.

Architecture sans serveur

Il s'agit d'un projet raisonnablement sophistiqué et nécessite que vous lisiez sur la philosophie du projet et la page de documentation dans son ensemble.

Up

Up est un framework qui vous aide à déployer des applications sans serveur avec un potentiel d'évolutivité infini. En outre, vous pouvez utiliser Up pour déployer des sites Web statiques, des API, etc. Tout cela vous donne la flexibilité de travailler sur ce qui compte vraiment pour vous.

Déployez des applications sans serveur en quelques secondes

Heureusement, Up déploie des instances de serveur HTTP traditionnelles, vous n'êtes donc pas invité à apprendre un nouveau protocole. Au lieu de cela, utilisez votre framework préféré comme Django ou Express pour vous lancer.

Claudia.js

Claudia.js donne aux développeurs un moyen de pousser leurs projets basés sur Node.js vers les systèmes Lambda et l'API. Claudia automatisera les tâches de déploiement, la configuration et configurera automatiquement votre environnement JavaScript pour un développement moderne.

YouTube vidéo

Alors qu'est-ce que cela signifie pour vous? En utilisant Claudia, vous pouvez relancer votre parcours de microservices en quelques minutes. En conséquence, vous avez beaucoup moins à penser et beaucoup plus de temps pour vous concentrer sur la résolution de problèmes réels.

Les principales raisons d'utiliser Claudia sont:

  • Déployez, mettez à jour et gérez vos instances avec une seule commande
  • Fonctionne parfaitement avec les packages NPM
  • Structure passe-partout intégrée, vous donnant plus d'espace pour vous concentrer sur vos tâches à accomplir.
  • Gestion des versions afin que vous puissiez travailler sur plusieurs versions simultanément
  • Petite courbe d'apprentissage

Jets

Aimez-vous Ruby?

Framework sans serveur Jets Ruby

Ensuite, vous pourriez juste vous retrouver en train de profiter Jets - un Framework Ruby sans serveur pour la création et le déploiement de microservices. Le cadre comprend tous les outils nécessaires pour vous aider à générer des structures d'API et à les déployer sur Lambda.

Jets fonctionne également pour écrire des fonctions distinctes que vous pouvez utiliser pour assembler différents services et ressources fournis par AWS.

Le fonctionnement de Jets est que le framework convertit votre code existant en fonctions pour Lambda et d'autres services AWS. Par conséquent, vous pouvez ignorer des éléments tels que le déploiement et l'approvisionnement pour passer plus de temps à écrire du code fonctionnel.

Pulumi

Pulumi fournit un SDK transparent pour vous aider à créer et à déployer des logiciels sur n'importe quelle plateforme cloud. Le SDK prend en charge les conteneurs, les services hébergés, l'infrastructure principale et les conteneurs.

Pulumi

Vous pouvez écrire du code dans n'importe quelle langue ; Pulumi fournira et gérera vos ressources sur des fournisseurs de services tels que GCP, AWS, Kubernetes et Azure.

Serverless

Je sais ce que vous pensez: "Quelqu'un a eu la chance d'obtenir le nom de domaine Sans serveur.com et ils gagnent simplement leur chance! », et je dois vous dire que ce n'est pas le cas.

Serverless Framework d'application sans serveur optimisé par AWS Lambda API Gateway et plus

Le Framework Serverless a quelques 30,000 étoiles sur GitHub, ce qui en fait le plus populaire cadre sans serveur tu peux trouver.

Alors, que pouvez-vous faire avec ce cadre? Tout d'abord, vous pouvez créer des applications qui utilisent des microservices pour répondre à des événements, etc. Par exemple, vos applications ne répondent que lorsqu'il y a un appel définitif et évoluent vers le haut et vers le bas en fonction de la demande. En conséquence, vous pouvez économiser une tonne d'argent qui serait autrement dépensée pour maintenir des services inactifs.

YouTube vidéo

Le Framework utilise de nouveaux services de calcul basés sur les événements, tels qu'AWS Lambda, Google Cloud Functions, etc. Il s'agit d'un outil en ligne de commande qui fournit un échafaudage, une automatisation des flux de travail et les meilleures pratiques pour développer et déployer votre architecture sans serveur. Il est également complètement extensible via des plugins.

Sigma

Sigma est un nouvel IDE basé sur le cloud construit autour de l'idée du développement sans serveur. Ce n'est pas seulement un éditeur de texte de base avec quelques fonctionnalités sophistiquées, mais un IDE complet qui vous permettra d'écrire du code et de publier ce code en tant qu'application en temps réel.

L'IDE Sigma peut dialoguer avec la plate-forme sans serveur (FaaS) de votre choix et uniquement avec l'exigence d'un fichier de configuration. En conséquence, vous pouvez économiser des heures interminables de tâches autrement ennuyeuses.

Sigma

De plus, contrairement à d'autres outils qui tentent d'obtenir un résultat similaire, Sigma est lui-même sans serveur. L'IDE s'exécute entièrement à partir du navigateur et ne nécessite pas de service back-end pour fonctionner pour toutes les fonctions, sauf quelques-unes. Plus précisément, le back-end est requis pour authentifier les utilisateurs et collecter des données analytiques.

Celui-ci mérite d'être surveillé et d'essayer par vous-même.

Auth0

Si vous êtes passionné par le concept de Serverless, vous avez probablement entendu parler du Serverless Framework - celui que nous avons mentionné plus tôt dans l'article.

Ne jamais compromettre l'authentification d'identité0

Auth0 a rassemblé ses efforts pour créer des tâches Web Auth0, un module complémentaire efficace pour tous les utilisateurs de Serverless Framework. Le projet s'appelle Webtask, et vous pouvez trouver la page d'accueil ici.

En substance, Webtask peut être utilisé pour créer des applications sans avoir à vous soucier de votre infrastructure compatibilité. Écrivez la logique côté serveur et déployez toutes vos fonctions à l'aide de l'interface de ligne de commande fournie par Webtask. Vous pouvez ensuite naviguer dans le back-end à l'aide du protocole HTTP.

Mettre à jour: Le site Web Webtask a depuis été fermé.

Exemples sans serveur

Nous avons parlé du Framework Serverless plus tôt dans l'article, et fondamentalement, il s'agit d'une ressource de suivi qui présente les nombreux cas d'utilisation pour le Framework sans serveur.

Répertoire des fonctions sans serveur de l'Explorateur d'exemples

Bien que ces exemples soient verrouillés dans un cadre spécifique, vous pouvez toujours profiter du processus d'apprentissage de nouveaux concepts sans serveur.

Les exemples sont disponibles pour des plates-formes telles que AWS, Azure, Kubeless, Google Cloud et OpenWhisk. De plus, six langages différents sont pris en charge: nodeJS, Python, Go, Java, PHP et Swift.

Découvrez certains de ces favoris comme Bot blague Twitter et API OAuth Dropbox.

Si vous recherchez un apprentissage pratique, jetez un œil à ceci Cours en ligne.