Catégories
Start-up et applications

Microservices et API: la voie de l'agilité

On dit souvent que la transformation numérique n'est pas une destination, mais un voyage. Dans le passé, ce voyage a été semé d'embûches et de risques de temps d'arrêt, les anciens systèmes ayant été retirés et remplacés. Aujourd'hui, cependant, l'introduction des microservices et des API a simplifié l'orientation des systèmes hérités vers l'ère numérique.

Les microservices combinés aux API offrent une bouée de sauvetage pour les entreprises qui luttent pour mettre à niveau leurs systèmes et services de base, comblant le fossé entre l'ancien et le nouveau; héritage et numérique. Désormais, les systèmes hérités – robustes et robustes par conception – peuvent se comporter comme des homologues numériques, pour innover et évoluer à l'échelle et à la vitesse.

Les bonnes choses viennent dans des packages faiblement couplés
Les microservices sont un moyen efficace pour les organisations de fournir les fonctionnalités d'un service de manière compartimentée et plus gérable. Ils décomposent les applications monolithiques en composants indépendants à couplage lâche qui peuvent être livrés séparément les uns des autres et exécutés à l'aide de conteneurs isolés. Pour comprendre pourquoi cela est utile, il est utile de définir les défis liés à la maintenance des applications héritées.

Les entreprises qui existent depuis longtemps ont une longue piste technologique qui a été développée et mise à niveau depuis de nombreuses années. Les applications héritées qui composent la pile technologique auront été construites à l'aide d'une multitude de langages de programmation et de logiciels, dont certains ne seront désormais plus pris en charge et / ou disparus. Souvent, des couches de complexité se sont ajoutées au fil des ans à mesure que de nouveaux langages et technologies émergeaient. Le problème du remplacement de ces applications est qu'elles sont, dans la plupart des cas, liées aux offres commerciales de base. Leur remplacement ou leur mise à niveau prend du temps et est coûteux, et peut potentiellement entraîner des pannes pouvant entraîner des pertes de réputation et financières.

Désormais, le cadre technologique existe pour décomposer ces applications en fonctionnalités individuelles qui peuvent être mises à niveau isolément et sans risque pour le service principal, ce qui rend le parcours vers le numérique beaucoup plus facile à parcourir.

Une architecture pour une amélioration continue
Une architecture de microservices pourrait être considérée comme un sous-ensemble d'une architecture SOA, mais avec une meilleure propension à tirer parti des développements actuels dans le cloud, le PaaS et la virtualisation. Mais alors que, dans une architecture SOA typique, un service est considéré comme une composition d'autres services (où un service représente une capacité commerciale), un microservice est autonome, indépendant et ne peut pas comprendre d'autres services.

En tant que tel, il n'y a pas de point de défaillance unique, ce qui est essentiel pour les entreprises pour lesquelles la disponibilité des services est cruciale. Ceux dédiés à l'amélioration continue ont tout à gagner de la décomposition des systèmes et applications monolithiques en microservices. Les services de soutien qui augmentent l'offre de base sont de plus en plus ce qui distingue le service ou le produit d'une entreprise des autres. Comme on le dit souvent, ce sont les petites choses qui font la différence. Mais d'un point de vue commercial, les petites choses ne doivent pas compromettre l'offre de base.

De nombreuses entreprises, dont Amazon, Best Buy, Uber, Spotify, Netflix, ont profité de l'adoption des microservices dans leur stratégie de plateforme. La stratégie les a aidés à faire évoluer leur entreprise et à améliorer leur efficacité dans la livraison des produits. L'offre principale de Netflix, par exemple, est son service de streaming de contenu à la demande. Mais il existe de nombreuses autres fonctionnalités qui ajoutent à l'expérience globale du service; l'interface utilisateur pour la sélection de films, les options audio et de sous-titres, la facilité d'abonnement, la sécurité des informations personnelles et de paiement, etc. La plupart d'entre eux sont eux-mêmes des microservices ou sont constitués de microservices. Si une fonctionnalité doit être mise à jour ou supprimée, ou si le service nécessite une nouvelle fonctionnalité, la nature modulaire de l'architecture permet de le faire sans risque pour l'offre principale. De même, en cas de défaillance d'une fonctionnalité, la défaillance est localisée et ne peut pas arrêter le service, garantissant une disponibilité et une fiabilité maximales; l'objectif ultime de tout fournisseur de services.

Mise à l'échelle pour répondre à la demande des utilisateurs
Qu'ils desservent un ou 100 000 000 abonnés, les fournisseurs de services cloud permettent désormais aux entreprises d'évoluer pour répondre à la demande de leurs services. Les fournisseurs de cloud tels que Microsoft Azure, AWS ou Google cloud, par exemple, permettent aux fournisseurs de déployer rapidement des milliers de serveurs et de téraoctets de stockage en quelques minutes, ce qui est particulièrement utile en période de forte utilisation.

C'est là que les microservices offrent vraiment. L'architecture modulaire des microservices prend en charge la construction, le déploiement et l'évolutivité rapides, et l'automatisation de l'infrastructure a considérablement réduit la complexité de la gestion du processus. Pendant les poussées de la demande, telles que celles des jeux ou du streaming alors que le monde fait face à des mesures de «verrouillage», il est possible de faire tourner dynamiquement une base de données ou un serveur à l'échelle. Alors que cela introduit plus de complexité, les technologies telles que les conteneurs (plates-formes utilisées pour créer, expédier et exécuter des applications distribuées, comme Docker) et les systèmes d'orchestration (qui automatisent le déploiement et la mise à l'échelle des applications conteneurisées, comme Kubernetes) simplifient les défis grâce à l'automatisation, à l'échelle à la vitesse et à la demande.

Récemment, les services allant des plates-formes de jeux aux équipes Microsoft ont connu de fortes hausses d'utilisation en raison de la pandémie Covid-19, avec très peu d'impact sur l'expérience utilisateur.

Les organisations et les services capables d'évoluer si facilement bénéficient grandement d'avoir été construits dans le cloud avec des technologies et des langages de programmation modernes. Ils ne subissent pas les mêmes défis hérités que les autres entreprises et offrent une fenêtre sur ce qui est possible grâce aux microservices et aux API.

La panne décomposée
Lorsqu'une application héritée est divisée en microservices conteneurisés séparés, chaque constituant de l'application d'origine peut être divisé en différents domaines d'activité, qui peuvent eux-mêmes être mis à l'échelle en fonction des exigences des services.

Non seulement l'architecture modulaire permet une mise à l'échelle par conception, mais elle peut également accueillir une pile de technologies mixtes. Cela garantit que les applications construites avec des langages de programmation, des logiciels et des frameworks entièrement différents peuvent se lier aux mêmes interfaces et domaines, tout en se réunissant lorsqu'elles sont appelées par une API, ce qui donne une fonction métier commune.

Prenons l'exemple des paiements transfrontaliers. Chaque microservice impliqué dans la réalisation du transfert, des détails du compte à l'échange de devises, s'appuie sur une API, qui est le canal de communication standard pour l'action qui doit être effectuée par le fournisseur de paiement, c'est-à-dire la fonction commerciale. La couche d'orchestration modulaire fournie par une architecture de microservices permet d'activer chaque élément nécessaire à l'action de paiement par l'appel d'API.

Cela met en évidence un élément clé de l'orchestration des microservices, qui consiste à identifier les zones de domaine qui abriteront les éléments constitutifs de l'application héritée. Comment peuvent-ils être séparés logiquement, mais unifiés dans l'interface utilisateur orientée client?

En fin de compte, le service et l'expérience essentiels des clients doivent rester cohérents. En termes simples, la partie avant ne doit pas être compromise pendant la transformation. L'adoption d'une approche de microservices est le moyen le plus efficace de réaliser le changement nécessaire, avec un minimum de perturbations.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *