Le sexe, l'amour et les relations à travers le prisme de l'architecture microservices

«Quand j'ai séparé le sexe, l'amour et les relations, tout est devenu beaucoup plus simple…» citation d'une fille sage par son expérience de la vie.

Nous sommes des programmeurs et travaillons avec des machines, mais rien de ce qui est humain ne nous est étranger. Nous tombons amoureux, nous nous marions, avons des enfants et… nous mourons. Comme les simples mortels, nous rencontrons constamment des problèmes émotionnels, quand "les caractères ne s'accordent pas", "nous ne sommes pas faits l'un pour l'autre" etc. Nous faisons face à des triangles amoureux, des ruptures, des infidélités et d'autres événements empreints d'émotion.

D'un autre côté, en raison des particularités de notre profession, nous aimons que tout soit logique et que tout découle de ce qui précède. Si je ne plais pas, alors pourquoi précisément ? Si les caractères ne s'accordent pas, quelle est la partie spécifique. Des explications comme "tu ne me compatis pas et ne m'aimes pas" nous semblent un ensemble d'abstractions peu claires qu'il faut mesurer (dans quelles unités mesure-t-on la compassion) et donner des conditions limites claires (quels événements doivent déclencher cette compassion).

Dans la psychologie moderne, une énorme quantité d'abstractions et de terminologies a été accumulée pour désigner le côté émotionnel des relations humaines. Lorsque vous consultez un psychologue et lui expliquez que vous avez du mal à établir une relation avec votre partenaire, on vous donnera une multitude de conseils comme "soyez plus tolérants l'un envers l'autre", "vous devez d'abord vous comprendre vous-même et déterminer ce qui est vraiment important pour vous". Vous passerez des heures à écouter le psychologue dire des choses assez évidentes. Ou vous lirez de la littérature psychologique populaire dont le contenu se résume à la simple formulation "faites ce que vous aimez et ne faites pas ce que vous n'aimez pas". Tout le reste n'est qu'un agréable accompagnement à cette petite graine de vérité banale.

Mais attendez, la programmation est un processus très imprévisible. Dans le processus de programmation, pour le dire de manière figurée, nous essayons de simplifier le monde qui nous entoure au niveau des abstractions. Nous tentons de réduire l'entropie du monde qui nous entoure en l'enfermant dans la logique d'algorithmes que nous comprenons. Nous avons accumulé une expérience colossale de telles transformations. Nous avons créé une multitude de principes, de manifestes et d'algorithmes.

Et cela soulève la question : peut-on appliquer toutes ces expériences aux relations humaines ? Voyons… l'architecture microservices.

Sous cet angle, le mariage représente une énorme application monolithique, qui devient de plus en plus difficile à soutenir. Une multitude de fonctionnalités non fonctionnelles se sont accumulées (où est la fraîcheur des relations ?), une dette technique (quand as-tu offert des fleurs à ta femme pour la dernière fois ?), des perturbations dans l'interaction des protocoles entre les différentes parties du système (je te parle de la nouvelle voiture, et tu me dis encore "sors les poubelles"), le système consomme des ressources (tant financières que morales).

Appliquons l'approche de l'architecture microservices et, pour commencer, décomposons le système en parties composantes. Certes, la décomposition peut être de n'importe quel type, mais ici chacun est son propre architecte logiciel.

Le mariage se compose fonctionnellement de

  • Un sous-système financier
  • Un sous-système émotionnel (sexe, amour, sentiments, tout ce qui est intangible et difficile à évaluer)
  • Un sous-système de communication (responsable de la communication et de l'interaction au sein de la famille)
  • Un sous-système d'éducation des enfants (optionnel, selon disponibilité)

Idéalement, chacune de ces sous-systèmes devrait être autonome. Les motifs du type :

  • tu gagnes peu, donc mes sentiments pour toi s'éteignent
  • si tu m'aimes, achète-moi un manteau en fourrure
  • je ne vais pas te parler, car tu ne me satisfais pas au lit

Dans une bonne architecture microservices, chaque partie peut être remplacée sans compromettre le fonctionnement de l'ensemble du système.

Sous cet angle, l'infidélité d'un partenaire n'est rien d'autre qu'un remplacement d'une sous-système de relations sensuelles.

Une femme mariée, pour sa part, peut trouver un amant riche, remplaçant ainsi le sous-système financier.

La communication émotionnelle au sein de la famille est remplacée par des services externes sous forme de réseaux sociaux et de messageries. L'API d'interaction reste apparemment inchangée, tout comme la personne de l'autre côté de l'écran, mais aucune technologie ne peut donner une sensation de proximité.

L'illusion d'abondance et d'accessibilité sur les sites de rencontre contribue à cette situation : il n'est pas nécessaire de fournir d'efforts pour établir une communication. Un swipe à gauche sur Tinder et vous êtes déjà prêt à entamer une nouvelle relation sur une page blanche. C'est en quelque sorte une version améliorée des anciens protocoles de mise en relation — comme aller au cinéma ou au café, mais avec la possibilité d'appuyer sur le bouton Reset et de recommencer le jeu.

La question de savoir si de tels remplacements profitent au système dans son ensemble est débattue et chacun peut donner sa propre réponse. Est-il nécessaire de séparer une application monolithique de relations qui fonctionne, avec ses propres complexités internes et ses pannes périodiques, et ne risque-t-elle pas d'échouer une fois désassemblée, est une question ouverte.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster