Il est dit que l’avenir appartient à ceux qui se lèvent tôt. Ça reste à prouver, en tout cas ce matin une idée m’a traversé l’esprit et je vous la partage dans cet article.

Vous connaissez peut-être Cloud9, si oui vous pouvez passez au chapitre suivant. Dans le cas contraire, sachez qu’il s’agit d’un service AWS permettant de lancer un IDE dans le cloud, dans votre navigateur. Depuis cet IDE, on peut alors se connecter soit à une instance EC2 de son choix, soit à n’importe quel serveur acceptant le SSH par clef (Cloud9 propose également son range d’IP en divers formats pour contenter vos firewalls). Une fois le serveur de destination paramétré, il ne vous reste qu’à indiquer l’environnement voulu (NodeJS, Python, Go…) et le répertoire sur le serveur distant où se trouve le code.

AWS propose également une suite d’outils destinés aux développeurs (pour changer) sous forme de services managés que l’on peut retrouver sous le tableau de bord du service CodeStar. Notons qu’il est également possible de les utiliser séparéments (pour certains). C’est composé de :

  • CodeStar : un tableau de bord centralisé, permettant de suivre et de gérer aisément toute la chaîne d’outils de développement de bout en bout (centralisation/versionning de code, build, test, deploy).
  • CodeCommit : un service managé proposant des repository de type git sécurisés.
  • CodeBuild : un service managé qui compile du code source, exécute des tests et produit des packages logiciels prêts à être déployés.
  • CodePipeline : un service managé qui automatise les phases de développement, de test et de déploiement du processus de diffusion à chaque fois qu’un changement de code a lieu, en fonction du modèle de diffusion qui est défini préalablement.
  • CodeDeploy : et pour finir, un service managé qui automatise les déploiements de logiciels vers divers services de calcul comme Amazon EC2, AWS Fargate, AWS Lambda et même des serveurs hors AWS, comme chez OVH, Linode, dans votre propre datacenter, etc.

Mon idée de ce matin est la suivante : dans Cloud9, comme je l’ai expliqué plus haut, il est possible de démarrer un IDE sur un dossier distant, que ce soit EC2 ou sur un autre serveur, et de paramétrer un environnement donné pour coder son projet avec les bonnes dépendances, le bon interpréteur, la bonne coloration syntaxique, complétion, etc.

Mais à l’ère du service managé, pourquoi ne pas proposer une troisième option permettant de déployer un IDE Cloud9 connecté directement à un repository CodeCommit et dont on pourrait paramétrer l’environnement pour utiliser un ou tous les outils de CodeStar ? On ouvrirait notre IDE pour arriver directement sur notre code dans notre repository CodeCommit, dans lequel on pourrait commiter/pusher. En bonus, si voulu, nos modifications seraient automatiquement buildées/testées/déployées par les outils de CodeStar préalablement paramétrés.

Le résultat : un environnement de développement composé entièrement de services managés, accessible de n’importe quel device et totalement intégré à l’écosystème AWS.

Je suis même surpris qu’ils n’y aient pas déjà pensé, d’ailleurs, chez AWS. C’est pourquoi je les ai tweeté ce matin à ce sujet, et ai obtenu une réponse un peu bateau :

aws

J’ai donc commencé à drafter une feature request via leur excellent service de feedback. On verra bien si cette fonctionnalité finit par débarquer dans l’avenir ! 😄