Une application "classique" est souvent composée d'une partie cliente (navigateur web, ou application mobile), d'un serveur backend (API) et d'une source de données (généralement une base de données). Cette architecture classique comporte un certain nombre de limites intrinsèques qui l’empêchent généralement de passer à l'échelle supérieure et de monter en charge.
Pour pallier à ce problème, AWS (Amazon Web Services), et de manière générale les fournisseurs de services cloud, proposent de concevoir les applications d'une manière sensiblement différente.
L'idée maitresse est de séparer les applications au maximum en "services/modules" simples, distribuables et duplicables à chaud. Ainsi, votre application est une multitude de petits services qui sont hébergés sur des services spécialisés. Chaque brique de votre architecture peut être développée par vos équipes, ou directement utilisée à travers internet, et se trouve composée pour créer votre application / service final.
Cette décomposition de tâches en sous services distribuables permet une grande souplesse de conception, mais aussi parallèlement, une grande complexité qu'il convient de maîtriser.
Architecture classique vers AWSLe Cloud AWS (Amazon WebServices) est une plateforme de services cloud développée par le géant américain Amazon.
Afin de concevoir une application facilement distribuable sur AWS, il faut revoir les basiques de la conception d'application et prendre un temps important pour concevoir l'architecture.
En effet, de nombreuses briques existent de manière native (out of the box) dans l'offre AWS, et il convient souvent d'assembler des services entre eux pour réaliser son architecture d'application. On se retrouve facilement à avoir un deuxième service pour son application et il est souvent complexe de comprendre le fonctionnement de tous.
En soi, chaque service est simple à comprendre... c'est dans les interactions que la complexité se crée ! Surtout qu'il existe souvent plusieurs niveaux d'utilisation de services. Par ailleurs, d'autres questions se posent : ai-je besoin d'un serveur, ou plutôt d'un conteneur, ou encore du serverless ? C'est tout cela qui rend la conception d'application complexe... mais aussi passionnante !
Pour construire une architecture sur AWS, il faut concevoir l'architecture la plus modulaire possible. L'approche micro services est la meilleure approche pour la conception de ce type d'application.
Migrer une application existante vers une architecture telle qu'AWS peut se faire de plusieurs manières :
Besoin de créer une application pour AWS ou de faire une migration vers AWS ? Parlez-en à nos experts !
Voici quelques clés pour mieux comprendre le Cloud Computing et ses enjeux.
Comment mettre en place l’accessibilité mobile sur IOS et Android pour les personnes en situation de handicap ?
Un SI agile en 2020, c’est quoi ? Comment le concevoir ? Par où partir, quelle brique doit-on posséder ? Dans quel ordre ?
Affichage et administration des différents utilisateurs d’une application Symfony
Web
TMA
Angular
Angular
Spring boot
JEE