Que dit votre technologie sur votre entreprise ?
Publié: 2021-12-22Les entreprises s'efforcent régulièrement d'être meilleures avec beaucoup plus d'innovation et de gain financier. Lors de l'identification des problèmes d'entreprise probables, les organisations viseront normalement la plus grande image, voulant que l'entreprise soit une pleine et lentement tournée vers l'intérieur. En fait, commencer dans les mauvaises herbes avec les technologies de l'entreprise peut offrir une connaissance beaucoup plus large, complète et beaucoup plus approfondie de cette plus grande photographie.
Les entreprises évoluant rapidement à la suite de la pandémie et tentant des tâches de transformation électronique, avec une part importante incapable de les terminer correctement, il est important de savoir comment les conclusions que vous avez conçues avec votre technologie, aideront ou entraveront développement.
Que peut-on découvrir concrètement sur une entreprise à partir de son innovation technologique ?
La façon dont les groupes sont assemblés, interagissent et fonctionnent les uns avec les autres peut avoir un impact profond sur le style restant de votre marchandise. Nous appelons cela la réglementation de Conway - la construction d'un logiciel reflétera par inadvertance le modèle d'interaction de la main-d'œuvre qui l'a développé. On peut soutenir que l'activité de la société est le principal facteur à prendre en considération lors de la planification d'un produit ou d'un service.
les procédures et l'architecture organisationnelles sont intrinsèquement liées, ce qui indique qu'elles ont un impact et une contrainte les unes sur les autres. Nous devons garder cela à l'esprit lors du diagnostic des problèmes éventuels qui surgissent et utiliser ces connaissances pour obtenir des informations essentielles sur la façon dont l'entreprise est structurée, pourquoi les difficultés surgissent et comment nous pouvons les surmonter. Si votre personnel d'ingénierie n'atteint pas ses objectifs, il peut être utile d'examiner comment l'équipage est organisé et ce que cela peut nécessairement signifier pour obtenir les résultats souhaités.
Architecture monolithique vs microservices
Il existe plusieurs constructions d'architecture distinctes qui peuvent être générées en fonction de la manière dont les groupes sont organisés. De minuscules groupes distribués sont plus susceptibles de générer une architecture modulaire centrée sur les microservices. Si l'équipage est de plus grande taille et n'est pas aligné avec des parties de l'architecture de l'objet, il créera probablement une architecture monolithique. L'architecture monolithique est familière à beaucoup, car les programmes informatiques courants ou les objectifs de l'entreprise sont généralement créés de cette façon. Pour les mêmes variétés d'architecture, il existe des atouts et des inconvénients importants qui doivent être pris en compte.
Pour les groupes qui se sont lancés dans des emplois de transformation numérique, une partie de l'entreprise peut consister à mettre de côté les applications monolithiques héritées au profit de nouveaux microservices modernes. Cette variété de mises en page présente des atouts importants, car elle permettra une plus grande flexibilité globale pour mettre en œuvre des ajustements sans perturbation et peut contribuer à une bien meilleure évolutivité. Même ainsi, l'architecture monolithique est considérablement moins compliquée à utiliser et à déployer. Cela en ferait généralement la plus grande préférence pour l'avancement d'applications plus petites et très simples et est généralement découvert dans les démarrages précoces. Contrairement aux microservices, l'architecture monolithique est plus difficile à mettre à l'échelle simplement parce que le travail exige de s'aligner entre des groupes distincts avec de nombreux objectifs. Obtenir la composition du personnel complètement erronée pourrait ralentir la méthode de style et déclencher des défis accrus sur toute la ligne.
Le déploiement florissant ou infructueux d'une architecture de microservices par une organisation en dit long sur les conclusions qu'elle a conçues et s'il existe des problèmes profondément enracinés avec la structure de communication de l'entreprise. Lorsque vous envisagez de diviser un monolithe et de passer à une architecture de microservices, il est essentiel de vous assurer que l'anatomie de votre entreprise aidera l'architecture que vous choisirez.

Ballonnement de l'assistance
Dans certaines conditions, il peut très bien être découvert que le nombre de microservices est supérieur à la gamme d'ingénieurs. Ceci est identifié comme un gonflement de l'assistance - ce qui est problématique, car cela entraînera une diminution de la vitesse et de la disponibilité des développeurs. C'est une explication vitale pour laquelle il est risqué de construire des microservices dépourvus d'une structure très soignée et garantissant que la construction de l'équipe soutient cette approche.
Le gonflement de l'assistance est un signe qu'une lentille architecturale attentionnée n'a pas été appliquée par l'équipe - il montre qu'il y a peu de connaissances sur la façon dont chaque service dépend de l'autre. Cela se traduira normalement par des anti-styles de microservices qui réduiront la disponibilité et déclencheront des retards lors de la tentative de déploiement de nouvelles fonctionnalités. De préférence, aucune organisation ne souhaite se retrouver dans cet état.
Réalisation d'une promenade architecturale
En plus de prendre note de l'anatomie organisationnelle et des effets que cela a sur l'architecture, il est également crucial d'évaluer comment tout est câblé pour reconnaître les causes profondes des éventuels problèmes avec votre produit. Pour cela, effectuez une simple balade architecturale. Pour effectuer une promenade dans l'architecture, vous devrez examiner comment chaque petite chose est câblée depuis l'appareil ou le logiciel, jusqu'au niveau des données et encore avec la réponse. Il y a quelques éléments essentiels à garder à l'esprit lors d'une promenade architecturale :
- Il est essentiel de rechercher des points de défaillance isolés, des services qui dépendent les uns des autres au moment de l'exécution et des composants qui ne s'adapteront pas à des besoins élevés.
- Considérez l'état - cela inclut l'analyse de l'endroit où les faits sont stockés d'une session à l'autre impliquant des personnes et comment ces faits sont préservés.
- Gardez un œil sur les bases de données volumineuses qui ne sont pas partagées et sur les appels fabriqués sur plusieurs sites en tant qu'éléments d'un cloud public ou de centres de données auto-hébergés.
- Recherchez l'utilisation de la plate-forme en tant que service (PaaS) ou des bases de données cloud en tant que support (DBaaS) là où les défaillances du cloud public créent des appels téléphoniques interrégionaux.
Tous les facteurs supérieurs à ne sont que quelques éléments qui doivent être pris en compte pour remédier à tout obstacle d'opportunité avec vos produits. Le moment à utiliser doit simplement prendre en compte à la fois les fonctionnalités et les besoins de l'architecture pour un succès réalisable idéal.
Que doivent savoir les ingénieurs produits seniors à ce sujet ?
L'une des principales priorités des responsables de l'ingénierie des produits doit être de s'assurer que l'organisation de l'évolutivité et de la disponibilité et l'inventaire complexe de la dette financière se déroulent sur une base commune afin de résoudre les problèmes potentiels avant qu'ils ne surviennent. Un architecte de solution ou une petite équipe d'ingénieurs seniors doit établir des règles que les équipes de produits peuvent utiliser pour styliser et concevoir le bon niveau d'échelle et de haute disponibilité.
Des instruments comme CodeScene peuvent être utilisés pour détecter les dépendances entre les fournisseurs et aider à relever les défis liés au comportement de la base de code. L'aide aux avantages pour notifier l'arriéré de refactoring nécessite et la dette de carte de crédit spécialisée.
Les besoins des entreprises évoluant constamment pour s'aligner sur un secteur technologique en développement rapide, il est essentiel d'avoir une solide connaissance de ce que votre savoir-faire technologique divulgue sur les choix antérieurs. Ces apprentissages peuvent ensuite être utilisés pour signaler et éviter que des erreurs très similaires ne se reproduisent à l'avenir, ainsi que pour aider votre groupe à comprendre comment leur conception de groupe peut être appliquée comme un outil pour aider à atteindre les objectifs et atteindre de nouveaux sommets.
Dave Berardi, Mari ou femme, AKF Partners