Votre solution logicielle est-elle vraiment inhérente au cloud ?

S’il est un domaine dans lequel le domaine de la technologie informatique excelle, c’est bien la création d’une nouvelle terminologie. Et cela est particulièrement vrai lorsqu’il s’agit de vendeurs vendant une telle technologie. Malheureusement, lorsqu’une entreprise entre dans l’équation, les définitions exactes de la terminologie informatique ont tendance à être un peu vagues. Le logiciel Native Cloud en est un bon exemple, car toutes les solutions proposées par un fournisseur ne sont pas natives du cloud, mais elles sont natives du cloud. Nous avons déjà discuté des solutions cloud natives ici à TechGenix (voir ici et plus récemment ici). Mais en discutant avec des entreprises clientes et des éditeurs de logiciels, j’ai toujours l’impression que tout le monde n’a pas une idée claire de ce que signifie le terme « cloud natif ». Alors, pour nous aider à mieux comprendre cette terminologie et avoir une idée de comment on peut déterminer si un vendeur peut sous-estimer son offre dans un certain temps, j’ai demandé à Babak Varjavandi, PDG de Νάκισα, pour partager quelques réflexions sur ce sujet.

Suttercock

Logiciel cloud natif : après la pandémie

J’ai commencé par demander pourquoi les solutions cloud sont si importantes dans le monde post-COVID (espérons-le bientôt). “La pandémie s’est aggravée manque de talent technologique dans le monde », a répondu Babak. « La plupart des entreprises s’appuient sur la technologie pour leurs opérations quotidiennes. Avec le besoin le plus élevé de technologie sur le lieu de travail dans toutes les industries, la spécialisation et les compétences requises pour exercer ces rôles deviennent de plus en plus difficiles à trouver. En conséquence, les entreprises s’appuient sur des solutions logicielles et application de la technologie cloud maintenir les systèmes en mouvement avec une supervision minimale et automatiser les tâches manuelles précédentes. Cependant, toutes les solutions cloud ne permettront pas de pallier le manque de talents technologiques. De nombreuses solutions cloud sont simplement des solutions internes ou monolithiques qui ont été transférées vers le cloud. Par conséquent, ils peuvent ne pas offrir les nombreux avantages qu’une véritable application cloud peut offrir. Si le logiciel est natif du cloud, cela signifie qu’il a été créé pour fonctionner et fonctionner dans le cloud dès le début. “Par exemple, étant donné que les solutions cloud ne sont pas derrière le pare-feu client, elles deviennent une cible de prédilection pour les pirates informatiques.”

De nombreuses solutions cloud sont simplement des solutions internes ou monolithiques qui ont été transférées vers le cloud. Par conséquent, ils peuvent ne pas offrir les nombreux avantages qu’une véritable application cloud peut offrir.

Si les solutions basées sur le cloud sont la meilleure voie à suivre, alors il doit y avoir des processus et des outils cohérents pour les développer. Babak est d’accord et déclare : « La bonne nouvelle est qu’il existe des meilleures pratiques pour créer une solution cloud réussie. Ces meilleures pratiques, telles que les gadgets et les conteneurs et l’adoption d’un processus CI/CD, permettront aux éditeurs de logiciels d’apporter plus rapidement l’innovation à leurs clients dans un environnement sécurisé et évolutif. Cependant, de nombreux éditeurs de logiciels plus anciens ont des difficultés, car la création d’une application basée sur le cloud nécessite un changement fondamental dans la conception et la livraison de leurs logiciels et nécessite un savoir-faire différent de celui nécessaire pour créer leur solution. « Dans l’ensemble, les logiciels cloud natifs offriront une transition facile et transparente vers une technologie plus avancée, tout en soulageant le stress des entreprises qui manquent de talent technologique.

Alors, si votre entreprise recherche un logiciel cloud natif capable de répondre à ses besoins actuels, comment procédons-nous ? « Pour les entreprises qui se tournent vers des solutions cloud pour rationaliser les processus, elles doivent demander aux fournisseurs si leur logiciel est vraiment inhérent au cloud ou s’il est hébergé uniquement dans le cloud. Bien que ces deux-là semblent être similaires, ” ajoute Babak”, ils sont très différents. “

Acheteur méfiez-vous

Et dans mon esprit, il y a l’essence de la question: méfiez-vous de l’acheteur (acheteur méfiez-vous) ! Si vous demandez à un éditeur de logiciels si sa solution est native du cloud et qu’il répond par l’affirmative, comment pouvez-vous en être sûr ? « La plupart des entreprises évaluent les fonctions fournies par les fournisseurs », explique Babak. “Cependant, il doit y avoir une révision spécifique de leur architecture système pour s’assurer qu’une solution est vraiment inhérente au cloud. Une solution cloud native est basée sur des microservices où chaque service individuel peut être conçu, testé, développé ou remplacé sans affecter l’autre. Et chaque service est surveillé et peut être mis à l’échelle séparément à mesure que l’utilisation du microservice augmente, offrant une évolutivité et une redirection potentiellement illimitées pour les clients. Un examen de l’architecture des fournisseurs aiderait les entreprises à identifier une véritable solution basée sur le cloud. “

Certaines entreprises, cependant, peuvent ne pas avoir l’impression de ne pas avoir suffisamment d’expérience en interne pour évaluer l’architecture de l’offre logicielle d’un éditeur, je lui ai donc demandé s’il pouvait expliquer plus en détail ce qu’il fallait rechercher et composer poliment quelques graphiques. .

“Comme je l’ai mentionné”, dit Babak, “les applications basées sur le cloud peuvent bien sûr être étendues en fonction de la charge de travail des clients. Les applications basées sur le cloud y parviennent en mettant en œuvre une solide architecture de microservices. La question importante est : en quoi diffère-t-elle de l’application traditionnelle ? Parce que pour un utilisateur, il se rend toujours dans les tonnelles (ou client local ou application mobile) et interagit avec l’application.

“Le diable est dans les détails. Voyons ce qui se passe lorsque l’utilisateur interagit avec l’application. Dans une application monolithique, la requête va à l’application. L’application est installée sur un serveur de base de données dédié ou tout autre espace de stockage.

logiciel cloud natif

“Au fur et à mesure que de plus en plus d’utilisateurs utilisent l’application, le système est stressé et afin d’accueillir plus d’utilisateurs, le système doit être arrêté et des ressources ajoutées. Mais finalement, nous atteignons la limite naturelle des ressources et l’évolutivité devient un gros problème :

l'évolutivité devient la version

“La prochaine étape du développement est d’avoir des applications équilibrées. Le chargement de systèmes monolithiques équilibrés résout le problème de disponibilité, mais les mises à niveau et les correctifs (corrections de bogues) entraînent des temps d’arrêt importants :

logiciel cloud natif

Petits appareils pour le sauvetage

“L’architecture des gadgets résout tous ces problèmes. Les services de micro-ordinateur sont des mini-applications qui collaborent en utilisant les meilleures normes de l’industrie, telles que les API RESTful et la communication asynchrone, en utilisant des outils de pointe tels que Kubernetes, Kafka, Istio, Prometheus et Helm, en utilisant des techniques puissantes telles que le développement Canary , disjoncteur, composants sans état, micro frontends, chaos mécanique et infrastructure inchangée :

“Le gadget est mis à l’échelle horizontalement, sans qu’il soit nécessaire de redémarrer le système. Ils sont légers, donc les mises à niveau et les correctifs sont très rapides et transparents. De plus, le système n’a pas besoin de planter car pendant la mise à niveau, les anciens services peuvent toujours fonctionner. De plus, les microservices ajoutent de la complexité au réseau. Comment les données sont-elles partagées entre les petits services, comment sont transmises les informations de sécurité, combien de temps dure chaque service, comment contrôlez-vous l’utilisation des ressources du service (CPU, mémoire, etc.) ? Une grille de services, telle qu’Istio, est un moyen de contrôler la façon dont différents gadgets interagissent les uns avec les autres, et un outil de surveillance comme Prometheus vous permet de suivre chaque ressource utilisée par le réseau.

“Nous n’avons pas parlé en détail de l’évolutivité de la base de données, mais d’après la figure ci-dessus, il est clair que chaque micro-service conserve sa propre base de données. Cela désintègre la DB en essaims plus petits. En conséquence, DB devient extrêmement durable et distribué également. Nous avons discuté du côté évolutif des applications cloud natives, mais il existe de nombreux autres avantages tels qu’une surveillance efficace, l’automédication, une sécurité accrue, une prévention des rechutes de qualité, une vitesse d’innovation accrue et une sauvegarde / restauration solide qui découle naturellement de l’architecture des gadgets. À leur tour, les applications cloud natives sont observables, robustes et gérables. Cela augmente directement la qualité des applications et l’expérience client. “

Je suis sûr que l’explication ci-dessus et les diagrammes Babak seront utiles à ceux de nos lecteurs, dont l’entreprise peut bénéficier des avantages que les vraies solutions cloud peuvent leur offrir. En guise de remerciement final à celui qui nous a accordé un peu de son temps précieux, j’ai demandé à Bebek de nous parler prochainement de l’offre de sa propre entreprise à partir du cloud.

“La solution de comptabilité des baux et de l’immobilier de Nakisa se compose de plus de 60 micro-services. Par exemple, la gestion des fournisseurs et la gestion des devises sont des micro-services distincts. La gestion des fournisseurs a sa propre micro-interface appelée par l’utilisateur final, tandis que la gestion des devises n’est qu’un micro-service interne qui fournit une devise différente aux autres gadgets. N’oubliez pas que chaque gadget s’exécute indépendamment dans son propre conteneur, qui est conservé dans un groupe Kubernetes. Un pod peut être vaguement comparé à un serveur. est l’objet de croissance le plus petit et le plus basique de Kubernetes. Il n’y a aucun doute sur les avantages de l’architecture de microservices, en particulier pour les applications métier essentielles à l’entreprise. Cependant, il convient également de noter que les microservices apportent également beaucoup de complexité qui est étrangère aux développeurs de types plus anciens utilisés pour créer des applications monolithiques. Nakisa utilise la méthodologie d’application à 12 facteurs pour créer chaque microservice. Dans le cadre de notre CI/CD, chaque modification de code déclenche une série de builds et de tests automatisés pour s’assurer que chaque microservice répond à la méthodologie d’application à 12 facteurs. “

Cela me semble très naturel !

Image en vedette : Shutterstock


Vues de la publication :
2


Laisser un commentaire

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