Systèmes de données complexes et l’intégration de plusieurs outils.

Par défaut

Les professionnels ont parfois tendance à catégoriser les bases de données relationnels ou non relationnels, les files d’attentes, les caches etc. Même si une base de donnée et une messagerie qui basent leurs fonctionnements sur une file d’attente peuvent avoir quelques similarités, les deux conservent la donnée pour un temps défini et ils utilisent des méthodes différentes pour avoir accès à ces données, qui peut conduire à des différences en termes de performances par exemple.

Une pléthore d’outils permettant de gérer le stockage et le traitement des données sont apparus ces dernières années. Ils sont optimisés en fonction de cas d’usage spécifique Par exemple, on a Redis qui est utilisé comme agent de message et il y a aussi des agents de messages qui permettent le traitement complexe et en temps réel des données, comme une base de données. La frontière qui séparent ces différents catégories d’outils devient de plus en plus flou.

Il y a aussi de plus en plus d’applications qui implémentent des fonctionnalités qui ne peuvent être fourni par un seul outil. Dans ce cas le travail est décomposé en plusieurs tâches qui peuvent être exécutés de façon optimale sur un outil spécifique. Les développeurs interviennent ensuite pour ’’gluer’’ tous ca avec le code.

Un exemple, si vous avez une application qui gère le cache comme Memcached et un serveur de search comme ElasticSearch qui sont séparés de votre base de données principale, alors il est le ressort du développeur que je suis 🙂 de faire en sorte que tous ces outils soient synchronisés avec la ou les base de données principales.

Exemple d’un système de données complexe.

Quand vous utilisez plusieurs outils pour fournir un service, l’API qui expose ce service au monde extérieur fait une abstraction ou cache le plus souvent ces différentes implémentations. Lors de la conception d’un tel système, vous devez vous poser plusieurs questions. Par exemple, comment s’assurer qu’il n’y ait pas de dégradation dans la performance, même si vous avez une très grosse charge sur une ou plusieurs parties du système ? Comment montez vous à l’échelle entre autres.

Il y a plusieurs facteurs qui peuvent influencer la conception d’un système comme celui-ci, comme par exemple l’équipe, l’expérience (et le talent:) des développeurs qui y sont impliqués, ensuite il faut aussi se poser la question sur l’intégration avec des applications monolithiques ( et oui ! ), le temps de livraison et bien sur la vulgarisation auprès du métier pour qu’ils prennent en compte tous ces facteurs ( l’impact sur le risque, la gouvernance etc ). C’est un gros travail qui demande une expertise approfondi dans le fonctionnement d’applications et de base de données.

NextCog vous accompagne dans l’audit, l’implémentation et la conception de systèmes de données complexes. Nous sommes en constante veille technologique et nous nous assurons de vous fournir un service complet. N’hésitez pas à prendre contact avec nous et nous reviendrons vers vous au plus vite. 

Microsoft Azure et ses coûts, les PME négligés ?

Par défaut

La compréhension de la tarification Azure présente de nombreux défis. Microsoft a développé son service cloud Azure avec une rapidité remarquable et est monté en deuxième position en tant que fournisseur de cloud derrière Amazon Web Services. Il a pris deux de ses applications fares comme SQL Server et Office, et les a rendues disponibles sur demande, ce qui était impensable il y a une décennie.

Mais la question se pose, est-ce que Azure est fait pour les petites et moyennes entreprises ?

Avant de répondre à cette question, j’ai testé pendant 1 mois. Le but est donc d’avoir un point de vue rapide sur la tarification azure.

J’ai acheté une souscription qui comprend une machine virtuelle et un App Service.

La machine virtuelle

Le taux d’utilisation sur 1 mois

Le App service

J’ai crée une petite application asp.net core, que j’ai déployé.

J’ai testé l’application quelques fois, et ensuite je l’ai stoppé.



Il est intéressant de noter que meme si l’application est stoppé, les couts liés au ’App Service plan’ continuent de tourner.

Le App Service Plan : Taux Utilisation sur 1 mois

Le App Service Plan : Quota disque

Le quota n’est pas dépassé.

Avec tous ces éléments, on peut déjà se faire un bilan.

Résultats

Pour une utilisation plus que modérée, je trouve personnellement que les coûts sont élevées. Je suppose que les prix sont si élevés parce que les grosses entreprises ont de l’argent à brûler, mais pour les petites ou moyennes entreprises car les prix ne sont vraiment pas amicaux.

Les prix des VM sont un peu meilleurs si vous faites des prix réservés pour 1 ou 3 ans, mais je n’aime pas être bloqué. Vous devez également gérer les vcores sur une VM qui ne sont pas de véritables cœurs physiques, et vous devez toujours payer un supplément pour le stockage sur disque pour la machine virtuelle qui est cher, ainsi que la bande passante (Référence: https://azure.microsoft.com/en-us/pricing/details/virtual-machines/windows/ ). Donc, les VM ne sont vraiment pas beaucoup mieux que les app services à mon avis.

Il est BEAUCOUP moins cher de simplement payer pour les serveurs dédiés et d’avoir beaucoup de processeurs inactifs que d’utiliser des app services ou des machines virtuelles avec des groupes à mise à l’échelle automatique. Les machines virtuelles coutent jusqu’à 4 fois plus cher que les conteneurs.

Pour de nombreuses entreprises qui ont des besoins de « mise à l’échelle Azure », une facture mensuelle de 5000 euros va maintenant devenir quelque chose qui doit beaucoup les préoccuper à cause de la crise économique majeure dans lequel nous nous trouvons.

Pour une entreprise de logiciels ou de technologies, les solutions cloud proposées par Azure ou AWS peuvent représenter l’essentiel de leurs dépenses non salariales, et 5000 euros par mois peut meme correspondre au salaires de 2 développeurs.