Cloud9 est un IDE complet basé sur un navigateur avec de nombreuses intégrations AWS et une prise en charge intégrée de plus de 40 langues. Il est particulièrement utile pour travailler avec les fonctions Lambda et offre un moyen simple de les tester et de les itérer dans le même environnement que la production.
Cloud9, un IDE conçu pour AWS
Cloud9 est un très bon IDE en soi, mais vous pensez probablement déjà que votre configuration locale de Visual Studio Code est meilleure.
Bien qu'un IDE local puisse être plus pratique, Cloud9 l'a battu dans quelques domaines. Tout d'abord, il court sur EC2, et vous disposez d'un accès terminal complet à l'instance avec l'AWS CLI préinstallée. Dans un environnement d'entreprise, le déploiement des environnements de votre développeur dans le cloud sous votre contrôle est une fonctionnalité très intéressante. Vous pouvez déployer plusieurs environnements Cloud9 sur un serveur sous des sous-dossiers.
Outre l'intégration AWS de base, Cloud9 excelle vraiment pour le développement Lambda. C'est en fait le même éditeur de texte que celui que vous trouvez sur la page des propriétés de la fonction, sauf que Cloud9 possède une fonctionnalité intéressante qui le rend bien meilleur: les tests locaux. Vous pouvez tester votre fonction dans presque le même environnement que celui qu'elle exécuterait en production, même en étant en mesure de tester localement le comportement de votre fonction derrière une passerelle API. Si vous souhaitez tester la fonction dans Lambda lui-même, il existe un bouton en un clic pour déployer votre code sur la version $ LATEST Lambda et le tester dans un environnement réel, avec une passerelle d'API de développement configurée pour exécuter votre fonction mise à jour. L'expérience est assez fluide.
Même si vous utilisez Git et SAM pour gérer vos déploiements Lambda, Cloud9 peut toujours s'avérer utile uniquement pour la capacité de tester les fonctions si facilement. Le terminal intégré facilite le travail avec Git depuis l'environnement Cloud9.
En plus de cela, Cloud9 prend également en charge le codage collaboratif. Plusieurs utilisateurs peuvent être connectés au même environnement et travailler sur du code en même temps. D'autres IDE disposent de cette fonctionnalité, mais la fonction de programmation par paires de Cloud9 est intégrée aux outils de gestion de compte d'AWS et fonctionne également bien pour le développement Lambda.
Configurer un environnement
Rendez-vous sur la page du produit Cloud9 et cliquez sur «Créer un environnement». Donnez-lui un nom et une description, puis cliquez sur Suivant.
Pour les paramètres d'environnement, choisissez de créer une nouvelle instance pour l'environnement. Si vous possédez votre propre serveur, vous pouvez saisir les détails SSH pour celui-ci à la place, et l'utiliser sans frais supplémentaires. Vous souhaiterez probablement modifier le répertoire d'environnement dans lequel Cloud9 s'installe si vous configurez plusieurs environnements.
Vous devez également vous assurer que le paramètre Réduction des coûts est défini sur quelque chose de raisonnable, afin que l'instance ne continue pas à fonctionner longtemps après que vous (et tout le monde) quittez l'EDI. Environ 30 minutes ou une heure, c'est bien.
Vous pouvez également configurer ici les paramètres du VPC et du sous-réseau, bien que vous ne puissiez actuellement pas déployer Cloud9 dans un sous-réseau privé.
Cliquez sur suivant pour revoir vos paramètres et (si tout semble bon) créez votre environnement. Vous êtes ensuite redirigé vers une nouvelle page, où la création de l'environnement pour la première fois peut prendre un peu de temps. En une minute environ, vous êtes connecté et dirigé vers l'écran de démarrage de Cloud9 où vous pouvez passer en mode sombre si vous le souhaitez.
La première chose à faire est de vérifier que votre région AWS est correctement définie dans la catégorie «Paramètres AWS» des paramètres de l'éditeur. Il devrait être lancé avec la région que vous utilisez par défaut, mais il ne s'affiche pas dans l'en-tête comme la plupart des autres services AWS, il est donc bon de vérifier.
Une fois cette case cochée, vous êtes prêt à commencer. À partir de l'onglet «Ressources AWS» dans la barre latérale extrême droite, vous pouvez modifier directement les fonctions Lambda. Vous pouvez cliquer sur le bouton «λ +» dans le menu pour créer une nouvelle fonction Lambda.
Donnez-lui un nom, puis cliquez sur la configuration Lambda. Si vous configurez cette fonction avec une passerelle API, vous souhaiterez spécifier un nom pour la passerelle utilisée pour les tests, ce qui permet le débogage en utilisant API Gateway comme point d'entrée plutôt que l'exécution directe.
Si vous disposez déjà d'une fonction Lambda que vous souhaitez modifier, vous pouvez à la place importer une fonction existante dans l'environnement pour la modifier.
Une fois votre fonction chargée, elle apparaît dans la barre latérale dans son propre dossier. S'ouvrir index.js
ou quel que soit votre point d'entrée, et modifiez le code comme bon vous semble.
Lorsque vous souhaitez tester, enregistrez votre code et cliquez sur le bouton «Exécuter». Vous avez ici quelques options:
- Test local, qui exécute la fonction Lambda sur la même machine que l'environnement
- Test à distance, qui exécute la fonction Lambda dans le même environnement qu'elle exécuterait en production
- Test de la passerelle API locale, qui l'exécute localement en tant qu'API
- Test de la passerelle API distante, qui crée un exécute une nouvelle passerelle API réelle avec le
Cloud 9-
préfixe et se connecte à la fonction Lambda
Ces options à elles seules rendent Cloud9 idéal pour travailler avec les fonctions Lambda. La possibilité de tester facilement les fonctions localement donne à Cloud9 un avantage sur les IDE locaux. L'exécution locale signifie que vous n'aurez pas à vous soucier de mettre à jour la version $ LATEST de la fonction Lambda; cela permet à plusieurs développeurs de développer et de tester la même fonction sans se heurter à des conflits.
Bien sûr, si vous souhaitez effectuer un test à distance, vous devrez mettre à jour la version $ LATEST. Cela ne devrait pas affecter vos fonctions de production, à condition que vous les ayez correctement configurées avec des versions versionnées et un alias "Production" pointant vers la dernière version. Il facilite les retours en arrière et permet de déployer de nouvelles fonctions lentement en une heure, garantissant ainsi qu'aucun problème ne survient en production.
La modification de fonctions Lambda directement comme celle-ci et la gestion des versions de code via les versions Lambda est un moyen parfaitement valide et simple de travailler avec elles. Cependant, certaines entreprises peuvent préférer utiliser leur contrôle de source existant pour Lambda et déployer des mises à jour via un pipeline CI / CD à l'aide de la configuration SAM pour définir la pile de fonctions. Il s'agit certainement d'une configuration plus compliquée (bien que meilleure), mais chaque déploiement crée toujours une nouvelle version Lambda, donc même dans cet environnement, vous pouvez utiliser Cloud9 pour les tests. Lorsque vous êtes prêt à effectuer des mises à jour, vous devez appliquer les modifications à Git. Heureusement, Cloud9 dispose d'un terminal intégré que vous pouvez utiliser à cette fin.