CodeCatalyst encore un autre service de code sur AWS qui rejoint la suite CodeCommit, CodeBuild, etc... me diriez-vous ? pas tout à fait !
Tour d'horizon d'un service qui s'annonce comme étant la prochaine génération d'outil pour développeurs par AWS
Présentation
Amazon CodeCatalyst à été annoncé (en preview) par Werner Vogels le 1er décembre 2022 lors du re:Invent et est disponible en GA (General Availability) depuis le 20 Avril 2023.
Ce service se présente comme étant une "place unifié de service pour les développeurs".
Concrètement il permet aussi bien d'héberger son code (git), d'interagir et commenter en équipe sur le code, de créer et suivre les tickets que de lancer des pipelines de déploiement automatisés (CI/CD)
Par ou démarrer ?
L'idée de ce post étant de présenter brièvement le service mais surtout de montrer les particularités d'Amazon CodeCatalyst par rapport à d'autres services sur AWS, une des premières particularités est qu'il à le droit à une plateforme dédiée (hors de la console AWS) avec un modèle d'authentification nouveau et différent de ce qu'on à pu voir avec IAM (qui à été lancé en meme temps que CodeCatalyst)
Le site du service ayant une interface bien à lui le modèle d'authentification également.
En effet, il est basé sur AWS Builder ID qui est un nouveau service d'authentification dédié spécifiquement aux builders sur AWS, actuellement il fonctionne avec CodeCatalyst mais aussi CodeWhisperer (le service de génération de code via Machine Learning) et ne nécessite pas de carte bleu pour avoir un compte sur ce service (le compte administrateur (billing) de CodeCatalyst lui en aura bien besoin comme on le verra par la suite) et permet donc d'inviter des gens au(x) projet(s) sans nécessairement avoir un compte AWS.
Il suffit de s'enregistrer avec une adresse mail valide puis de créer son "espace" dans CodeCatalyst et ensuite de joindre son espace avec son compte AWS via un token ID créé au moment de l'initialisation de l'espace dans CodeCatalyst
Prise en main
Une des forces de CodeCatalyst se trouve dans les blueprints mis à disposition, les blueprints sont des projets (templates) assez complet qui permettent de découvrir le service mais aussi d'avoir un premier point de démarrage lorsqu'on souhaite explorer des nouveaux patterns / architectures / technos notamment avec du CDK (pas de projet avec du Terraform à ce jour), de nombreux services sont présents
Une fois dans le projet on à la possibilité d'ajouter des membres avec de la collaboration & échanges, des issues (également en provenance de Jira), des secrets et toute la richesse d'un workflow CI/CD
Les workflows sont éditables de manière graphique (low-code) ou en YAML et la possibilité d'importer en partie des GitHub Actions
Tarifs
CodeCatalyst à une offre "Free tier" pour démarrer et une offre "Standard tier" pour aller plus loin.
Ce qui est original c'est qu'on choisit l'offre dans laquelle on souhaite démarrer et si on part sur du "Free tier" l'upgrade ne se fait pas toute seule et le service est coupé (alors qu'habituellement AWS n'as pas l'habitude de stopper le service mais de facturer ce qui dépasse du free tier).
La facturation se fait par "espace" (dans un espace on peut mettre plusieurs projets), on peut créer jusqu'a 5 espaces dans CodeCatalyst par région et un seul en Free tier dans la région.
L'interface de billing est assez détaillée et se met à jour assez rapidement pour refléter l'usage au niveau de l'espace
A noter que cela n'inclut pas le cout de création des resources sur le(s) compte(s) AWS (S3, Lambda, ECS, etc...)
Architecture
Une des originalités de CodeCatalyst en tant que service AWS est son coté "modulable" et flexible au niveau des accès et du déploiement des ressources sur les comptes.
Comme on peut le voir dans le schéma il est possible de dissocier en plusieurs comptes AWS le déploiement des ressources avec différents projets sur un meme espace.
Il est possible dans un projet de créer plusieurs environnements pour les lier à différents comptes AWS (ex. dev et prod)
Conclusion
CodeCatalyst s'annonce clairement comme un nouveau service différenciateur et viendra surement en remplacement de la suite CodeCommit, CodeBuild etc... sur le long terme
Une interface et plateforme à part lui permet de partir sur des nouvelles fondations pour itérer plus efficacement, à suivre :-)
Pour aller plus loin
si vous souhaitez en savoir plus sur CodeCatalyst différents liens
N'hésitez pas à indiquer en commentaire si vous avez des questions
Top comments (0)