Fermer

avril 18, 2024

Plateformes cloud natives : construire ou acheter ?

Plateformes cloud natives : construire ou acheter ?



En ce qui concerne les plates-formes d’applications cloud natives, nous sommes à un point d’évolution important : la meilleure pratique pour les plates-formes sera-t-elle de créer ou d’acheter ? Devriez-vous choisir les composants dont vous avez besoin pour une plateforme et les intégrer ensemble, ou devriez-vous acheter une plateforme pré-intégrée ? À moins que vous ne soyez une poignée d’organisations, la réponse pratique est que vous devriez acheter la plateforme.

Avant de comprendre pourquoi, qu’est-ce qu’une « plateforme cloud native » ?

Le groupe de travail sur les plates-formes de la Cloud Native Computing Foundation (CNCF) a un excellent article définissant la « plate-forme ». Faisant de leur mieux pour résumer 13 pages en un seul paragraphe, les auteurs résument une plate-forme comme suit :

Les plates-formes organisent et présentent des capacités, des cadres et des expériences fondamentaux pour faciliter et accélérer le travail des clients internes tels que les développeurs d’applications, les scientifiques des données et les travailleurs de l’information… Une plate-forme pour l’informatique cloud native est un ensemble intégré de fonctionnalités définies et présentées selon aux besoins des utilisateurs de la plateforme. Il s’agit d’une couche transversale qui garantit une expérience cohérente pour l’acquisition et l’intégration de capacités et de services typiques pour un large éventail d’applications et de cas d’utilisation. Une bonne plateforme offre des expériences utilisateur cohérentes pour l’utilisation et la gestion de ses capacités et services, tels que les portails Web, les modèles de projet et les API en libre-service.

Les plates-formes prennent en charge les logiciels que vous avez créés pour gérer votre entreprise. Une plate-forme exécute non seulement ce logiciel, mais gère également les services dont vos applications ont besoin. En règle générale, la plateforme spécifie également la manière dont vos applications sont empaquetées, configurées et déployées sur votre plateforme. La plateforme a généralement des opinions sur l’architecture de votre application. Par exemple, une plate-forme cloud native souhaite vraiment que vos applications suivent les meilleures pratiques à 12 facteurs et utilisent une architecture de microservices.

Les plateformes sont l’interface entre vos développeurs d’applications et l’infrastructure et les services cloud que leurs applications utilisent. Pour moi, c’est l’élément clé qui en fait une plate-forme plutôt qu’une simple pile de nuages ​​ou de catalogues remplis de « services » que les développeurs doivent trouver, apprendre et intégrer dans leurs applications.

Toutes les applications ont besoin d’une plateforme pour fonctionner. Les développeurs créeront cette plate-forme s’il n’en existe pas. Cela conduit à la propagation de « plateformes accidentelles » à travers l’organisation. Toutes ces plateformes doivent être gérées et entretenues, et comme elles sont toutes différentes, le personnel passe beaucoup de temps à gérer chaque plateforme. Dans une grande organisation comptant des milliers de développeurs et d’applications, les équipes ne bénéficient pas des avantages de l’évolutivité lorsqu’elles disposent de nombreuses plates-formes différentes. Cela crée un énorme fardeau pour l’informatique : un responsable informatique, par exemple, et son équipe pourraient finir par consacrer entre 70 % et 80 % de leur temps à la maintenance en gardant simplement toutes les plates-formes en fonctionnement, avec peu de temps pour les améliorer. plates-formes ou ajouter de nouvelles fonctionnalités dont les développeurs ont besoin.

Le principal problème ici est que cela ralentit l’activité réelle, car les applications d’une organisation déterminent de plus en plus le fonctionnement de l’entreprise, et même ce qu’elle représente. est aux clients. Pensez à la manière dont les gens interagissent avec les entreprises, les agences gouvernementales, les écoles et même avec leurs passe-temps et leurs divertissements. La majeure partie de cela se fait via une application, via un logiciel en tant que composant et « vitrine » principal, sinon essentiel à la mission. Et ce n’est pas tout : les logiciels permettent aux entreprises de s’améliorer, de se développer et d’innover.

Au cours des dernières années, il y a eu beaucoup de confusion quant à la frontière entre une plate-forme et une infrastructure, principalement en raison de l’intérêt de tous pour Kubernetes. Kubernetes se concentre davantage sur la normalisation de la façon dont l’infrastructure est utilisée et gérée, ainsi que sur la façon dont les applications sont configurées et exécutées.

Cette standardisation est l’objectif de Kubernetes : intégrer une API standard de l’industrie autour de toutes les différentes infrastructures cloud. Cela supprime la variabilité, ce qui est toujours une bonne chose dans les grands magasins informatiques. Mais, comme je l’ai dit il y a longtemps, Kubernetes est une plateforme permettant de créer des plateformes. Vous l’utilisez pour standardiser votre infrastructure dans les cloud, sur site et même en périphérie, afin de pouvoir ensuite créer votre plate-forme axée sur les applications. À lui seul, Kubernetes ne propose qu’un curseur clignotant : un cloud vide prêt à être rempli de services et d’applications utiles.

Mais si on s’arrête là, les choses se passent mal. De nombreuses organisations sont beaucoup trop promptes à confier ce curseur clignotant aux équipes de développeurs qui doivent d’abord comprendre le fonctionnement de Kubernetes, puis, ensuite, créer la plate-forme dont elles ont besoin sur Kubernetes. Le résultat est un retour en arrière dans un désordre de plates-formes accidentelles.

Alors, Kubernetes est-il une plateforme ? Ce n’est pas le genre dont nous parlons ici, une plate-forme pour les développeurs d’applications. C’est le fondation pour une plateforme. Vous devez toujours ajouter les services, les interfaces et les outils utilisés par les développeurs d’applications. Il existe également tous les services habituels d’exploitation, de sécurité et de conformité dont vous avez besoin.

Tout cela pour dire que si vous construisez une plateforme, vous avez beaucoup de travail à faire. Vous devez sélectionner chacun des composants, les intégrer ensemble, les maintenir à jour et les améliorer à mesure que vous apprenez ce qui fonctionne et ce qui ne fonctionne pas. En bref, vous « possédez » désormais un produit complet, y compris sa prise en charge. Et vous devez l’exécuter et le gérer. En continu, à mesure que de nouvelles fonctionnalités apparaissent, vous devrez les ajouter à votre plate-forme, par exemple l’IA, de nouvelles versions de langages de programmation et de cadres d’interface utilisateur, des bases de données, etc.

C’est beaucoup de travail. Il y avait autrefois une plaisanterie selon laquelle « toutes les entreprises sont désormais des éditeurs de logiciels ». ce qui m’a toujours semblé bizarre. Peu importe la qualité du logiciel de mon restaurant de poulet frit préféré, si je commande du poulet frit coréen, je veux trouver du poulet frit et du chou-fleur frit dans la boîte, pas un logiciel. Mais une fois que vous avez commencé à créer votre propre plateforme, vous sont une entreprise de logiciels ayant la responsabilité de créer et de maintenir un produit logiciel. Cela nécessite beaucoup de ressources d’entreprise comme du temps, de l’argent et de l’attention.

Que votre activité soit la restauration rapide, l’assurance, la fabrication de voitures, la collecte d’impôts ou autre, vous préféreriez probablement passer du temps à être bon dans votre entreprise plutôt qu’à créer une plateforme.

Pour la plupart des organisations, une plateforme contribue très peu à la différenciation d’une entreprise. Vous avez besoin d’une plate-forme, mais comme l’électricité, la messagerie électronique, les systèmes ERP et même l’analyse, la plate-forme elle-même n’est pas ce qui fait la différence. Ce qui fait la différence, c’est ce que vous faites avec la plateforme et la manière dont vous l’utilisez. Plus vous consacrez de temps à créer et à maintenir votre propre plateforme, moins vous vous concentrez sur votre différenciation réelle, y compris sur vos applications.

Ainsi, à moins que vos clients n’achètent chez vous en raison de votre plateforme unique, vous devriez probablement acheter votre plateforme au lieu de la construire.

Cela libère vos ressources pour vous concentrer sur vos avantages concurrentiels réels. Vous bénéficierez également du fait que la plateforme est un véritable produit. Par exemple, au Filiale Division de Broadcom, nous construisons une plate-forme et nous passons tout notre temps à ajouter de nouvelles fonctionnalités, à l’améliorer et à l’intégrer à autant de types d’infrastructures et de services que possible.

L’ensemble des fonctionnalités n’est pas statique comme finissent par l’être de nombreuses plates-formes maison dans les grandes organisations. Vous pouvez voir cela avec les services d’IA que nous ajoutons à la plateforme Tanzu – c’est devenu une priorité pour de nombreuses organisations, c’est pourquoi nous l’avons ajouté à notre plateforme. Le complet intégration avec le framework Spring est un autre exemple. Si vous disposez d’applications d’entreprise, vous disposez probablement de nombreuses applications Java, et si vous disposez d’applications Java, vous utilisez très probablement beaucoup Spring. Si vous utilisez la plateforme Tanzu, vous pouvez mettre à jour vos applications Spring rapidement et facilement, bénéficiant non seulement des nouvelles fonctionnalités de Spring et Java, mais également obtenir des améliorations en termes de performances et d’économies de coûts.

Cela signifie que vous avez plus de temps pour vous concentrer sur ce qui compte vraiment : vos propres logiciels et applications. C’est assez de travail, et assez dur, sans avoir à vous soucier de la façon dont vous configurez et déployez les logiciels, gérez la sécurité, gérez les données et faites tout cela sous vos applications.

À la question de savoir s’il est finalement préférable de construire ou d’acheter : acheter une plateforme signifie que vous pouvez concentrer tous vos efforts et toutes vos ressources sur l’amélioration de votre entreprise en perfectionnant la façon dont vous créez vos logiciels.

Si vous souhaitez savoir comment une plate-forme s’intègre dans l’amélioration de la façon dont votre organisation crée et exécute des logiciels, consultez cette discussion que j’ai eue sur ce sujet avec Purnima Padmanabhan et James Watters.

Nous parlons bien sûr de la plate-forme VMware Tanzu, mais vous entendrez également comment les grandes organisations réfléchissent à cette décision de construction/achat.






Source link