JavaRush /Blog Java /Random-FR /Déployer une application Java sur la plateforme cloud Ama...
Евгений
Niveau 41

Déployer une application Java sur la plateforme cloud Amazon Web Services (AWS)

Publié dans le groupe Random-FR
Salut tout le monde! Chaque développeur doit tôt ou tard déployer ses applications sur le cloud. Dans mon cas, après avoir développé le bot Telegram @rabotaUkraineBot, il devenait simplement nécessaire de lui trouver un hébergement décent. L'idée même de développer un bot et les outils utilisés pour sa mise en œuvre sont décrits dans un article séparé . Les candidats au choix d'une plate-forme cloud étaient les services de quatre géants bien connus : Amazon Web Services (AWS), Google, Azure et Heroku. Lors du choix de mon hébergement, je me fixe les priorités suivantes : prix minimum, facilité de déploiement, disponibilité de services supplémentaires, flexibilité. Je ne vais pas vous plonger dans des analyses et des comparaisons ; je vais vous dire tout de suite le gagnant : AWS. Déployer une application Java sur la plateforme cloud Amazon Web Services (AWS) - 1Pourquoi AWS, demandez-vous ? Parce que:
  • un an d'utilisation gratuite d' AWS Free Tier , les ressources gratuites de cette offre sont plus que suffisantes pour ma tâche ;
  • dans AWS, tout est Elastic, c'est-à-dire tout est souple et élastique. Grâce à cela, des compétences DevOps ne sont absolument pas requises lors du déploiement de votre application ;
  • AWS a investi massivement dans le développement au cours des deux dernières années, avec de nouveaux services apparaissant chaque mois.
Passons maintenant à la préparation de l'application et au déploiement lui-même sur le cloud AWS. Pour des raisons de facilité d'utilisation, le service Elastic Beanstalk a été choisi pour déployer l'application. Avec lui, vous téléchargez votre application via votre navigateur et c'est tout ! Oui, oui, AWS mettra en place lui-même l'infrastructure et allouera le pool de ressources requis. Puisque mon bot est écrit en SpringBoot, il suffit de créer une guerre à l'aide de spring-boot-maven-plugin et de vérifier que l'application fonctionne correctement sur un Tomcat déployé localement . Une remarque très importante, avant de construire, vous devez définir le numéro de port 5000 dans application.properties :
server.port=5000
Si vous ne le faites pas, vous devrez configurer les paramètres de port dans la console AWS, ce qui peut entraîner des frais supplémentaires de la part d'AWS car cela va au-delà de la fourniture du service AWS Free Tier. Le processus de déploiement lui-même n'est absolument pas compliqué et se déroule conformément au guide officiel de démarrage avec Elastic Beanstalk . Caractéristiques auxquelles vous devez prêter attention :
  • Lors de la construction de l'application, n'oubliez pas de configurer le port comme indiqué ci-dessus ;
  • lors de votre inscription sur AWS, vous aurez besoin d'une carte de paiement avec au moins 1 $ sur votre compte (lors de la validation de la carte, Amazon bloque 1 $) ;
  • étudier attentivement les limites du service AWS Free Tier afin de ne pas perdre d'argent ;
  • Si après le déploiement l'application ne fonctionne pas comme prévu, vous trouverez les logs Tomcat dans le menu Logs de l'Environnement de votre application.
Que faire un an après avoir utilisé la période gratuite, demandez-vous ? Il existe plusieurs options pour résoudre le problème :
  1. commencer à payer de l'argent en fonction des ressources utilisées ;
  2. passer au service Amazon Lightsail (c'est moins cher là-bas) ;
  3. réécrivez l'application à l'aide d'AWS Lambda et bénéficiez d'un hébergement gratuit ;
  4. ouvrez un nouveau compte avec les services AWS Free Tier et déployez-y votre application, c'est-à-dire retarder la résolution du problème d’un an supplémentaire.
Actuellement, AWS vérifie uniquement le caractère unique de l'e-mail lors de l'enregistrement d'un nouveau compte. Pour résumer : vous pouvez facilement déployer votre application sur le cloud AWS - très rapidement et absolument gratuitement la première année. Grâce aux services AWS, nous pouvons nous concentrer sur le développement, AWS fera le reste à notre place, car tout y est Elastic.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION