Mis à jours 14 janvier 2018 Devops est l’endroit où l’amélioration continue de la qualité (ACQ) et d’autres méthodologies de bonnes pratiques se réalisent ou échouent.
Les unités d’espace sont partout. Nous pouvons les voir tout autour de nous. Lorsque nous conditionnons distinctement une unité d’espace, nous l’appelons un conteneur. Que ce soit sur des navires dans la mer ou dans un placard de rangement, nous utilisons des conteneurs pour organiser les choses en unités d’espace isolées et distinctes. Dans le monde informatique, les conteneurs sont devenus la structure distinctive utilisée pour isoler et organiser les éléments du code logiciel. Tout comme les conteneurs sur les navires ou dans le placard, ils peuvent être visualisés.
Dans le monde informatique centré sur le Web d’aujourd’hui, les interfaces de programmation d’applications (API), les interfaces de ligne de commande (ILC), les microservices et autres versions de code logiciel déployables ont toutes tendance à résider dans des conteneurs. En fait, l’utilisation des conteneurs est devenue un puissant moyen de construire et de maintenir des systèmes contrôlés par la qualité et efficaces, et elle est devenue la pierre angulaire des développeurs modernes.
Qu’est-ce que devops ? Dans une entreprise à multiples facettes, les gens travaillent ensemble pour atteindre les objectifs d’une manière agile. Dans le monde de la technologie, cette base repose sur un noyau triangulé dans lequel le personnel du développement logiciel, de la gestion des produits et des opérations commerciales communique et collabore tout au long du cycle de vie du produit. Ces ressources ont besoin l’une de l’autre, et nous nous référons généralement à leur relation symbiotique comme étant la culture derrière les opérations de développement – devops.
Devops est l’endroit où l’amélioration continue de la qualité (ACQ) et d’autres méthodologies de bonnes pratiques se réalisent ou échouent. C’est là que les normes ISO et Six Sigma sont respectées ou manquées. Plus important encore, devops est l’origine de la propriété du produit.
Les joueurs de Devops
Il existe des marques et des entreprises bien établies dans l’espace devops. Par exemple, GitHub fournit une plate-forme pour héberger le code d’application partagé ; New Relic fournit une plate-forme pour la surveillance et la gestion des applications ; Docker est largement considéré comme le leader de l’exécution de conteneurs d’applications. Veracode fournit une solution de pointe pour la sécurité des applications qui protège l’ensemble du pipeline d’intégration/de déploiement continu (CI/CD) et Amazon propose des services de déviation AWS, qui peuvent être appelés solution de planification des ressources d’entreprise (ERP) devops car tous les aspects de la gestion du cycle de vie des applications (ALM) sont pris en compte sous la bannière AWS.
La sécurité est une considération extrêmement importante. Tout produit de haute qualité doit prendre en charge la connexion unique avec les annuaires d’entreprise utilisateur existants ou les authentifiants externes tels que Google, Microsoft ou GitHub. Une solution vraiment de haute qualité ne devrait pas nécessiter une gestion distincte des utilisateurs, mais elle devrait fournir des audits de déploiement détaillés disponibles via les canaux de chat, l’agrégation de journaux et les systèmes de surveillance existants.
De plus, il y a un problème concernant l’hébergement d’un produit dans le cloud ou sur site. Il n’y a pas de réponse simple à ce qui est mieux, mais c’est quelque chose qu’un client devrait être clair sur l’évaluation. La pensée conventionnelle tend à soutenir l’idée que les solutions sur site sont plus sûres.
La manipulation à guichet unique n’est pas la meilleure pour chaque entreprise. Les plus grands fournisseurs « ont tendance à trouver de nouvelles solutions dans des produits ou des cadres existants afin de ne pas perturber tous leurs autres efforts de développement et de marketing », déclare Ross Schibler, CEO d’Opsani, une entreprise engagée dans une nouvelle approche. M. Schibler a ajouté : « En travaillant avec une petite entreprise, vous pouvez réellement demander de nouvelles fonctionnalités et influencer les priorités sur la feuille de route du produit. »
Les meilleures pratiques de Devops
L’étude des meilleures pratiques de devops au sein d’une organisation typique révèle une variété d’outils et de services utilisés. Cependant, contrôler manuellement le fonctionnement de chaque application dans une chaîne reste un point d’inefficacité et une source de retard que le dévot cherche à éliminer. L’opération autonome pour devops est une prochaine étape critique. Conçue pour être utilisée avec des conteneurs et des microservices, et conçue dans le but de combler l’écart CI/CD, une nouvelle classe de logiciels, généralement appelée ware architectural, a vu le jour.
Les entreprises de cet espace incluent Electric Cloud, dont le produit ElectricFlow est une plate-forme d’automatisation de diffusion couramment utilisée. Netflix OSS (oui, le Netflix que nous connaissons tous et aimons) a un produit appelé Spinnaker, une plate-forme de livraison de version logicielle continue multicloud open source. Un nouveau joueur dans le jeu devops est Opsani, dont Skopos Surveyore est un outil gratuit pour les conteneurs Docker qui permet aux équipes de visualiser l’architecture de leurs applications.
Pour comprendre la signification de ceci, vous devez comprendre la base de devops elle-même. Dans une entreprise agile efficace et efficiente, les opérations informatiques aideront les équipes de développement informatique à s’approprier le produit dont elles disposent dans le cadre de la gestion du cycle de vie en facilitant les progrès en éliminant les obstacles et les barrières à l’efficacité ALM. Il était une fois, la facilitation de l’amélioration du système informatique grâce à la mise à niveau logicielle impliquait la fermeture réelle d’une machine physique, suivie par le démantèlement physique, l’échange de mémoire virtuelle et la reconstruction. De là, nous avons évolué à l’introduction de supports de stockage. D’abord, il y avait de grands disques et drives, mais ils sont devenus plus petits en taille, plus facilement échangeables, et finalement permutables à chaud pendant que les machines continuaient à exécuter d’autres applications.
De là, nous avons avancé vers des serveurs physiques. La mise à niveau ou la mise à jour de logiciels nécessitait souvent la livraison de nouveaux supports de stockage souples à partir desquels l’installation pouvait avoir lieu. La montée de l’Internet a suivi ; qui a conduit à des logiciels déployables sur le Web, et éventuellement des serveurs virtuels. Chaque étape de l’évolution représentait une percée dans les devops, mais le développement de la machine virtuelle (VM) était particulièrement significatif. La machine virtuelle a permis le déploiement et l’exploitation de plusieurs environnements d’application serveur sur une machine physique. Cette réduction de la présence physique a considérablement réduit les coûts d’exploitation, augmenté la sécurité du système et permis une maintenance quasi ininterrompue de l’application et du système, sans interruption totale du système. Cela est devenu particulièrement vrai une fois que les miroirs VM commutables ont été introduits.
Dans l’environnement basé sur le serveur, et en particulier l’environnement d’application basé sur le Web, une autre étape importante de l’évolution s’est produite. Là où la VM traditionnelle était axée sur les applications, l’émergence du conteneur virtuel s’est concentrée sur l’isolation des processus. Bien qu’Unix ait le crédit d’avoir les premiers conteneurs, c’est Linux qui a mis en avant le partitionnement des ressources. Google a adopté les conteneurs il y a un peu plus d’une décennie, mais les conteneurs ne sont vraiment devenus populaires que depuis environ cinq ans.
Avec l’évolution du cloud, Docker, généralement considéré comme le service conteneur le plus populaire existant, a mis en avant le concept d’amélioration évolutive. À présent, l’entreprise n’avait pas besoin d’héberger les machines physiques, ni même les machines virtuelles, que ce soit pour isoler des applications ou des services entiers. Au lieu de cela, un utilisateur peut s’appuyer directement sur un fournisseur d’applications pour les héberger dans le cloud et fournir du code de manière fluide et efficace via Internet.
L’entrée du CI/CD
C’est ici qu’intervient CI/CD. Une gestion simple et efficace des applications, des correctifs, des mises à jour et des données de microservices exige que l’hôte soit agile et efficace, et rapide. Cela exige également de la cohérence et de la fiabilité ; après tout, les temps d’arrêt et les défaillances du système sont inacceptables. Un bon système de CD a vraiment besoin d’un déploiement automatisé pour les conteneurs et les microservices afin de compléter l’aspect cycle de développement-production d’ALM, et cela doit permettre aux équipes de développement de savoir ce qui se passe pour maintenir leur propriété du produit et du processus. En fait, un grand produit d’architecture doit également s’intégrer parfaitement avec les systèmes CI/CD existants, tels que ceux offerts par Docker et Amazon.
Pour Opsani, Electric Cloud, Netflix et Amazon, quelques questions de base peuvent aider les équipes de développeurs à sélectionner les fournisseurs et les produits : quelle est l’évolution du visuel CI/CD ? Est-ce qu’ils automatisent le déploiement des conteneurs et des microservices ? Et quoi d’autre, si quelque chose, les distingue davantage ?
La meilleure chose à propos de Skopos d’Opsani est le facteur visuel. C’est tellement simple et intuitif que tout le monde peut comprendre l’architecture du système et du service. C’est génial pour ceux qui sont du côté des opérations non codantes de l’équipe Devops. ElectricFlow d’Electric Cloud met l’accent sur les visuels et la visibilité du processus. Le produit comporte beaucoup de graphiques colorés, mais a toujours un regard classique modelé par bibliothèque. La démo de Netflix Spinnaker ne le précise pas. Visuel CI/CD ne semble pas être l’objet de son marketing. Spinnaker semble avoir un look plus basique ou classique avec des visuels de style balle. Le site d’Amazon AWS devops est très bien conçu avec de superbes graphismes, mais sans une vision plus transparente de l’application elle-même, il est difficile de dire à quel point leur CI/CD est visuellement centré.
Il est important de noter, cependant, que le produit Skopos d’Opsani ne semble pas être spécifiquement visuel ou visuo-centrique. L’interface graphique fonctionne au-dessus d’un moteur qui peut être utilisé entièrement via une API ou une interface de ligne de commande. Cela signifie que les développeurs qui préfèrent ne pas utiliser une interface graphique n’ont pas à le faire. Pourtant, les visuels fournissent des données et des renseignements importants, surtout pour ceux qui ne savent pas coder. « Les interfaces graphiques rendent le système accessible aux non-développeurs et offrent un moyen intuitif de déterminer l’état du système en un coup d’œil », explique Bert Armijo, vice-président des produits chez Opsani. Les outils visuels offrent une flexibilité qui peut habiliter toute l’équipe des développeurs. Les produits de haute qualité doivent avoir cette capacité.
Skopos automatise non seulement le déploiement de conteneurs et de microservices, mais il le fait de manière continue. ElectricFlow automatise les déploiements et permet une coordination souple des versions. Spinnaker automatise la livraison et met l’accent sur la livraison continue. Amazon automatise le déploiement, mais ce n’est pas aussi important pour le système AWS car Amazon a tellement d’autres produits. Cependant, Skopos a été construit à partir de la base spécifiquement pour le CD de récipient. C’est tout ce qu’il fait, et bien qu’il puisse le faire mieux et plus facilement qu’autre chose, les entreprises à la recherche d’une solution qui traite des machines virtuelles existantes et des serveurs nus pourraient ne pas trouver ce produit utile.
Il est intéressant de noter qu’avec Skopos, vous pouvez également observer l’état actuel de votre application. La fonction d’état en temps réel visualisée est extrêmement précieuse. Skopos visualise également votre architecture, y compris le nombre d’instances de chaque composant, les connexions et les dépendances. Ceci est très important car cela permet à l’utilisateur d’avoir une connaissance de l’impact total de ce qu’il possède ainsi que de la modification qu’il peut implémenter. « Skopos fournit une vérification automatique du déploiement en profondeur pour s’assurer que le nouveau code est déployé avec succès », explique Peter Nickolov, directeur technique d’Opsani. Si les déploiements ne sont pas vérifiés, Skopos effectue un retour automatique sans interruption du système de production.
Est-ce que ça évolue ?
Dans le monde informatique, la taille réelle d’une entreprise a tendance à être mise de côté en raison de l’évolutivité des solutions logicielles. L’automatisation elle-même supprime les gens du processus et peut aider à rationaliser une organisation. Amazon et Netflix sont des entreprises et des marques étonnantes, mais elles sont également assez importantes et les devops ne sont pas vraiment identifiés comme leur principale fonction commerciale. Pour certaines organisations, cela peut être très bien, mais pour d’autres, le manque de concentration et d’exploitation allégée indique une plus grande probabilité de moins d’agilité et de flexibilité. Opsani et Electric Cloud sont similaires en termes de taille et d’agilité, mais les fonctionnalités de visualisation de l’architecture des produits Opsani sont plus avancées.
Une autre question liée à la taille de l’entreprise fournissant ce type de produits est la réactivité. Amazon n’a pas répondu aux demandes d’informations. Netflix a répondu, mais n’a pas répondu aux questions avant l’heure de presse. Electric Cloud a répondu, mais n’a pas donné de réponse à des questions spécifiques avant l’heure de presse. Opsani, d’un autre côté, a répondu rapidement et immédiatement. Que cela arrive toujours est difficile à dire, mais les premières impressions sont importantes, et dans le monde des devops, le timing est d’une importance cruciale.
Sans aucun doute, visuel CI/CD est essentiel pour les dévots de haute qualité, efficaces et efficients. Les principaux fournisseurs de solutions évoluent dans cette direction depuis un certain temps, en particulier en ce qui concerne la gestion des conteneurs. Toutes les principales plateformes et les produits sont géniaux. On ne peut pas se tromper avec Electric Cloud, Netflix ou Amazon. Cependant, l’intelligence visuelle plus évoluée d’Opsani est au niveau suivant, et il semble mettre leur plateforme et leurs produits à l’écart des autres. Compte tenu de ce qui est en jeu, et compte tenu de l’engagement envers ACQ une entreprise aurait du mal à justifier pourquoi elle n’utiliserait pas une solution qui optimiserait et automatiserait le CI/CD autant que possible, ainsi qu’une entreprise dont le temps de réponse de soutien est proche immédiat.