Archi & techno

Archi & techno

dotSwift 2017

Le 27 Janvier dernier, nous avons été à la dotSwift, conférence se déroulant à Paris autour du « nouveau » langage d’Apple : Swift.
Le cru 2016 nous ayant laissé sur notre faim, nous nous demandions à quoi nous attendre. Au final, nous n’avons pas été déçus. Cette demi-journée était intéressante et est de bon augure sur ce que pourrait donner la dotSwift dans les années futures.

Lire la suite

Archi & techno

Compte Rendu « Progressive Web Apps » – Conférence Google

Le mardi 29 novembre, a eu lieu un événement Google qui avait pour but de nous présenter en détail le concept de Progressive Web Apps (PWA). Nous vous proposons le compte rendu de cette demi journée.

 

Les Progressives Web Apps (PWA) sont l’utilisation d’un ensemble de technologies web standardisées (la plus importante étant les Services Workers) qui permettent d’étendre les usages du web pour les rapprocher de ceux des applications natives (performance, hors-ligne / faible connexion, push notifications, icon de l’application, API du device, …).  

Lire la suite

Archi & techno

La signature d’images Docker sur une Registry avec Notary

La Registry Docker est un composant incontournable dès que le besoin de distribuer ses images Docker se fait sentir. Ce composant en est actuellement à sa deuxième version et reste fidèle à la philosophie Unix : “faire une chose et la faire bien”, il stocke des images Docker et le fait bien. Le problème de la signature des images afin d’en garantir la provenance et le contenu doit donc être traité par d’autres moyens.

Plusieurs solutions existent pour ajouter ce niveau de garantie. Parmis elles, il en existe une développée par les membres de la communauté open source Docker : Notary.
Lire la suite

Archi & techno

Containerus Bellum, ou la chronique des hostilités dans l’écosystème Docker

Saison 1 : Previously…

Dans les épisodes précédents, nous avions vu naître la guerre sanglante des orchestrateurs de containers. Les deux principaux candidats à la première place étaient Docker Swarm et Kubernetes. Le premier, simple et limité, est porté par la jeune startup éponyme : Docker Inc. Le second, puissant et complexe, est soutenu par l’alliance d’un géant du Web et d’un mastodonte de l’open source : Google et Red Hat.

Le premier tour des débats avait porté sur le format de la brique de containerisation en elle-même. Google, par la main de CoreOS, avait tenté de déstabiliser l’hégémonie de Docker Container Engine en lançant rkt (Rocket) comme un contre-pouvoir.

L’Open Container Initiative (OCI) était un autre croche-pied fait à la jeune Docker Inc. En effet, derrière la noble idée de constituer un standard de conteneurisation à la fois universel et indépendant, la réalité pour Docker Inc. a été plus épineuse. La publication des spécifications et l’émergence des premières implémentations s’est faite au détriment de la vélocité habituelle de la startup pour le développement de nouvelles features.

Lire la suite

Archi & techno

Les transitions D3.js m’ont tuer (mon CPU)! Une comparaison entre d3.js & pixi.js

www.octo.chD3.js est certainement la libraire JavaScript  de visualisation la plus complète du moment: les possibilités pour transformer vos données en data viz époustouflantes ne sont en fait que limitées par votre imagination. Et une des clés du succès de D3 réside dans la facilité avec laquelle on peut animer des graphiques grâce aux puissantes selection transitions. Hélas!  Ces animations se payent comptant et mettent rapidement votre processeur à genou. D’où cet article.

Si le problème était tapis dans les méandres de plusieurs projets, il est apparu au grand jour lors de tentatives d’affichage des transports public suisses en temps réel sur une carte. L’outil, basé sur du SVG et D3, proposait des perspectives intéressantes mais la réalisation souffrait d’à-coups et les batteries des laptops disparaissaient à grande vitesse. Une vidéo d’un premier projet est disponible et peut être comparée à une deuxième réalisation, basée sur des techniques présentées dans cet article. Pour rendre le problème encore plus universel, nous nous sommes rendus compte que le simple affichage d’une horloge, basée sur une transition/rotation, pouvait consommer jusqu’à 20% du CPU d’un laptop moderne!

Si D3 n’a aucun concurrent sérieux pour de nombreux problèmes, nous avons décidé d’essayer une autre approche, issue des jeux en ligne. Une libraire (parmi d’autres) permet de se servir de la puissance d’HTML5 et du GPU: pixi.js.

Nous commencerons cet article par une comparaison entre les deux librairies en termes de performance de rendering. Pour clore cet aspect du débat, nous aborderons aussi les transitions CSS natives. Dans un second temps, nous aborderons quelques trucs et astuces pour tirer le meilleur parti de chacun des frameworks et nous verrons même comment combiner les deux.

Le code et les mesures sont disponibles sur github et une démo sur github.io.

Le reste de l’article est en anglais.

Archi & techno

« pet vs. cattle », de l’artisan du serveur à l’artisan codeur

L’évolution du métier d’Ops suit un cheminement que nous observons régulièrement dans nos interventions. C’est au travers de cette fable, que nous allons voir les 4 étapes qui jalonnent ce chemin pavé d’embûches. Voyons pour cela comment un Ops procède concrètement pour effectuer l’opération « fix_mysql » qui consiste à changer une configuration de MySQL sur des serveurs de production.
cw_mfpdxcaugw_k
Lire la suite

Archi & techno

Les stratégies de gestion de pression – Partie II

Les stratégies de gestion de pression sont exploitées de longue date dans divers domaines, allant des chaînes de production industrielles aux technologies réseau en passant par les méthodologies agiles. Elles exploitent en général des techniques de remontée de l’information en amont, dites back-pressure. Ces stratégies sont nombreuses en informatique, et plus précisément dans les architectures réactives (suite de la Partie I). Lire la suite

Archi & techno

Customiser les Styles & Themes sur Android

Maintenant que AppCompat est devenue une librairie incontournable pour les projets Android et le fonctionnement de celle ci reposant beaucoup sur les thèmes et styles customs, cela peut vite devenir frustrant de vouloir customiser son application car la différence entre un thème et un style reste souvent obscure.

Dans cet article, je vais essayer de démystifier un peu le fonctionnement de ces thèmes et styles pour vous aider à écrire du code plus simple et avoir une UI customisée pour vos besoins.

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 allons regarder l’utilisation d’un MOM.

Pour cela nous allons voir très rapidement la théorie, les points d’attention et finir avec des cas d’utilisations dans le deuxième article.

Lire la suite

Archi & techno

Un outil d’API Management ne suffit pas pour APIser son SI

Aujourd’hui, les solutions d’API Management sont de plus en plus utilisées. Toutes les entreprises veulent ajouter cette nouvelle brique à leurs écosystèmes afin d’exposer leurs données ou leurs services aux clients et partenaires ou seulement aux applications internes.

Cependant, une solution d’API Management ne fait qu’exposer les services que le système d’information propose déjà. La mise en place de cette solution ne change rien à l’existant et surtout à la structure du système d’information. Or la finalité derrière la mise en place d’une solution d’API Management est d’APIser son système d’information.

Donc avant d’ajouter cette nouvelle brique, on vous recommande de prendre le temps d’étudier vos systèmes, de poser une stratégie claire pour votre architecture et de définir des APIs qui répondent à vos besoins métiers. La mise en place de la solution d’API Management se fera sans douleur ensuite et remplira toutes vos attentes.

Ce qui suit donne les grandes lignes à suivre pour réussir à APIser son système d’information et réussir à mettre en place efficacement une solution d’API management.

L’application de ces recommandations permet de construire un catalogue de services cohérents, modulaires et indépendants (couplage faible).

Lire la suite