overview bluemix fr

14
La plateforme Open Cloud IBM® Bluemix™ Contenu Bluemix : Plate-forme d’Innovation Digitale ................................................................................ 2 Vous choisissez le niveau d’abstraction de l’Infrastructure ...................................................... 3 Architecture Bluemix et Cloud Hybride ........................................................................................ 5 Plate-forme Agile : DevOps intégrés à Bluemix ....................................................................... 13

Upload: benjamin-adeline

Post on 16-Apr-2017

72 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Overview bluemix fr

La  plateforme  Open  Cloud  IBM®  Bluemix™  

Contenu    

Bluemix : Plate-forme d’Innovation Digitale  ................................................................................  2  

Vous choisissez le niveau d’abstraction de l’Infrastructure  ......................................................  3  

Architecture Bluemix et Cloud Hybride  ........................................................................................  5  

Plate-forme Agile : DevOps intégrés à Bluemix  .......................................................................  13  

 

Page 2: Overview bluemix fr

Bluemix : Plate-forme d’Innovation Digitale IBM® Bluemix™ est la nouvelle plateforme Open Cloud d’IBM qui permet de développer, déployer et gérer tout type d’applications (Web, Mobiles, Big Data, Internet des Objets…). Les développements sont réalisés en assemblant des « Services » et des API directement accessibles par l’intermédiaire d’un « catalogue » proposé par IBM et ses partenaires. Ce catalogue dépasse aujourd’hui la centaine de « Services et/ou API ». Construit sur la technologie Open Source « Cloud Foundry », IBM® Bluemix™ se présente comme une « Plateforme as a Services » (PaaS) permettant de simplifier et d’accélérer la livraison d'une application en libérant les développeurs des contraintes associées aux installations matérielles, logicielles middleware, à l’administration et à la maintenance en conditions opérationnelles des solutions développées.

IBM® Bluemix™ supporte des déploiements personnalisés. Vous pouvez connecter vos services privés aux services publics natifs proposés par IBM® Bluemix™. Toutes les instances de services sont gérées par IBM et vous obtiendrez une facture pour ce que vous avez choisi d'utiliser.

Avec IBM® Bluemix™, le développeur gagne en contrôle et flexibilité, et dispose de nombreuses fonctionnalités parmi lesquelles on peut citer :

• Une gamme de services et d’API qui permet de construire et de déployer rapidement des applications web et mobiles,

• Une gamme de services dédiés au traitement massif de données (big data), • Un environnement de développement agile, • Une puissance de traitement et de calcul, • Une facilité de gestion des services et des applications, • Un environnement d’optimisation de l’exécution des applications, • Une disponibilité continue de l’environnement complet

Ainsi IBM® Bluemix™ décharge le développeur de la complexité associée à l'hébergement et à la gestion des applications sur le cloud. Pour les applications Web, par exemple, il suffit d’indiquer le nombre d'instances que l’on souhaite exécuter. IBM® Bluemix™ se charge ensuite du reste.

IBM® Bluemix™ supporte les langages de programmation les plus populaires. On peut développer des applications mobiles dans iOS, Android et HTML avec JavaScript. Pour les applications Web, on peut utiliser des langages tels que Ruby, PHP et Java.

IBM® Bluemix™ fournit également des « services middleware » pour vos applications. IBM® Bluemix™ agit, pour le compte de l'application, en provisionnant de nouvelles instances de services qui seront ensuite associées à l'application, si besoin est. Cela permet à l'application d'effectuer son véritable travail, tout en laissant la gestion des services au niveau de l'infrastructure, c’est-à-dire entre les mains de la plateforme.

Page 3: Overview bluemix fr

Vous choisissez le niveau d’abstraction de l’Infrastructure Bluemix propose trois méthodes pour vous permettre d'exécuter votre code : Cloud Foundry, des conteneurs Docker et des machines virtuelles. Vous pouvez sélectionner l'infrastructure adéquate pour le déploiement de vos applications.

Figure 1. Bluemix repose sur technologies open source

Platform as a Service - Cloud Foundy

Les applications s'exécutant dans l’infrastructure de Cloud Foundry peuvent fonctionner avec les applications déjà existantes et peuvent se lier à l'un des services disponibles dans le catalogue Bluemix. Avec cette infrastructure, vous pouvez développer et gérer votre code d'application.

Le très large catalogue de service vous permet d’enrichir votre application avec

- des services IBM comme WATSON, Internet des Objets, services Mobile et Web, des outils avancés de Big Data (BigInsights for Hadoop, DashDb…), services DevOps et beaucoup d’autres

- des services de nos partenaires comme Box, Twitter, Microsoft, Apple... - des services venant de la communauté open source Cloud Foundry

Ce catalogue s’enrichit tous les mois !

La combinaison de l’infrastructure IBM Cloud Foundry et de ce riche catalogue de services vous permet de vous focaliser sur votre application et ses différentiateurs et de louer tout le reste.

Conteneurs Docker

Avec l’offre de conteneurs Docker hébergés sur le cloud Bluemix, vous pouvez exécuter votre application Web sur le cloud avec la garantie d’un niveau de portabilité maximum. Un conteneur est un objet qui contient tout ce qui est nécessaire pour qu'une application puisse s'exécuter. IBM vous offre avec Bluemix Docker un accès à un registre privé pour vos images, de sorte que vous puissiez les télécharger, stocker et les extraire facilement. Vous pouvez alors rendre ces images disponibles dans Bluemix et gérer vos conteneurs avec une scalabilité horizontale et verticale.

Vous pouvez utiliser toutes les images qui sont disponibles dans le Docker Hub public et utiliser l'API docker et une interface de ligne de commande permettant de gérer les conteneurs de

Page 4: Overview bluemix fr

Bluemix. IBM fournit également des images publiques dans le Registre des Conteneurs que vous pouvez utiliser et étendre.

Pour en savoir plus sur les conteneurs IBM, voir les conteneurs IBM dans la rubrique Création d'applications Web de documentation.

Infrastructure as a Service - Machines virtuelles (BETA)

L'infrastructure Bluemix des machines virtuelles vous donne la possibilité de créer et de gérer des groupes de machines virtuelles sur le cloud public d'IBM. Vous pouvez également créer et gérer des groupes de machines virtuelles sur le cloud privé d'IBM que vous avez choisi de mettre à la disposition des utilisateurs Bluemix. L'infrastructure comprend une expérience guidée pour vous connecter à votre infrastructure sur site. Un support pour la surveillance et la consignation est intégré dans Bluemix. Vous pouvez déployer et gérer vos machines virtuelles à l'aide de l'interface utilisateur Bluemix ou les API OpenStack du cloud.

Les machines virtuelles sur Bluemix supportent le provisionnement de groupe de machines virtuelles de manière automatique. Le nombre d'instances peut être automatiquement augmenté ou diminué, en fonction de la charge de l'unité centrale ou de l'échec d'une instance. En outre, l'équilibrage de charge est pris en charge.

Pour en savoir plus sur les machines virtuelles Bluemix, voir Virtual Machines dans la rubrique Création d'applications Web de documentation.

Page 5: Overview bluemix fr

Architecture Bluemix et Cloud Hybride Avec IBM® Bluemix™, vous pouvez accéder à la plateforme IBM® Bluemix™ publique, configurer une plateforme IBM® Bluemix™ dédiée, ou encore utiliser les deux environnements.

Ainsi, IBM vous offre la possibilité de conserver vos investissements existants IT et étendre vos applications en utilisant Bluemix™ et ses outils d’intégration sécurisée pour, par exemple, connecter votre application Bluemix™ avec votre base de données existante dans votre propre data center.

Figure 1. Bluemix et Cloud Hybride

IBM® Bluemix™ Publique

À la base, IBM® Bluemix™ est un environnement qui permet de construire des applications à l’aide de services mis à la disposition du développeur. IBM® Bluemix™ fournit également un environnement destiné à héberger des artefacts d'applications qui peuvent s'exécuter sur le serveur d'applications compatible avec ces artéfacts. En utilisant SoftLayer, IBM® Bluemix™ est, ensuite, capable de déployer des « conteneurs virtuels » pour héberger chacun de ces composants spécifiques, serveur d’applications inclus. Dans cet environnement global, IBM® Bluemix™ permet ensuite de réaliser facilement l’assemblage de l'application complète en s’appuyant sur des services intégrés de pré-construction (issus d’IBM ou d'un fournisseur tiers). En tant que développeur, on interagit avec l'infrastructure d’IBM® Bluemix™ à l'aide d'une interface utilisateur Web. On peut également utiliser l’interface en ligne de commande de Cloud Foundry, appelée cf, pour déployer les applications Web. Les clients de la plateforme IBM® Bluemix™ peuvent être des applications mobiles, des applications qui s'exécutent en dehors de l’environnement IBM® Bluemix™, des applications qui reposent sur IBM® Bluemix™, ou encore des développeurs d'applications web ; dans tous les cas, ils interagissent avec les applications hébergées sous IBM® Bluemix™. Les clients utilisent des API REST ou HTTP afin d'acheminer les requêtes vers les instances d'applications ou les services composites de la plateforme IBM® Bluemix™.

La figure suivante illustre l'architecture IBM® Bluemix™ de haut niveau.

Page 6: Overview bluemix fr

Figure 1. Architecture IBM® Bluemix™

Page 7: Overview bluemix fr

IBM® Bluemix™ est disponible dans plusieurs zones géographiques (USA, Grande-Bretagne, etc.). On peut ainsi choisir de déployer une application sur une ou plusieurs régions.

Figure 2. Déploiement d’une application multi-régions

IBM® Bluemix™Dedié

Il est aussi possible de disposer d’un environnement IBM® Bluemix™ dédié. Cette option consiste en un environnement SoftLayer privé avec Bluemix installé dessus et connecté de manière sécurisée d’un côté à l’IBM® Bluemix™ public et, de l’autre côté, au réseau privé de l’entreprise, via un VPN ou une connexion directe. Le serveur informatique privé peut être configuré dans n'importe quel Data Center SoftLayer dans le monde. IBM gère la plateforme dédiée et les services dédiés, de sorte que l’entreprise cliente n’a plus qu’à se concentrer sur la création de ses applications. En outre, IBM effectue la maintenance des instances dédiées dans une fenêtre temporelle de maintenance sélectionnée par l'utilisateur. IBM propose de nombreux services privés dans l’environnement dédié, mais il est aussi possible d’accéder à tous les services publics. Tous les runtimes sont disponibles dans l'environnement dédié.

Page 8: Overview bluemix fr

Tous les déploiements dédiés d’IBM® Bluemix™ comprennent les fonctions et les avantages suivants sans frais supplémentaires : VPN, VLAN privé, pare-feu, la connectivité avec le LDAP de l’entreprise, la capacité d'exploiter sur site existant des bases de données et des applications, la sécurité 24/7, le matériel dédié et le support standard.

Figure 3. IBM® Bluemix™ Dédié

Comment fonctionne IBM® Bluemix™?

Lorsque vous déployez une application dans IBM® Bluemix™, vous devez lui fournir un certain nombre d’informations de configuration afin que l’application déployée soit prise en charge dans les meilleures conditions. Ces informations de configurations sont proposées par IBM® Bluemix™ à travers des artefacts correspondants aux différents types d’applicatifs supportés par la plateforme. Ainsi :

• Pour une application mobile, IBM® Bluemix™ contient un artefact qui décrit le « back-end » de l’application mobile comprenant, par exemple, les services qui sont utilisés par l'application mobile pour communiquer avec un serveur.

• Dans le cas d'une application Web, l’artefact adresse, par exemple, les conditions d’exécution du runtime de l’application et son cadre de fonctionnement, afin de mettre en place l'environnement d'exécution requis pour exécuter l'application.

Page 9: Overview bluemix fr

Chaque environnement d'exécution, tant pour applications mobiles que pour applications Web, est isolé de l'environnement d'exécution des autres applications. Les environnements d'exécution sont isolés, même si ces applications se trouvent sur la même machine physique. La figure suivante illustre le flux de base de la manière dont IBM® Bluemix™ gère le déploiement des applications :

Fig 4. Déploiement d’une application

Lorsqu’une application est créée et déployée sur IBM® Bluemix™, l'environnement IBM® Bluemix™ génère une machine virtuelle appropriée (VM) sur laquelle l'application est ensuite envoyée. Dans le cas d'une application mobile, une projection de la partie « back-end » de l’application mobile est créée sur IBM® Bluemix™. Tout code utilisé pour l’exécution de l'application mobile qui pourrait avoir à s’exécuter dans le cloud s’exécute en fait dans l’environnement IBM® Bluemix™. La génération de la machine virtuelle est réalisée en fonction de plusieurs critères, notamment :

• La charge déjà supportée par la machine • Les environnements et les cadres d'exécutions supportés par la machine virtuelle.

Dès que la machine virtuelle cible est choisie, un agent de gestion d'application (DEA pour « Droplet Execution Agent ») installe sur la VM l'environnement d'exécution (son « framework » et son « runtime ») de l’application concernée. L'application peut, alors, être déployée dans ce contexte. Lorsque le déploiement est terminé, les artefacts d'applications sont démarrés.

La figure suivante présente la structure d'une machine virtuelle, pilotée par son DEA. On voit que de multiples applications peuvent y être déployées.

Page 10: Overview bluemix fr

Fig.5. Schéma de structure d’une machine virtuelle dans IBM® Bluemix™

Les machines virtuelles ne deviennent jamais des objets isolés ; elles sont administrées comme des composants à part entière de l'infrastructure IBM® Bluemix™. Chaque machine virtuelle dispose de conteneurs qui servent à séparer et protéger les applications. Comme on l’a déjà souligné ci-dessus, dans chaque conteneur, IBM® Bluemix™ installe l'environnement d'exécution approprié nécessaire à l’application concernée. Lorsque l'application est déployée, si elle dispose d’une interface Web (telle qu'une application Web Java), ou d'autres services basés sur REST (tels que des services mobiles exposés publiquement), les utilisateurs de l'application peuvent communiquer avec elle en utilisant des requêtes http classiques.

Page 11: Overview bluemix fr

Fig.6 : Appel d’une application hébergée sur IBM® Bluemix™

Chaque application peut être associée à une ou plusieurs adresses URL, mais ces adresses pointent toutes vers le même noeud final dans IBM® Bluemix™. Lorsqu'une requête se présente, IBM® Bluemix™ examine la demande, détermine à quelle application elle est destinée, puis sélectionne l'une des instances de l'application pour traiter la requête.

La résilience d’IBM® Bluemix™

IBM® Bluemix™ est une plateforme conçue pour héberger des applications évolutives et résilientes ainsi que des artefacts d'applications capables de s’adapter à une évolution des besoins tout en maintenant une haute disponibilité de services. Pour y arriver, IBM® Bluemix™ fait une distinction entre les services « stateless » et les services « stateful » de l’application. Pour plus d’informations, cf site OpenStack «Stateless vs Stateful services» : http://docs.openstack.org/high-availability-guide/content/stateless-vs-stateful.html.

La redondance d’instances et le « load balancing » permettent ainsi à IBM® Bluemix™ de tirer profit de cette séparation des services pour obtenir une évolutivité et une résilience accrues. On peut disposer d'une ou de plusieurs instances en cours d'exécution pour une application. Lorsque l’on dispose de plusieurs instances d'une même application, celle-ci n’est chargée qu’une seule fois. Toutefois, IBM® Bluemix™ déploie le nombre nécessaire d'instances de l'application et les distribue dans autant de machines virtuelles que possible. Toutes les données persistantes doivent être sauvegardées dans un magasin de données en dehors de l’application ; cela peut être fait, par exemple, sur l'un des services de magasin de

Page 12: Overview bluemix fr

données fournis par IBM® Bluemix™. Parce que tout ce qui est mis en mémoire ou sur un disque peut ne pas être disponible après un redémarrage, on peut utiliser l'espace mémoire ou le système de fichiers d'une instance d’IBM® Bluemix™ comme mémoire cache temporaire. Dans le cas d'une installation n’ayant qu’une seule instance, l’état « stateless » de la plateforme IBM® Bluemix™ peut provoquer l’interruption d’une requête en cas de problème. Une bonne pratique consiste à utiliser au moins trois instances pour chaque application pour s’en garantir la disponibilité. Toutes les infrastructures IBM® Bluemix™, tous les composants de Cloud Foundry, et les composants de gestion spécifiques à IBM sont hautement disponibles. Plusieurs instances de l'infrastructure sont utilisées pour équilibrer la charge.

Page 13: Overview bluemix fr

Plate-forme Agile : DevOps intégrés à Bluemix IBM® Bluemix ™ DevOps services est un logiciel (SaaS) disponible sur le Cloud et qui s’appuie sur du «continuous delivery». Avec DevOps Services, vous pouvez développer, tracker, planifier et déployer des applications à un seul endroit.

De vos projets, vous pouvez accéder à tout ce dont vous avez besoin pour construire toutes sortes d'applications. Vous pouvez travailler individuellement ou utiliser les outils de collaboration pour travailler avec une équipe. Après avoir créé une application, vous pouvez déployer sur la plate-forme de cloud IBM® Bluemix ™. En quelques minutes, vous pouvez passer du source code à votre application en cours d’exécution.

Fig.6 : Web DevOps Interface

Capacités des services DevOps :

• La planification Agile à travers le service Track & Plan • Un IDE Web où vous pouvez éditer et gérer le code • La gestion du contrôle de Source (SMC) à travers Git, Jazz SMC, ou GitHub • Packagings automatisés et déploiements à travers le service de Delivery Pipeline

Le soutien au développement

Page 14: Overview bluemix fr

Dans DevOps Services, vous pouvez développer votre application dans n’importe quel language. Vous pouvez également ajouter des fonctionnalités de planification Agile à votre projet. L'IDE Web fournit l'assistant de contenu, tips, aperçus, validation et la coloration syntaxique pour JavaScript, HTML, CSS et des fichiers Markdown. La coloration syntaxique est également prise en charge pour ces types de fichiers: Arduino, C, C #, C ++, CSHTML, JavaScript embarqué (EJS), Erlang, Aller, HTML abstraction langage de balisage (Haml), Jade, Java, JSON, Lua, Objective-C, PHP, Python, Rubis, Rapide, Virtual Basic (VB), VMHTML, XHTML, XML, Xquery, yaml, fichier de lancement, Dockerfile, gitignore, config git, cfignore.

En outre, DevOps Services prend en charge le déploiement de Bluemix avec buildpacks prédéfinis pour des applications Java, Node.js ™, Go, PHP, Python et Ruby.

Si vous construisez une application Node.js, vous pouvez faire des mises à jour rapides que vous développez et débuggez en utilisant Bluemix Live Sync. Bluemix Live Sync fonctionne sur la ligne de commande et dans l'IDE Web.