Fermer

novembre 6, 2018

Questions-réponses avec Pivotal: l'évolution du développement logiciel


Les organisations adoptent des approches de développement natives pour le cloud afin de reformater et d'architecter leurs applications existantes ou d'accélérer le développement de nouvelles applications. Dans cette série de questions-réponses, nous discutons avec Jeff Kelly de Pivotal de l'évolution du développement de logiciels, de leur vision pour l'avenir et de leurs conseils aux équipes de développement.

Que considérez-vous comme l'un des plus grands défis du développement de logiciels aujourd'hui? Pourquoi?

Je pense que les plus grands défis en matière de développement logiciel sont l’organisation et le changement de processus. Un développeur ou un professionnel talentueux peut apprendre une nouvelle technologie avec suffisamment de pratique et de formation, mais sans transformer avec qui et comment ils fonctionnent, toute la technologie du monde n’aidera pas beaucoup. Les entreprises doivent séparer les différents groupes (développeurs, professionnels, propriétaires d'entreprise, etc.) et commencer à s'organiser autour de produits répondant aux opportunités et aux problèmes commerciaux. Cela peut constituer un véritable défi pour les personnes habituées à travailler dans un seul domaine et à jeter leur travail au-dessus du mur au prochain groupe cloisonné du processus de développement. Tout à coup, vous devez penser à l’ensemble du cycle de vie du développement logiciel et collaborer avec des personnes et des rôles avec lesquels vous n’aviez jamais travaillé.

Un changement de ce type est toujours un défi. Mais c'est possible. Chez Pivotal, nous travaillons avec des centaines d'entreprises qui prouvent que cela est possible. Par exemple, Raytheon et l’US Air Force travaillent ensemble à la création d’applications vraiment à la pointe de la technologie sur Pivotal Cloud Foundry. Ils travaillent au sein d'équipes équilibrées composées de développeurs, d'opérateurs de plate-forme, de chefs de produit et même d'un ou deux généraux, travaillant toutes dans le même but.

Quelle est la différence entre le développement de logiciels et les 5, 10, 20 actuels? il y a des années?

Le changement le plus important et le plus évident est le passage de la méthodologie en cascade et de la BUFD (grande conception initiale) au développement et à l'itération agiles basés sur les commentaires constants des utilisateurs. Les journées passées à consacrer des semaines, voire des mois, à la collecte des exigences complexes de l'entreprise (au lieu d'obtenir les exigences des utilisateurs réels!) Avant qu'une seule ligne de code ne soit écrite, puis des mois ou parfois des années jusqu'à la première version de l'application ou du logiciel est libéré sont terminés. L’émergence plus récente de DevOps est également un facteur important. Les pratiques d'automatisation et de DevOps complètent le développement agile, en aidant à ce que le nouveau code soit réellement envoyé rapidement aux utilisateurs. Allstate a vraiment adopté cette approche consistant à marier agile et DevOps, avec d'excellents résultats .

Aujourd’hui, comme je l’ai mentionné plus tôt, de grandes entreprises organisent des développeurs, des concepteurs, des concepteurs principaux et autres en petites équipes problème commercial qu’ils tentent de résoudre, puis commencez rapidement à développer un MVP pour le résoudre. Ils mettent le MVP entre les mains des utilisateurs et continuent à itérer sur le logiciel au fil du temps en fonction de leurs commentaires dans le monde réel. Cette approche conduit à un logiciel plus efficace sur une période beaucoup plus courte – Liberty Mutual a développé et déployé une nouvelle application d'assurance en seulement 28 jours – par rapport aux méthodes traditionnelles des années précédentes.

Du point de vue de la technologie. , nous sommes passés de développeurs qui attendaient depuis des mois un serveur dédié à la promesse de machines virtuelles instantanées. Mais au cours des dix dernières années, les opérations internes liées au provisioning de ressources aux développeurs ont ralenti le processus. Les entreprises nous disent souvent qu'il faut 3 ou 4 mois aux développeurs pour obtenir un environnement. Avec PCF, cela devient une opération en libre-service achevée en quelques minutes.

Cela permet aux services informatiques de concurrencer les «systèmes d’information fantômes». Au cours des dix années précédentes, lorsque la mise en place d’un environnement en interne a été plus lente, le cloud a fait son apparition. accès des développeurs à l’infrastructure en quelques minutes avec un balayage de carte de crédit. Ils ont donc commencé à faire le tour de l’informatique centrale. Mais quand vient le temps d’exécuter cette application en production, tout s’arrête, car l’environnement de développement dans le cloud ne ressemble en rien à ce que le système informatique a construit pour sécuriser et gérer cette application. Encore une fois, PCF remet la balle dans le camp de l’IT. Ils peuvent donner aux développeurs un environnement rapide permettant de répliquer un environnement de production respectant les contrôles opérationnels.

Quelles sont certaines des tendances qui sous-tendent le développement de logiciels et comment les voyez-vous évoluer dans les prochaines années? (Y compris cloud, IoT, intelligence artificielle, microservices, Big Data, etc.)

Il y a tellement de nouvelles technologies qui se font jour et de nouvelles approches développées aujourd’hui qu’il est difficile d’en choisir quelques-unes. Et il va falloir du temps pour que les choses bougent. Mais je partagerai aujourd’hui trois grandes tendances du développement de logiciels qui transcendent les détails de la mise en œuvre.

En premier lieu, les entreprises continuent de déplacer leur objectif de plus en plus au-dessus de la ligne de valeur, comme le dit notre James Watters. En tant qu’entreprise, certaines responsabilités doivent être assumées, mais ne vous différencient pas de la concurrence et / ou ne sont tout simplement pas à la mesure de vos capacités. Il s’agit de responsabilités – telles que la création et la maintenance de votre propre plate-forme de développement – que les entreprises se tournent vers les autres pour qu’elles puissent se concentrer sur ce qu’elles font le mieux, à savoir résoudre les problèmes et satisfaire les clients. C’est pourquoi des entreprises telles que Orange et Comcast suscitent tant d’intérêt sur des plates-formes telles que Cloud Foundry, qui résument une bonne partie des contraintes opérationnelles et permettent aux développeurs de se concentrer sur la création de logiciels de qualité. Je pense que cette tendance ne fera que s'accélérer, avec l'émergence de nouvelles abstractions, même de niveau supérieur, telles que des fonctions sans serveur. Nous avons parlé plus tôt du développement agile et de l'itération et de l'envoi fréquents de nouveau code. Les microservices rendent cette approche possible. Avec une application monolithique, une petite modification apportée à une petite partie de l'application risque d'avoir un impact négatif sur les autres parties de l'application et, surtout, d'avoir un impact négatif sur l'expérience utilisateur (par exemple, en mettant toute l'application hors ligne!). Tout est étroitement lié et interdépendant. Toutefois, avec une application composée d’un certain nombre de microservices à couplage faible et pilotés par domaine, une modification apportée à un microservice n’a aucune incidence sur les autres ni sur les performances globales de l’application. Chaque microservice peut être déployé, mis à niveau, mis à l'échelle et redémarré indépendamment des autres services de l'application. Cela permet aux équipes de mettre à jour fréquemment des applications en direct sans nuire aux utilisateurs, ou au moins en limitant l'impact à une seule tranche de la plus grande application.

Une autre tendance qui va continuer à se développer est le cloud hybride, mais avec une accent particulier mis sur l'expérience du développeur. Les entreprises avec lesquelles Pivotal collabore toujours nous disent qu'elles veulent avoir la possibilité de déployer leurs logiciels et leurs applications dans le meilleur environnement adapté à leur travail. Dans certains cas, cela se fera dans votre propre centre de données ou votre cloud privé. Dans d’autres cas, ce sera l’un ou l’autre des fournisseurs de cloud public, chacun ayant ses propres forces et faiblesses. T-Mobile vient de parler de l'importance de l'approche du cloud hybride à la plate-forme SpringOne 2018 . Toutefois, l’essentiel est que les entreprises recherchent cette flexibilité tout en offrant aux ingénieurs logiciels une expérience de développement cohérente et transparente, où que leurs applications soient exécutées. En d'autres termes, ils ne veulent pas que les développeurs aient à apprendre un ensemble d'API pour les logiciels à exécuter sur site et un autre ensemble d'API pour les logiciels s'exécutant sur AWS, Azure ou GCP. Je pense donc que les solutions offrant à la fois souplesse et cohérence susciteront un intérêt croissant.

Restez à l'écoute pour la deuxième partie de cette série de questions-réponses, qui se concentrera sur le développement natif en nuage, la technologie open source et Pivotal. Fonderie de nuages.

Vous souhaitez avoir un aperçu de ce dont nous discuterons dans le prochain post? Consultez le guide, Transformez le développement de vos applications avec Pivotal Cloud Foundry.




Source link