> Enjeux it > La maîtrise des environnements multi-cloud, l’avenir de DevOps

La maîtrise des environnements multi-cloud, l’avenir de DevOps

Enjeux it - Par iTPro.fr - Publié le 24 novembre 2017

Quelles sont les tendances de l’univers Cloud ? Quelles sont les exigences de la mise en œuvre d’une organisation DevOps ? Face aux données qui ne cessent de croître, quels sont les outils et les stratégies clés à adopter ? Autant de questions qui se posent aux décideurs informatiques. Jonathan Lamiel, Senior Product Manager chez Talend nous livre sa réflexion.

La maîtrise des environnements multi-cloud, l’avenir de DevOps

Le concept DevOps

Le concept de DevOps est un ensemble de pratiques d'automatisation des processus qui sont partagées par les équipes de développement logiciels et informatiques, afin qu’elles puissent construire, tester et lancer des logiciels plus rapidement et de manière plus fiable. DevOps repose sur la construction d'une culture de collaboration entre les équipes informatiques et commerciales qui fonctionnaient jusqu'à présent dans leurs silos respectifs. Parmi les avantages annoncés : une confiance accrue, des mises à jour plus rapides, une capacité à résoudre rapidement des problèmes critiques.

Cela dit, la mise en œuvre d'une organisation DevOps efficace exige que les responsables informatiques réfléchissent plus largement sur les mesures à prendre. En effet, ils ne peuvent pas se contenter de déployer de nouvelles technologies : ils doivent impulser un changement culturel et organisationnel au sein de leurs équipes et à l'échelle de l'entreprise.

Pour être efficace, une stratégie DevOps doit s'appuyer sur une convergence des objectifs des équipes de développement et des équipes opérationnelles. Elles doivent se focaliser sur ce dont l'entreprise a besoin pour réussir sa transformation digitale. Il s'agit donc de démanteler des groupes de personnes et de responsabilités qui sont aujourd’hui cloisonnés, et de mettre en place des équipes capables de travailler en multitâche sur des enjeux et des objectifs techniques.

Les équipes DevOps les plus efficaces s'appuient sur des individus soucieux de trouver un équilibre entre innovation rapide et constante, et les besoins opérationnels et de sécurité. Désormais, DevOps évolue également, et son avenir dépendra de sa capacité à maîtriser les écosystèmes multi-cloud.

L'univers Cloud

L'univers du cloud computing connaît actuellement deux tendances croissantes.

- D’un côté, la diversité croissante des services cloud, conduisant à des infrastructures hybrides et multi-cloud.

- De l’autre, l'émergence des DataOps (data operations), nécessitant davantage de la part des développeurs gérant l’infrastructure de données

Un cloud hybride associe des déploiements privés et publics, généralement pour exécuter une tâche spécifique ou supporter une application donnée. Alors que le multi-cloud correspond à l'utilisation a minima de deux plateformes de cloud dans un environnement informatique unique et hétérogène.

Ces nouvelles orientations peuvent avoir des raisons très différentes :

- minimiser l’étalement et la perte de données

- réduire les temps d'arrêt grâce à la redondance

- éviter l’enfermement auprès d’un fournisseur

- offrir la polyvalence pour répondre aux différents besoins de projets des différentes équipes au sein de l’entreprise.

Se sentant à l'étroit dans le cloud hybride, les entreprises sont donc en train de se tourner résolument vers un univers multi-cloud.

L'engouement vers les solutions hybrides et multi-cloud 

Les volumes de données générés et collectés augmentent de façon exponentielle, et le nombre d'utilisateurs appelés à exploiter ces données (de la finance au marketing, des ventes aux RH) ne cesse de croître. Cette double évolution du paysage exerce une pression énorme sur les services informatiques qui doivent non seulement gérer une infrastructure de plus en plus complexe, mais aussi permettre à un nombre croissant d'utilisateurs d'exploiter plus efficacement les données.

Et c'est là que DataOps entre en jeu « pour organiser et livrer les données provenant de nombreuses sources à un nombre croissant d'utilisateurs, de manière fiable et avec les caractéristiques nécessaires pour supporter des flux de données reproductibles ».

Par conséquent les entreprises doivent définir des stratégies DevOps uniques pour ces nouveaux déploiements d'applications et processus de collaboration. Les outils de DevOps utilisés dans l'entreprise doivent avoir la capacité de déployer du code de manière fiable dans les clouds publics, privés et hybrides, incluant des fournisseurs de services tels que Google, Microsoft Azure, Amazon Web Services, etc.

Les pratiques des équipes DevOps sont en constante évolution

Depuis un certain temps, la « ruée vers le cloud » fait subir une pression aux équipes DevOps. Le multi-cloud s'apprête à faire monter cette pression à un niveau bien supérieur. Les équipes DevOps vont être obligées de se montrer encore plus agiles et plus évolutives. Un certain nombre de concepts et méthodes (par exemple, l'intégration et la diffusion continue) devront être implémentés plus largement, et l'automatisation va jouer un rôle de plus en plus important.

Cependant, la maîtrise des pratiques DevOps dans un environnement multi-cloud ne se limite pas à faire « la même chose, encore plus vite ». En effet, le déploiement d’une application sur le cloud peut s’avérer complexe et il serait plus judicieux de les développer nativement dans cet univers.

Les applications traditionnelles sont monolithiques, exécutées sous forme de machines virtuelles, reposant souvent sur une architecture à scalabilité verticale, se basant sur des pratiques autour des infrastructures mutables et sont généralement plus difficiles à développer, à déployer et à mettre à jour. En revanche, les applications natives du cloud sont plus modulaires. Elles se composent d’un ensemble de conteneurs et de services, reposent sur une architecture à scalabilité horizontale se basant sur des pratiques autour des infrastructures immuables, plus faciles à automatiser, à déplacer et à faire évoluer. Si vous n’appliquez pas les bonnes pratiques DevOps dans le cloud, vous serez vite rattrapé par la nécessité d’avoir des applications natives sur le cloud.

Par ailleurs, le passage d'un cloud unique (ou d'un cloud hybride) à une solution multi-cloud exige généralement de nouvelles plateformes et de nouveaux outils – des technologies capables de changer la donne très rapidement.

IDC prédit que le chiffre d'affaires résultant de la transformation digitale et des produits et services associés augmentera de 127 % d'ici à 2020. Mais l'un des principaux obstacles auxquels les entreprises sont aujourd'hui confrontées est le processus de développement : « Le codage, les tests et l'assurance qualité sont des processus longs et ajoutent de la complexité à une procédure qui devrait maintenant être rationalisée. »

Pour demeurer compétitives, les entreprises devront éliminer plusieurs obstacles dans leur processus DevOps (infrastructure dépassée, utilisation fragmentée des différents outils, applications complexes) afin de pouvoir se développer et évoluer plus rapidement, presque sans effort.

De nouveaux outils pour réussir

Les décideurs informatiques et les architectes adoptent de plus en plus des stratégies multi-cloud, avec plusieurs objectifs :

- accroître l'utilisation des infrastructures IT existantes

- déployer de nouvelles fonctionnalités adaptées aux besoins

- réduire les coûts,

- rationaliser les ressources

- éviter l’enfermement auprès d’un seul fournisseur cloud.

Cette orientation nécessite de mettre en place une stratégie de gestion du trafic tenant compte du contexte global et capable de superviser l'état de l'infrastructure des centres de données et l'expérience utilisateur, le tout en réagissant aux évolutions du contrôle et aux spécifications des systèmes avec la même vitesse que les équipes DevOps.

Alors que le passage à un univers multi-cloud bat son plein, nous devons nous doter de moyens plus rapides et plus efficaces pour développer et connecter les applications natives en cloud.

L’approche DevOps offre de nouvelles opportunités pour le déploiement et l'évolution rapide de nouveaux services et la réduction du temps de passage de l'idée à la restitution. Autrement dit, il est grand temps d'accélérer à fond vers le cloud.

Certes le développement et l’intégration continue en sont les meilleurs exemples. Mais les pratiques DevOps ne se limitent pas au développement de logiciels. La véritable définition est beaucoup plus large : elle tient compte des outils, de la technologie, des processus d'acquisition des services et des personnes qui exploitent les systèmes.

Les méthodes DevOps

Les pratiques DevOps connectent les clients avec les ingénieurs et le support technique à travers toutes les phases du développement, ce qui permet d'éviter les produits qui sont peut-être « techniquement parfaits », mais ne répondent pas aux besoins de la mission.

Bien plus incrémentiel que les approches traditionnelles de développement en cascade (waterfall), les pratiques DevOps permettent aux équipes de déceler les défauts et de corriger plus rapidement leur trajectoire. En outre, les pratiques DevOps tendent à impliquer l'ensemble des acteurs clés tout au long du processus : les équipes opérationnelles, service, sécurité et le client final.

Malgré tout, il subsiste des goulets d’étranglement et des points d’achoppement qui ralentissent le développement. Mais ces difficultés sont sur le point de disparaître avec de nouvelles techniques telles que le déploiement continu, l'automatisation des montées de versions logicielles, les opérations entièrement automatisées de tests et d'assurance qualité.

Au final, une stratégie DevOps multi-cloud saura exploiter la créativité et l'imagination du développeur pour innover dans un flux intégré et sans interruption. Les nouveaux outils et les nouvelles plateformes permettront de gérer les détails mineurs du déploiement.

Téléchargez gratuitement cette ressource

Guide Machine learning et Big Data pour bien démarrer

Guide Machine learning et Big Data pour bien démarrer

Les technologies de Machine Learning, Big Data et intelligence artificielle ne sont pas réservées aux géants du Web. Cependant, il est souvent difficile de savoir ce qu'elles peuvent nous apporter. Découvrez, dans ce guide, les différents types d'apprentissages et passez à l'action grâce aux outils open source disponibles dans la « Intel Python Distribution ».

Enjeux it - Par iTPro.fr - Publié le 24 novembre 2017