Les conteneurs dans Azure - focus Azure Container Apps

Les conteneurs sont un moyen simple de packager, déployer et gérer une application dans le cloud. C’est en grande partie pour cela que ce format est largement privilégié par les développeurs. Sur Azure, il existe de nombreux moyens de travailler avec des conteneurs/applications conteneurisées. Aujourd’hui, nous allons en faire le tour et essayer de les comparer. C’est parti ! Attention, l’ensemble des options suivantes permettent le déploiement d’applications .NET Core et .

Continuer

Entity Framework - Chiffrement personnalisé

Aujourd’hui, je souhaite vous faire un feedback sur la mise en place d’une solution de chiffrement manuelle des données avec Entity Framework et une base de données. Un peu de contexte Le système sur lequel j’interviens nécessite la mise en place d’un mécanisme de chiffrement des données. Il permet de chiffrer des colonnes spécifiques (celles contenant des données sensibles) tout en conservant la clé côté client et non côté serveur (pour éviter, par exemple, à un DBA d’accéder aux données).

Continuer

Entity Framework - Stratégies d'héritage

Entity Framework Core 7 est déjà sorti il y a quelque temps maintenant (le 8 Novembre 2022 si vous n’avez pas cliqué sur le lien…), mais je souhaitais revenir sur l’arrivée de la stratégie TPC (Table Per Concrete), et au passage, en profiter pour présenter les différentes possibilités pour gérer l’héritage avec EF. Entity Framework Core Entity Framework Core est un ORM (aka. object-relational mapping) dédié au monde .NET. Il succède à Entity Framework, et vient lui apporter légèreté et extensibilité ainsi que le support du multiplateforme et la diffusion du code en open source.

Continuer

Azure Auto Tagger

J’ai récemment eu besoin de mettre en place un mécanisme permettant l’ajout automatique de tags sur des ressources Azure. Il s’agissait de positionner des tags pour tracer les modifications sur des ressources (auteur et date de création/modification). J’en profite donc pour faire un feedback technique, et aborder au passage la brique Azure Event Grid. Comment ça fonctionne ? Le fonctionnement est globalement assez simple, et ne nécessite que 2 composants :

Continuer

L'IaC avec Pulumi

Construire une infrastructure a toujours été un processus manuel long et coûteux (et ce, même via l’utilisation de script “maison”). Avec l’avènement du cloud et l’accélération de la mise en production des applications, il est devenu indispensable de mettre en place des méthodes pour gérer cela de manière efficace, fiable et performante. Pour faire du déploiement un “non-évènement” et supprimer la peur du “friday deployment”, on est venu ajouter de l’outillage et de la méthode sur tout ça.

Continuer

Traefik - A modern reverse proxy

J’aime l’informatique ! De fait, je commence à accumuler quelques appareils chez moi : un NAS Synology, un Intel NUC (qui fait office de serveur), parfois quelques Raspberry Pi… En plus de ça, j’adore bidouiller et tester des services que je peux self-hosted (via Docker le plus souvent). Jusqu’à maintenant, ces derniers étaient cantonnés à mon réseau local. Mais j’ai souvent rencontré le besoin d’y avoir accès depuis l’extérieur de mon domicile.

Continuer

Ciao Google Analytics !

Google Analytics est un outil proposé par le géant du web permettant de mesurer la fréquentation d’un site web. Dans le domaine, c’est le leader et il est utilisé par de très nombreux sites dont ce blog ;) En 2021, les différents outils Google (Google Analytics, Google Universal Analytics et Google Global Site Tag) représentent plus de 80% des parts de marché. Mais depuis quelques mois, un vent de changement commence à souffler et semble vouloir fragiliser l’hégémonie de Google sur ce marché…

Continuer

CQRS : Command Query Responsability Segregation

Dans mon article sur la scalabilité et la haute disponibilité, j’avais rapidement abordé le sujet du pattern CQRS. Aujourd’hui, nous allons voir un peu plus en détail les concepts et le fonctionnement de ce pattern. CQRS, qu’est-ce que c’est ? CQRS, pour Command Query Responsibility Segregation, est un pattern reposant sur le principe de la séparation des opérations de lecture (Query) et d’écriture (Command) Ce pattern est né du constat que les besoins, fonctionnels ou techniques, d’une application sont souvent très différents selon que l’on cherche à lire ou à modifier une donnée.

Continuer

Polly

Dans la continuité de l’article sur les architectures microservices, j’aimerais aujourd’hui vous parler d’une bibliothèque .NET permettant d’aider au développement d’une application résiliente. J’ai nommé… Polly ! Il existe déjà des patterns pour résoudre certains problèmes “classiques”, comme le pattern retry ou encore le pattern disjoncteur. Le souci est qu’ils sont souvent assez complexes à implémenter et à intégrer dans un code neuf ou existant. C’est là qu’intervient Polly, en fournissant un ensemble de stratégie prêt à l’usage et ne nécessitant que quelques lignes de code pour être opérationnelles.

Continuer

L'architecture micro-services

Dans mon précédent article sur la scalabilité et la haute disponibilité, j’avais abordé le concept d’architecture microservices. Je vais aujourd’hui détailler un peu plus ce type d’architecture qui répond à de nombreuses problématiques rencontrées par les entreprises. Dans son article Who Needs an Architect?, Martin Fowler développe sa propre définition de l’architecture : À première vue, l’architecture d’une application se résume en la décomposition de la totalité du système applicatif considéré en éléments constitutifs plus simples, aux rôles, responsabilités et limites bien identifiés.

Continuer

Photo de l'auteur

Matthieu Anceret

Blog d’un développeur Tourangeau passionné

Software Architect @C2SBouygues

France, Tours