Les bénéfices du PaaS et DevOps

Image sans titre

 

Les utilisateurs sont rois ! En tant que tel, les équipes IT font des pieds et surtout des mains afin de trouver comment maintenir leur niveau d’expérience et répondre rapidement à leurs nouvelles envies. Celles-ci, sans vouloir être désobligeant vis à vis des rois, varient au grès de la pluie et du vent et les IT doivent suivre la météo.

La méthodologie DevOps est là pour anticiper les orages en permettant de délivrer des versions d’applications en cycle continu et redonner le sourire aux utilisateurs. Les études du Gartner ont donc tendance à opter pour un éclaircissement du temps. En effet une croissance de 21% sur le marché des outils associés à DevOps est annoncée pour 2015 (soit 2,3 Md$). Considérant, d’après une étude du CA, que 24% des entreprises IT au niveau mondial disent avoir adopté la méthode DevOps et seulement 12% en France, les outils DevOps vont se multiplier et ce sera aux entreprises de les mettre en place dans leur infrastructure ou de construire l’infrastructure qui sera à même de les recevoir. Cela nous amène à la question suivante, quels modèles de service sont à même d’accueillir et déployer les outils DevOps et comment choisir parmi ces modèles celui qui conviendra à votre infrastructure?

Nous tenterons de vous éclairer en faisant un rapide rappel de la méthodologie DevOps et des modèles de Service (PaaS, IaaS, SaaS). Nous mettrons ensuite en avant les liens entre le concept DevOps et ces modèles pour enfin fixer quelques lignes de conduite à suivre quant au choix du modèle de service pour votre implémentation des outils DevOps.

 Qu’est ce que le PaaS et DevOps ?

Pour rappel, DevOps est un concept plus ou moins récent qui concilie deux mondes de l’informatique avec des visions totalement opposées : celui du développement (Dev) et celui des opérations (Ops), autrement dit l’exploitation ou la production. (Pour plus de détails, voir notre article DevOps ici)

Le PaaS (Platform as a Service), est le dernier arrivé de la famille des “aaS” (après le IaaS et SaaS) et représente tout ce qui est entre l’infrastructure et les applications, y compris les services associés. Pour plus d’informations, consultez l’article d’Erik Ableson sur ce sujet (ici).

 

Mais quel lien entre les modèles de service et DevOps ?

Alors que DevOps est une stratégie visant à arriver à ses fins, les modèles de service, PaaS et IaaS, offrent les moyens d’y arriver. De manière transverse, on ne peut pas parler de PaaS sans réfléchir aux méthodes DevOps. En effet, on réfléchit rarement à l’outil à utiliser avant d’avoir défini ce que l’on voulait mettre en place.

Typiquement,  les architectures de type à la demande pour DevOps peuvent se décomposer en 2 catégories :

  • IaaS (Infrastructure as a Service)
  1. offre l’infrastructure de base (calcul, réseau et stockage)
  2. possibilité d’utiliser des outils d’orchestration tels que Chef, Puppet, ou ANSIBLE pour automatiser le déploiement d’applications, configurer un environnement de développement unifier et évolutif
  • PaaS (Platform as a Service)

Où une “couche plate-forme” est déployée sur une “couche d’infrastructure” élastique déjà existante, intégrant des outils d’orchestration lui permettant d’évoluer de façon transparente dans le but de subvenir aux besoins des applications

L’utilisation du IaaS implique de définir et mettre en place les différents environnement de développement (dev, test, prod) et d’espérer que ceux ci soient et restent uniformes/identiques afin de ne pas avoir de surprises lors de la mise en production de l’application. Ce travail est à répéter pour chaque application à développer. Enfin si l’on veut profiter de l’automatisation il faut utiliser des outils comme Chef, Puppet ou Ansible.

Les solutions PaaS vont permettre by design de définir facilement les couches d’environnement s’appuyant sur l’infrastructure et offrir une portabilité à :

– micro échelle : lors du développement

– macro échelle : vers différentes infrastructures privées publiques

 

IaaS / PaaS

Le PaaS aide les équipes IT à mettre en place des environnements de développement, test et production totalement uniformes sans la nécessité d’utiliser des outils tiers. De fait, le PaaS apparaît comme étant le mieux adapté pour mettre en place une méthodologie DevOps dans le cadre des développements modernes en intégration continue.

 

Quels bénéfices pourrait on tirer de l’association PaaS/DevOps?

De là, nous pouvons déduire quelques bénéfices liés à l’utilisation du PaaS et de Devops :

  • Optimisation du processus du développement à la production
  • Réponse plus rapide aux besoins des clients
  • Meilleure détection des erreurs de codes
  • Réelle collaboration entre les équipes de développeurs et de production
  • Portabilité des applications
  • Uniformisation des environnements applicatifs

Ces différents points feront que DevOps va devenir, au sein des entreprises, un des fondements de la stratégie de modernisation de leur infrastructure.

De plus, pour profiter au maximum des avantages qu’offre le cloud , les sociétés seront obligées de moderniser leur infrastructure et donc d’adopter des outils modernes tels que DevOps et le PaaS.

Openstack et Docker, futurs piliers de l’infrastructure IT des entreprises. Lire les conclusions de l’étude RightScale ici.

Adrien Huerre

Maxime Piedeleu

Erik Ableson

,

AWSome Days 2015

Ce mardi 07 avril se tenait les AWSome Days 2015 par AWS, une session d’une journée présentant les composants principaux des services d’Amazon Web Services. Principaux, car il n’est pas possible d’aborder convenablement l’ensemble de la quarantaine de services proposés par le cloud provider.

Mélange entre présentations des produits et démos, cette journée est dédiée à la découverte des services. Elle est donc principalement dédiée aux personnes voulant découvrir AWS. Dans la salle composée pour moitié de développeurs et d’administrateurs, nous avons abordé :

  • S3, stockage en ligne,
  • Glacier, stockage offline long terme (utilisé pour l’archivage),
  • Elastic Block Store, stockage en block persistant,
  • Storage Gateway,
  • Import/Export,
  • CloudFront
  • EC2,
  • AutoScaling,
  • CloudWatch,
  • Services Réseaux : VPC, DirectConnect, Route53, Elactic Load Bablancing,
  • Services Databases : RDS, DynamoDB, Elastic Cache, Redshift,
  • Services d’orchestration, notamment CloudFondation.
FRIENDS DON'T LET FRIENDS BUILD DATA CENTERS AWS DAYS 2015 PARIS

“Une bonne question, un T-Shirt !” : On ne peut pas résister à un tel appel !

 

 

Avec mon petit calepin AWS, j’ai pris le temps de prendre des notes tout au long de la journée, en sketchnote (je trouve cette méthode beaucoup plus efficace et agréable à relire). Elles sont disponibles ici : Awsome-Days-2015-Sketchnotes Licence Creative Commons
Ou alors, vous pouvez retrouver les 135 slides de la journée sur Slideshare.

Bilan de la journée : c’est un event vraiment à faire si vous êtes dans la réflexion d’aller vers le Cloud et que vous désirez avoir un bon aperçu des produits Amazon. Les intervenants très disponibles présentent très bien leur produit, avec un effet démo limité, ce qui est une belle performance (une seule session ssh qui plante sur l’ensemble de la journée…. respect!).

110001

, ,

TECHDAYS (II) Introduction à DevOps

Nous continuons aujourd’hui avec Introduction à DevOps notre série d’articles avec nos retours des sessions TECHDAYS. Aussi, nous expérimenterons des nouveaux outils découverts lors des présentations et nous ne manquerons pas de vous faire part de nos commentaires et de nos recommandations.

Etienne Margraff, Developper (Microsoft)

Stanislas Quastana (Microsoft)

Dans certaines entreprises, l’informatique est divisé depuis toujours en deux univers : les personnes qui créent (Dev) et celles qui exploitent en production (Ops).

Cette séparation peut générer stress et frustration. Les équipes n’ont pas l’impression d’aller dans le même sens et cela nuit à la productivité. Pour les réconcilier, un ensemble de pratiques et d’outils ont été imaginées: elles se cachent derrière le terme DevOps.

Qu’est-ce que c’est exactement ? Quels problèmes cela résout-il? Comment le mettre en place? Nous vous proposons de découvrir la vision présentée lors de cette session d’introduction.

DevOps est la contraction des termes anglais « development » et « operations IT ». Pour schématiser, DevOps c’est unir deux forces en une seule.

Vous sentez la question venir : comment faire pour que deux corps de métier ne deviennent plus qu’un alors que tous les sépare : le vocabulaire, les technologies, le niveau de couche de travail, les responsabilités, mais aussi les méthodes de travail…

En effet, les développeurs parleront de SCRUM, KANBAN, WATERFALL alors que les personnes de la production/exploitation parleront d’ITIL, MOF ou encore AGILE. Malgré toutes ces différence, ces geek à chemise et à t-shirt se doivent de trouver un terrain d’entente pour, ensemble, accomplir leur tâche commune, celle de fournir le meilleur service aux utilisateurs : IT as a service !
Concrètement, DevOps c’est quoi?

Inventé par Patrick Debois en 2009 pendant le déroulement des premiers devopsdays, ce mouvement vise à réduire la friction organisationnelle entre les développeurs et les personnes plus opérationnelles. C’est unir la création et la production, les développeurs (ces geeks à tee-shirt) et les administrateurs (ces geeks en chemises).

L’approche DevOps consiste donc à prôner une meilleure communication entre les équipes de développement et d’exploitation afin d’améliorer la conduite de projet.

DevOps, pour qui ?

Cette approche aura donc pour cible les organisations où développeurs et les personnes de l’exploitation qui seront amenés à échanger. DevOps est plutôt conseillé pour les petites entreprises ou encore les startups. En effet, plus la structure est petite, moins il y aura de silos de compétences prédéfinis, donc la communication et la mise en place de cette approche apparaitra plus simple.

Néanmoins, de grandes organisations comme Facebook ou encore Amazon y adhérent, encore faut-il bien s’y prendre !

Au niveau applicatifs et services, cette approche est parfaite pour tout ce qui est application web et jeux par exemple. Elle le sera un peu moins pour des applications de type client/serveur. Toutefois en utilisant des outils facilitant le déploiement, elle reste envisageable.

 

DevOps, quels bénéfices ?

La vision pré-DevOps était « Vite vite on met en production ! ». Mais attention, il ne faut pas confondre vitesse et précipitation, la production c’est du sérieux !

De plus, lorsqu’un problème survenait lors d’un projet, une guéguerre commençait entre les différents acteurs pour déterminer à qui reviendrait la faute. En effet, les développeurs produisent du code à partir d’un cahier des charges précis et se préoccupent peu de l’impact que peut avoir leur code sur la production. En parallèle, les services de production sont quant à eux obnubilés par la stabilité de l’infrastructure donc ralentissent les mises en production et blâment le code du développeur si le résultat n’est pas satisfaisant pour les utilisateurs.

La vision DevOps tente de palier à ce problème en favorisant une répartition des responsabilités et l’implication de l’ensemble des acteurs de la chaine. Le développeur devient ainsi testeur de son code.

Les intérêts d’adoption d’une démarche DevOps peuvent être multiples :

  • Réduire le cycle et le coût de mise en production,
  • Avoir une approche plus fragmentée (petites évolutions),
  • Faire que les mises à jour deviennent transparentes,
  • Mise en commun des responsabilités (tout le monde dans le même bateau!)
  • Une amélioration continue du produit,
  • Répondre plus rapidement aux besoins des clients.

Tous ces points permettent à une entreprise d’être plus compétitive, et donc servir le business de l’entreprise avant tout. En effet, tant que le service/logiciel n’est pas sur le marché, il n’apporte aucune valeur au fournisseur/éditeur.

Pour bénéficier de tous ces avantages, les feedbacks internes sont essentiels. En effet, la boite à idées est un concept vieux de 100 ans mais néanmoins il reste très efficace. De plus, avec tous les outils modernes que nous possédons (Forum privé, Yammer, newsgroup, …) ce concept ne peut qu’être encore mieux.

Ci-dessous on retrouve un schéma décrivant une méthode de travail typiquement DevOps :

Si vous souhaitez mettre en place cette approche au sein de votre entreprise, commencez par faire un état des lieux. Effectivement, la première étape de l’amélioration est de prendre conscience de là où on en est !

De plus, il faut commencer sur un périmètre réduit, surtout si vous faites partie d’une grande organisation.

Quels outils pour DevOps ?

Souvent DevOps est perçu comme du « déploiement continu » dans l’esprit des gens. Mais les outils ne sont pas que pour le déploiement et plusieurs sont à votre disposition pour commencer votre « révolution ». Ils peuvent être regroupés en 6 grands groupes :

  • Outils de déploiement (VS Realase Management, Teamcity, …)
  • Outils de configuration (Visual Studio Online, Jenkins, Teamcity, …)
  • Outils d’organisation (…)
  • Outils de surveillance (SC Operation Manager, Azure Operational Insight, …)
  • Outils de feedback (Uservoice.com, Getsatisfaction.com, …)
  • Outils d’automatisation des tests (Visual Studio Premium, QTP, TestComplete, …)

En résumé, ce mouvement DevOps est encore à son démarrage mais il gagne de plus en plus de terrain et menace du doigt des corps de métiers (ex : administrateur réseau) qui se voient petit à petit disparaitre.

Cette vidéo de Rackspace résume bien ce qu’est DevOps et quels bénéfices cette approche apporte aux entreprises.

Pour en savoir davantage sur le mouvement DevOps, suivez nos actualités sur le blog Ilki ou demandez à l’un de nos experts.

« Start small, think big »

Maxime PIEDELEU, Consultant ILKI – DevOps

@mpiedeleu

Lire l’article “TECHDAYS (I) Openstack & Windows” ou comment concevoir un Cloud privé avec des composants Windows 

 

 

 

, ,

TECHDAYS (I) Openstack & Windows

Comment Windows s’intègre dans OpenStack ? Pourquoi et comment Hyper-V peut être utilisé dans un cloud OpenStack ? Quelles sont les options d’interopérabilité pour les clouds en mode hybride ? Voici quelques-unes des questions que nous aborderons dans cette session !

 

Intervenants :  

Alessandro Pilotti : CEO of Cloudbase Solutions

Arnaud Lheureux : Architecte infrastructure et cloud chez Microsoft


Cette session a commencé par une question posée par les intervenants : « Combien de personnes présentes dans cette salle ont déployé une solution Openstack facilement et sans problèmes ? ». Comme on peut s’en douter, quand on connait Openstack, seules une ou deux personnes ont levé la main.

Après avoir posé cette question très significative, les présentateurs ont enchaîné sur une rapide présentation et introduction sur Openstack.

Pour rappel, Openstack est un ensemble de logiciels open source permettant le déploiement de solutions IaaS, dans le but de gérer des clouds privés et publicsOpenstack a été développé par la NASA et Rackspace et possède aujourd’hui une énorme communauté qui ne cesse de grandir.
Différentes distributions d’OpenStack existent déjà: HP, REDHat, Mirantis et une nouvelle à la fin de cet article…

Ci-dessous un schéma rappelant l’architecture d’un cloud privé Openstack :

Architecture Cloud Privé Openstack

Architecture Cloud Privé Openstack

 

On dit souvent qu’une image vaut mieux qu’un long discours mais nous allons pas vous laisser sans une rapide description des composants Openstack et leur rôle :

  • Neutron fournit du « network as a service » entre les interfaces réseaux (vNICs) gérées par d’autres services Openstack comme Nova par exemple.
  • Nova : fournit la partie Compute d’Openstack. C’est évidemment le composant principal d’une infrastructure IaaS. Il pilote également les hyperviseurs.
  • Glance: gère les images et les metadatas des machines virtuelles
  • Swift/Cindergère le stockage des machines virtuelles. Swift est le projet basé sur le stockage objet et Cinder sur le stockage bloc.
  • Horizon : c’est le portail de gestion. Ce composant fournit une interface Web permettant de gérer les services Openstack tels que Nova, Swift, Keystone, etc
  • Keystone: permet la gestion des Identités dans l’environnement Openstack.

 

Ci-dessous la même architecture basée sur les composants Windows :

Architecture Cloud privé Windows

Architecture Cloud privé Windows

Il nous a ensuite été présenté une rapide description des composants Openstack sur Windows.

  1. Hyper-V Nova Compute

La mise en place de ce composant est simple car elle se fait par le biais d’un installateur Windows (.msi) développé en Python.

Ce composant d’Hyper-V peut être installé sur différentes distributions :

  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Standalone and free Hyper-V Server

Il supporte la plupart des fonctionnalités d’Hyper-V tel que :

  • Shared nothing live migration
  • SMBv3
  • Gen 2 VM
  • RemoteFX
  • Etc …

Comme nous l’a dit Arnaud Lheureux, le but de Microsoft est de devenir l’un des premiers hyperviseurs pour Openstack, même si il reste de la « route » à faire avant d’y arriver.

  • Neutron Modular Layer 2 plugin for Hyper-V

Evidemment, comme son nom l’indique, ce composant va permettre à l’hyperviseur de gérer les opérations réseau. La configuration et l’installation de celui-ci sont intégrées dans le driver d’Hyper-V Nova Compute.

Ce plugin permet le déploiement de différentes solutions de cloud privé. En effet, la technologie du « Native VLAN » est supportée mais aussi le déploiement d’Open vSwitch avec l’encapsulation VXLAN.

  • Open vSwitch on Hyper-V

Ce composant, est une implémentation open source d’un commutateur virtuel multicouche sous licence Apache licence open source 2.0. Il utilise les mêmes outils et démons que sur Windows (porté par ovs-vsctl and ovs-vswitchd). Il utilise notamment le protocole OVSDB et est compatible avec OpenDaylight.

  • Heat : Deployment Automation

Ce composant permet d’organiser les déploiements à partir d’une automatisation classique de Windows effectuée avec cloudbase-init.

Il existe plusieurs templates pour des workloads Windows telles que :

  • Puppet Agent
  • IIS
  • MS SQL Server 2012
  • Active Directory Domain Controller
  • Sharepoint 2013
  • Exchange 2013
  • Juju and MAAS with Windows

L’outil MAAS (Metal as a Service) pour le déploiement baremetal est disponible pour les hôtes Linux et Windows.

Le composant Juju, développé par Ubuntu, est disponible nativement sur les les plateformes Windows. Il est intéressant d’utiliser Juju dans le cas de déploiement de :

  • Hyper-V Openstack Compute
  • IIS
  • SQL Server
  • Active Directory
  • Lync 2013
  • Sharepoint 2013
  • Exchange 2013
  • Horizon Dashboard

Horizon est le portail de gestion d’Openstack. Il peut être déployé sur la plupart des distributions récentes de Windows et de Linux et il permet par exemple l’accès direct à la console Hyper-V. Il utilise la passerelle open source FreeRDP WebConnect pour accéder aux serveurs via le protocole RDP.

  • Cinder-Volume on Windows Server

Cinder peut être utilisé avec l’”ISCSI Target” intégrée aux Windows Server 2012 et Windows Storage Server 2012.

Cinder supporte également le stockage basé sur SMBv3 pour les hyperviseurs Hyper-V et KVM.

  • Keystone – Identity

Comme nous le savons, Active Directory est la solution d’annuaire la plus utilisée dans les entreprises de nos jours. Le but est donc d’intégrer Keystone à ces environnements, ce qui a été fait par le biais du protocole LDAP. Après cette intégration, les utilisateurs et rôles peuvent être définis dans l’AD ou avec Keystone. Il suffira de faire une mise à jour du schéma AD.

Nous pouvons donc en conclure qu’un Active Directory et Keystone peuvent être facilement intégrés ensemble.

CONCLUSION

Cette session nous aura permis de mieux comprendre quels étaient les composants d’une solution Openstack et comment ceux-ci peuvent s’intégrer. L’intégration d’Hyper-V avec Openstack, maintenue par Cloudbase and Microsoft, est apparue avec la version IceHouse du projet.

D’après les dires des deux intervenants, Hyper-V serait aujourd’hui l’un des hyperviseurs les plus testé avec Openstack. Même si cela semble difficile à croire, contenu de l’avance qu’ont les hyperviseurs VMware, KVM ou bien XenServer dans ce domaine, nous comprenons bien tous les avantages que pourraient apportés le déploiement d’Hyper-V dans une infrastructure Openstack.

Il existe des scripts pour Puppet disponibles à l’adresse suivante : https://github.com/openstack-hyper-v.

Les deux intervenants ont profités de la session pour annoncer l’arrivée d’un produit intéressant,  V-magine. Cet outil permettra de déployer plus facilement une infrastructure Openstack entière, incluant l’interopérabilité des composants Windows et Linux date de sortie : 10/02/2015. Pour plus d’informations, visiter le site : http://www.cloudbase.it/v-magine.

Plus de sessions en vidéo ICI

Adrien HUERRE, Consultant Cloud & Virtualisation – Stockage ILKI  

@AdrienHuerre

DevOps is not a Race

Most of what we read about or hear about in DevOps emphases speed. Continuous Deployment. Fast feedback. Fail fast, fail often. How many times do we have to hear about how many times Amazon or Facebook or Netflix or Etsy deploy changes every day or every hour or every minute?           …

Source: www.javacodegeeks.com

Speed is sexy… but DevOps is not a race!

Forget About PaaS. It’s About Enabling Applications by ActiveState

Over the last couple of years I have talked to numerous enterprise customers, analysts, industry pundits, and others interested in cloud technologies, and one thing is abundantly clear…Platform-as-a-Service (PaaS) seems to mean different things to different people. But the term PaaS is irrelevant–it’s just noise. What is relevant, and what is important, is what PaaS does: enable applications! That’s what enterprises care about.

Source: www.activestate.com

Le PaaS favorise

  • Une entreprise plus agile
  • l’innovation technologique
  • une infrastructure indépendante.

En résumé: le PaaS permet le développement d’applications et c’est en définitive ce qui préoccupe aux entreprises.

Vous voulez en savoir un peu plus sur le PaaS: qu’est-ce que c’est, quelles sont ses possibilités d’application? des exemples illustrés d’utilisation de Stackato et de Cloudfoundry et des cas de succès? Assistez à la première Rencontre autour du PaaS organisée par ILKI, avec le support d’Activestate (Paris)

Enterprises Have Many Unprofitable Applications, Public Clouds Do Not

Enterprise IT supports many unprofitable applications. Microsoft Exchange, legacy databases, obsolete accounting systems, end-of-life desktop operating systems and much more. Public clouds can, and…

Source: etherealmind.com

Intéressante réflexion qui oppose Cloud et IT interne du point de vue de l’optimisation pas seulement du budget mais aussi des services rendus.