Cloud

Infrastructure et opérations

Créer des instances AWS qui ont accès à Internet sans IP publique avec Terraform

Il nous est souvent demandé : Comment est-ce que je fais pour créer des instances AWS qui ont accès à internet mais sans IP publique ? Tout d’abord, qu’est ce qu’une IP publique? Une IP publique est une adresse IP joignable sur internet. A contrario des adresses IP privées (décrites dans la RFC 1918) qui elles ne sont pas visibles de l’extérieur du réseau.   L’architecture Amazon à mettre en place       Tout d’abord nous avons besoin d’un VPC (Virtual Private Cloud) (1)…

Lire la suite
Archi & techno

Asynchronous data exchanges, découpler avec classe – partie 1

Déporter des traitements lourds, transférer des logs, gérer des pics de charges, architecture réactive… Il existe de nombreux cas d’utilisation du design pattern Asynchronous data exchanges qui permet de gérer la communication de message en mode asynchrone. De nos jours, plein de solutions existent pour l’implémenter : Utilisation de méthode intégrée aux langages : Futures en Java Actors et Futures en Scala Delegate en .Net Utilisation d’outil comme Netty Utilisation de serveur de message ou MOM (Message Oriented Middleware) Etc. Dans cette série d’articles, nous…

Lire la suite
Archi & techno

Circuit breaker, un pattern pour fiabiliser vos systèmes distribués (ou microservices) : partie 4

Nous voilà à la fin de cette série d'articles (disponibles ici, ici et ici) sur le circuit breaker. Comment fais je pour le superviser en production ? Notre application a passé tous les tests et il est temps de passer en production. Si l’on reste sur Hystrix, il existe beaucoup de métriques. La liste est disponible sur le site officiel. Une des difficultés d’une bonne supervision est de réussir à obtenir des tableaux de bord où avec un simple coup d’oeil on peut obtenir le…

Lire la suite
Archi & techno

Circuit breaker, un pattern pour fiabiliser vos systèmes distribués (ou microservices) : partie 3

Maintenant que nous avons vu la théorie sur les précédents articles disponibles ici et ici, penchons-nous sur la pratique. Comment l’implémenter ? Plusieurs solutions sont possibles pour l’implémenter. Par exemple en Java il existe des librairies qui le font pour nous comme : Spring Cloud Netflix Netflix Hystrix breakr Focalisons-nous sur Netflix Hystrix.

Lire la suite
Archi & techno

Circuit breaker, un pattern pour fiabiliser vos systèmes distribués (ou microservices) : partie 2

Lors de l'article précédant, nous avons vu quelques solutions possible pour résoudre la gestion des dépendances (externe ou interne) qui peuvent (et le seront tôt ou tard) défaillantes lors de l’exécution de notre application. Regardons d'un peu plus près le design pattern circuit breaker. Une solution possible : le design pattern circuit breaker ? Le circuit breaker permet de contrôler la collaboration entre différents services afin d’offrir une grande tolérance à la latence et à l'échec. Pour cela, en fonction d’un certain nombre de critères d’erreur (timeout,…

Lire la suite
Archi & techno

Circuit breaker, un pattern pour fiabiliser vos systèmes distribués (ou microservices) : partie 1

L'évolution des besoins (réductions des coûts et du time to market, concept d'ATAWAD (AnyTime, AnyWhere, AnyDevice)...) a mis en avant certaines architectures (architecture  applicative cloud ready, architecture microservices, architecture distribuée…). Cela a engendré de nouvelles problématiques, en particulier l’augmentation du nombre de dépendances et donc potentiellement soumise au réseau. C’est à ce moment qu'apparaissent à nouveau les “Illusions de l'informatique distribuée” : Le réseau est fiable. Le temps de latence est nul. La bande passante est infinie. Le réseau est sûr. La topologie du réseau…

Lire la suite
Archi & techno

Concevoir pour le Cloud avec notre dernier livre blanc Cloud Ready Applications

5 enjeux fondateurs pour tirer parti du Cloud #AWSSummit Werner Vogels : In reality there is always an unexpected event La conception logicielle est depuis 18 ans l’un de nos cœurs de métier.  Aujourd’hui il n’échappe à personne que la révolution du cloud s’accélère :  vos applications arrivent massivement chez Amazon Web Service (AWS) et sur le cloud en général. Mais sont-elles prêtes? Prêtes à fonctionner avec de l’auto-scaling ? À utiliser des services comme ElastiCache ou SNS ?

Lire la suite
Archi & techno

Cloud Ready Applications

Les jours des serveurs traditionnels sont comptés. La flexibilité des plateformes de cloud est en train d'avoir raison des datacenters traditionnels. En tant que développeur, la question n'est plus "où mon application sera-t-elle déployée ?" mais "sur quelle plateforme de cloud ?". Et concevoir une application pour le cloud est plus complexe que dans un datacenter classique. En tant que développeurs nous devons être prêts, nous devons désormais écrire du code qui est prêt pour le cloud. Mais, qu'est-ce que cela signifie exactement? N'est-ce pas…

Lire la suite