Lors de ma troisième présence à Stratégies PME, j’ai eu l’occasion de donner une conférence qui portait sur les tendances de 2017. J’ai consulté pour vous ma boule de cristal afin de vous partager ma vision de ce que la prochaine année nous réserve dans le monde du développement logiciel. Voici donc un résumé de ce que je vois !

L’Agilité et la livraison continue

À Pyxis, nous appliquons depuis plus de 15 ans les principes des approches Agiles dans nos projets de développement logiciel. Depuis, l’Agilité dépasse le domaine du développement logiciel. Par exemple, de plus en plus d’équipes de marketing utilisent les approches Agiles comme méthode de travail. C’est d’ailleurs le cas à Pyxis — vous pouvez lire notre article sur le sujet. Bien que pour plusieurs cette façon de livrer soit rendue mainstream, elle demeure en 2017 une approche à préconiser pour les équipes de développement.

La livraison continue permet de livrer plus souvent, de tester et d’obtenir le feedback des clients régulièrement. Un des grands avantages que l’on retire de la livraison continue, c’est la réaction aux changements, qu’ils soient de nature technologique ou qu’il s’agisse des besoins changeants des utilisateurs.

Par contre, de penser que l’Agilité et la livraison continue vont réduire le temps de développement est un mythe. Les méthodes Agiles nous permettent d’atteindre de plus petites cibles plus rapidement et de nous assurer que nous sommes toujours alignés sur les besoins, mais elles ne réduisent pas le temps de cycle.

DevOps

Nous entendons de plus en plus parler de DevOps. Cette nouvelle approche permet de rapprocher l’équipe de développement et l’équipe des opérations. Elle facilite les communications et automatise le processus complet, et ce, du développement jusqu’à la mise en exploitation. Pour en apprendre plus sur DevOps, vous pouvez lire le billet DevOps vous avez dit ? de mon collègue Gabriel.

Ce que j’inclus dans le monde de DevOps, c’est aussi de faire le lien avec les équipes de contrôle de la qualité. C’est de s’assurer que les responsables du contrôle de la qualité participent toujours au cycle complet, et ce, du processus de développement jusqu’aux opérations. Ainsi, cela permet d’avoir un logiciel dont la qualité est vraiment contrôlée.

Voici les projections pour 2017 concernant l’adoption de DevOps. Cette approche devrait continuer sa montée et être plus présente dans les entreprises en 2017.

devops2017

Source : RightScale 2016 State of the Cloud Report

Je pense que si on fait la projection pour 2017, c’est quelque chose qui devrait continuer de grandir. Donc, on devrait voir ce rôle de plus en plus présent dans les entreprises.

Un des rôles de DevOps, entre autres, pour faciliter la livraison d’applications en continu, c’est de livrer cette application dans une infrastructure où elle va pouvoir être exécutée. Si on parle d’un site Web, il s’agit d’un serveur, si on parle d’applications pour des clients, il s’agit des façons de l’installer…

Une des choses que DevOps va prendre en compte, c’est la virtualisation. Aujourd’hui, il est faux de penser que toute l’infrastructure de notre système va rouler sur des machines physiques, car ça engendrerait des coûts importants.

Virtualisation

Traditionnellement, nous avions un serveur sur lequel nous venions installer notre application. Le gros problème avec cette façon de faire, c’est que si nous avons une application pour Linux et Windows, il faut alors deux machines qui, en passant, sont trop souvent sous-exploitées. De façon générale, si vous regardez l’utilisation de la mémoire d’un poste de travail, vous allez voir que 99 % du temps, la machine attend.

La virtualisation vient régler un peu ce problème en prenant un serveur et en y installant la couche de virtualisation, de déploiement. À partir de cette couche, il est possible de déployer plusieurs systèmes d’exploitation et plusieurs applications, ce qui permet de rentabiliser l’investissement et d’avoir un meilleur rendement.

De plus en plus, cette virtualisation se démocratise. Le cloud est d’ailleurs basé sur cette facilité de virtualisation. Par exemple, peu importe le fournisseur de service d’hébergement Web, si vous faites héberger votre site, celui-ci utilise des techniques de virtualisation pour partager l’environnement entre différents clients afin de maximiser l’utilisation des ressources et de réduire les frais d’exploitation. Ainsi, les environnements virtuels deviennent de plus en plus petits, flexibles et adaptés aux besoins du client.

Au début, la virtualisation était surtout utilisée dans des environnements de test et de contrôle de la qualité. Les environnements de production virtuels sont tellement fiables aujourd’hui qu’on en voit de plus en plus.

La virtualisation comporte son lot de défis. Le problème est que nous avons énormément de petits systèmes à déployer sur de plus gros systèmes. Une des tendances fortes, c’est de scripter et d’automatiser les déploiements. C’est ce qu’on appelle l’infrastructure en tant que code.

Infrastructure en tant que code

L’infrastructure en tant que code permet d’automatiser les déploiements dans les différents environnements (développement, test, staging, production). L’infrastructure fait partie des biens livrables d’un projet au même titre que le code source.

Comme l’infrastructure fait partie du développement, les développeurs ont une plus grande conscience de la structure de l’environnement de production. Ceci permet d’éviter les erreurs lors de la mise en production.

Types de clouds

La tendance démontre que l’utilisation du cloud n’est plus privée ou publique, mais plutôt privée et publique. De plus en plus d’organisations utilisent pour une même application des services de clouds privés et publics. Une des raisons pour lesquelles elles utilisent ces deux services, c’est afin de mieux gérer la confidentialité de leurs données. Selon moi, la sécurité des services de cloud publics est souvent meilleure que celle que les entreprises sont en mesure de gérer. La sécurité est une course constante contre les hackers. Les services de cloud sont donc souvent plus à jour que la moyenne.

typedeclouds

Internet of things

Le phénomène de l’Internet des choses est en pleine explosion. Depuis 2008, le nombre d’appareils connectés à l’Internet a dépassé la population mondiale. Ces nouveaux appareils génèrent énormément de données et ils ont besoin de communiquer entre eux ; ce qui nécessite de plus en plus d’adresses IP. Bientôt l’Internet ne pourra plus fournir d’adresses selon la norme IPv4. Heureusement pour moi qui adore les gadgets, la norme IPv6 pourra répondre à cette demande d’adresses. On pourra alors compter 340 000 000 000 000 000 000 000 000 000 000 000 000 d’adresses IP possibles.

internetofthing

 

Et vous, que voyez-vous dans votre boule de cristal ?

Billet précédent

Vous avez dit DevOps ?

Billet suivant

Retour sur Play4Agile North America 2016

éric de carufel

Passionné, impliqué et minutieux sont des qualités qui décrivent bien Éric pour qui le développement logiciel est une quête constante d'amélioration pour atteindre un équilibre entre la perfection et les besoins du client. Son approche architecturale est simple : élaborer une architecture où il est plus facile d'appliquer les bonnes pratiques que les mauvaises.

Son implication en tant que conférencier et blogueur est reconnue par Microsoft, qui lui a décerné le prix de "Most Valuable Professional in Visual C#" (MVP C#) chaque année entre 2009 et 2015.

Pas de commentaire

Laissez un commentaire

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