Facebook EmaiInACirclel
Java

Comment démarrer rapidement votre projet JAVA sur AWS ?

Catalin Dumitras
Catalin Dumitras
Principal Cloud Architect

Vous êtes un développeur Java, c’est la fin du premier sprint, et vous n’avez aucun environnement pour votre démo. Ce nouveau projet JAVA que vous réalisez est le POC (Preuve de Concept en français) d’un nouveau service que votre entreprise souhaite lancer, et les ressources que l’on vous avait promises au départ ne cessent d’être réattribuées à d’autres postes.

Bien entendu, cela ne vous arrivera jamais – ceci n’est qu’une situation théorique.

Alors, théoriquement, comment résoudriez-vous le problème ? Votre client (qui peut être la principale partie prenante ou un représentant de la partie prenante, puisqu’il s’agit d’un projet interne) attend de vous un POC fonctionnel qu’il peut communiquer au reste de l’entreprise.

projet java aws

Voici seulement trois raisons d’utiliser AWS pour votre projet Java. Découvrez plus d’infos ici !

Bravo, vous êtes maintenant le Tech Lead. Peu importe que vous soyez le seul dans l’équipe, le plus expérimenté ou la seule personne à vous soucier du problème : ce qui compte, c’est votre approche de la situation.

On dit que « ne pas prendre de décision est la pire chose à faire », et cela se vérifie dans la plupart des cas. Par conséquent, les leaders ont tendance à agir, coûte que coûte. Dans ce cas, gardons à l’esprit que nous sommes des ingénieurs, et optons pour une approche d’ingénierie pour résoudre le problème :

projet java - aws

1. Définir le problème

Nous pourrions aborder bien des aspects ici, mais pour rester dans la finalité de cet article, définissons le problème de la manière suivante : « Notre client ne peut pas tester notre POC et notre ingénieur QA ne peut pas tester nos fonctionnalités en l’absence des environnements nécessaires. »

2. Examiner le problème

Une bonne tasse de thé ou de café et quelques recherches sur Google plus tard, vous constatez que tout le monde parle du cloud et trouve que c’est une solution bien meilleure (ou bien moins pire).

Le cloud s’accompagne de nombreux services que nous pourrions détailler tout au long de cet article, mais ce graphique devrait suffire pour l’instant :

projet-java-cloud-devops

3. Réfléchir à des solutions

Il est important de ne pas se laisser piéger par le « syndrome du NIH » (qui peut se traduire par « n’a pas été inventé ici »), que l’on peut définir ainsi :

« La tendance à réinventer la roue (implémenter à nouveau quelque chose qui existe déjà) en se basant sur la conviction que les développements en interne sont par essence mieux adaptés, mieux contrôlés, plus rapides à développer, et globalement moins coûteux (frais de maintenance compris) qu’utiliser des implémentations existantes. »

En d’autres termes, évitez de réinventer l’équilibreur de charge, l’outil de déploiement, l’outil de surveillance, etc., parce que vous le pouvez.

Quelle approche adopter pour la création d’une nouvelle application ? Vous reprenez tout à zéro à chaque fois ?

Non, vous utilisez un framework comme SpringBoot, et vous ajoutez des composants sources pour vous simplifier la vie. Alors, pourquoi ne pas traiter l’infrastructure de la même manière ?
Sur dix éléments que vous pouvez développer, seuls un ou deux permettent à votre projet Java de se démarquer – concentrez-vous sur ceux-là. Pour le reste, déléguez le plus possible au fournisseur cloud (partie droite du graphique ci-dessus).

Malheureusement, dans notre exemple, le développement de l’application a déjà commencé, et opter pour une architecture sans serveur impliquerait de :

  1. modifier l’architecture de l’appli
  2. apprendre de nouvelles compétences
  3. apprendre de nouveaux outils

Impossible si la session de démo est prévue demain !

Il va donc falloir opter pour ce qui s’en rapproche le plus : Le PaaS ou Platform as a Service, qui nous permet d’éviter de modifier l’architecture et d’utiliser les mêmes compétences et outils.

4. Choisir la meilleure solution

Parfait, nous utiliserons donc une solution PaaS. Mais quel cloud utiliser ? (le suspense est insoutenable… à moins que vous n’ayez lu le titre de l’article.)

Sachez qu’AWS a sorti 1 957 fonctionnalités rien qu’en 2018, et qu’il a été élu meilleure infrastructure dans le rapport Magic Quadrant de Gartner pour la 9e année consécutive.

AWS est le choix d’un si grand nombre de clients que son chiffre d’affaires a explosé de 47 % depuis 2017 pour atteindre 25,7 MILLIARDS de dollars US.

Avec un tel succès, vous avez la certitude de trouver de nombreuses ressources pour vous aider : articles de blogs, vidéos, cours et autres webinaires (à l’instar de celui dont je parle ci-dessous).

Utilisez AWS pour faire réussir votre projet Java !

Vous aimeriez savoir comment développer un POC avec ElasticBeanstalk, le tester et le lancer ? Regardez le replay de notre webinaire (le contenu du webinaire est disponible en anglais).

Voici la description d’Elastic Beanstalk, l’offre de PaaS d’AWS :

« AWS Elastic Beanstalk est un service simple à utiliser servant à déployer et mettre à l’échelle des applications et services Web développés avec JAVA, .NET, PHP, Node.JS, Python, Ruby, Go et Docker sur des serveurs familiers, tels qu’Apache, Nginx, Passenger et IIS.

Il vous suffit de charger votre code pour qu’Elastic Beanstalk effectue automatiquement les étapes du déploiement que sont le dimensionnement des capacités, l’équilibrage de la charge, le dimensionnement automatique et la surveillance de l’état de l’application. Ce faisant, vous conservez la maîtrise totale des ressources AWS alimentant votre application et pouvez accéder aux ressources sous-jacentes à tout moment.

Elastic Beanstalk ne génère aucun frais supplémentaire : vous payez seulement les ressources AWS nécessaires au stockage et l’exécution de vos applications. »

Super, il prend en charge JAVA ; génial, il gère le déploiement ; formidable, il a une excellente liste de fonctionnalités ; excellent, il est gratuit – YES !

 

Ce webinaire est le premier d’une série axée principalement sur les cas d’utilisation d’AWS. Alors restez connectés, nous annoncerons tous nos webinaires sur la page Facebook de Pentalog.

Inscrivez-vous au prochain webinaire AWS :  Serverless Web Applications with Node.js and AWS.


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *