WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

à‰tude sur le déploiement d'une base de données locale vers le cloud. Cas du sql azure.

( Télécharger le fichier original )
par Donatien KADIMA MUAMBA
Université Révérend Kim - Graduat 2015
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

REPUBLIQUE DEMOCRATIQUE DU CONGO

MINISTERE DE L'ENSEIGNEMENT SUPERIEUR ET UNIVERSITAIRE

UNIVERSITE REVEREND KIM

Faculté de Siences informatiques de Gestion

B.P. 171 KIN XX

Kinshasa/Ndjili

« Etude sur le déploiement d'une base de données locale vers le Cloud »

Cas du SQL AZURE DATABASE

KADIMA MUAMBA Donatien

Directeur : CT. KALOMBO TAMBWE TRUDON

Année Académique 2015-2016

Travail de Fin de Cycle présenté en vue de l'obtention du titre de Gradué en Sciences informatiques de Gestion.

EPIGRAPHE

«  L'informatique semble encore chercher la recette miracle qui permettra aux gens d'écrire des programmes corrects sans avoir à réfléchir. Au lieu de cela, nous devons apprendre aux gens comment réfléchir »

Anonyme

DEDICACE

A mon père MUAMBA Jean-Louis et ma mère KABATUSUILE Hélène qui ont inculqué la notion de prendre au sérieux nos études et qui ont consenti à nos peines et sacrifices afin de nous assurer une formation universitaire outre les formations antérieures dont ils nous ont fait bénéficier toujours au prix de leurs sueurs.

A ma famille biologique: Grace NGALULA ,MUKANYA Symphorien ,Berthine Tshilanda ,Jean KAZADI,Fernand KAMBA, Symphorien KAMUENA, ainsi que mon oncle KABEYA et surtout à mes collègues proches de l'URKIM : KAPYA MUFUNGA Hélène,TSHIMPAKA MADIAYI Moïse, NYAMABO Hervé ,SESEBE ANDWENG Rose, MWIKA Dorcas,NGUNGABWI NTUMBA Francia, KINGUNZA DISASI Patrick sans oublier mon amie personnelle : Schelah JILABU TSHIMANGA .

Donatien KADIMA MUAMBA

REMERCIEMENT

Nous rendons premièrement grâce au seul Dieu tout puissant créateur du ciel et de la terre, de l'univers visible et invisible pour ses merveilles et ses multiples bien faits qu'il continue d'accomplir dans le roman de notre vie et sans qui nous n'aurions rien pu accomplir de notre existence humaine.

Nous disons merci aux autorités, Professeurs, Chefs des travaux, Assistants... de l'Université Révérend Kim pour leur dévouement et leur générosité dont ils ont fait montrer tout au long de notre formation académique dans cette pépinière de culture de la personnalité scientifique et humaine. Nous remercions à titre personnel le CT KALOMBO Trudon qui a accepté de diriger notre travail de Fin d'Etude ainsi qu'à tous ceux qui me connaissent.

Donatien KADIMA MUAMBA

LISTE DES ABREVIATIONS

SQL  : Structured Query Language

CPU  : Central Processing Unit

GSM   : Groupe Système Mobile

PC  : Personal Computer

FTP  : File Transfer Protocole

IEEE  : Institute of Electrical and Electronic Engineer

OSI  : Open System Interconnect

TCP-IP  : Transmission Control Protocol/Internet Protocol

OLTP  : Online Transaction Processing

OLAP  : Online Transaction Processing

SGBD  : Système de Gestion de Base de données

SGBDR  : Système de Gestion de Base de données Relationnel

SGBDO  : Système de Gestion de Base de données Orienté Objet

SLM  : Service Level Management

RFC  : Request For Comment

SLA  : Service Level Agreement

IETF  : Internet Engeneering Task Force

ITU  : International Telecommunication Union

CIR  : Committed Information Rate

EIR  : Equipment Identity Register

LISP  : Lost of Insipid and Silly

BCP  : Best Current Practice

VM  : Virtual Machine

RDP  : Remote Desktop Protocol

DAC  : Discretionary Access Control

PAC  : Proxy Autoconfiguration File

BAC  : Backup

LISTE DES FIGURES

Figure 1 - 1  : Topologie en bus

Figure 1 - 2  : Topologie en anneau

Figure 1 - 3 : Topologie en étoile

Figure 1 - 4  : Une architecture client/serveur

Figure 1 - 5  : Communication entre les Couches

Figure 3 - 1  : Présentation SQL AZURE

Figure 3 - 2  : Assistant Migration de la base de données SQL

LISTE DES TABLEAUX

Tableau 1 - 1 : Les Sept Couches du Modèle OSI

Tableau 1 - 2 : Correspondance entre les Couches et Composants Réseau

Tableau 3 - 1 : Récapitulation de Plan de Migration

O. INTRODUCTION GENERALE

0.1. PRESENTATION DU SUJET

Notre sujet du travail scientifique porte sur  Etude sur le déploiement d'une base de données locale vers le cloud. « Cas de Sql Azure DataBase » 

0.2. GENERALITE

Aller dans les nuages, a toujours été le rêve des hommes. Ce domaine était longtemps réservé aux poètes, et leur offrait la possibilité de s'évader des problèmes quotidiens qui les assaillaient. Mais depuis le jour où les avions et autres objets volants, conquirent le grand espace ciel, une grande majorité de gens pouvait sillonner plusieurs types de nuages. Ce rêve est également devenu réalité, dans le domaine de l'informatique. Actuellement, on parle beaucoup de Cloud Computing, et ce n'est pas par hasard.

Le Cloud, est d'abord un mot anglais qui signifie « nuage ». Et Cloud, est le diminutif de Cloud Computing. C'est un ensemble de services qui permet à un utilisateur, de transférer ses stockages et ses traitements informatiques, depuis un ou plusieurs de ses serveurs locaux, vers d'autres serveurs extérieurs. Ce concept est un peu difficile à saisir au premier abord. Mais à la demande d'un utilisateur, le Cloud Computing lui ouvre simplement l'accès à des ressources informatiques virtuelles, via internet. Ainsi, les opérateurs en informatiques, les entrepreneurs individuels ou les sociétés de tailles diverses, deviennent aussi des internautes en puissance. Ils naviguent comme eux dans les nuages, pour effectuer leurs travaux de transfert de données informatiques.

A en juger par les nombreuses traductions du Cloud Computing, le sujet intéresse le monde entier. Il est d'actualité et il est vaste. Cependant, vu le grand nombre de services qu'il permet, et le grand nombre de domaines qu'il couvre, on n'arrive pas trop bien à cerner sa définition. En France, pour le définir, on veut saisir l'image des nuages, et associer son aspect poétique et magique, à la rigueur de l'informatique. On parle alors « d'informatique virtuelle », « d'informatique en nuage », « d'informatique dans les nuages » ou « d'informatique dématérialisée ». Mais on emploie aussi les termes comme « stockage dans les nuages », ou « stockage à distance » ou encore « infonuagique ». Quant à la commission générale de terminologie et de néologie de France, elle souligne que l'infonuagique, est un aspect particulier d'administration de l'informatique. Le client qui le pratique, ne sait pas localiser matériellement ses données. Et pourtant, il peut accéder facilement au service, par le biais d'une application classique, tel un navigateur web. Malgré tout, les usagers préfèrent en général employer le terme Cloud Computing.

Le client particulier ou l'entreprise, ne gère plus ses serveurs informatiques. Il peut seulement accéder progressivement à plusieurs services en ligne, sans contact direct avec l'infrastructure technologique. Les données ainsi que les applications, sont logés dans un « nuage », formé de plusieurs serveurs interconnectés, et distants les uns des autres. L'utilisateur bénéficie ainsi, de la facilité de fonctionnement du système, assurée par l'usage d'une bande passante de haute qualité. On délimiterait alors la définition de Cloud Computer, par la transposition de l'infrastructure technologique de l'informatique dans les `'nuages''.

0.3. PROBLEMATIQUE

La problématique est une façon d'appréhender le sujet en terme de problèmes (1(*)). Elle peut être définie comme l'ensemble des questions posées dans un domaine de la science en vue d'une recherche de solution2(*).

Au cours de notre travail, nous ressortissions la grande problématique liée aux contraintes que rencontrent les entreprises en nous posant les questions suivantes :

- Est - il nécessaire à une entreprise d'acheter les serveurs qui coûtent très chers et qui nécessitent une maintenance mensuelle et annuelle afin de rendre sa base de données accessible et permanente chez tous les utilisateurs ?

- Est - ce l'entreprise serait - elle capable de couvrir les coûts fixes et les dépenses engagés dans les traitements des informations ?

0.4. HYPOTHESE

Selon le dictionnaire Webster, l'hypothèse est une affirmation provisoire formulée dans le but de tirer ou de vérifier ses conséquences logiques ou empiriques.

L'adoption d'un Cloud, apporte des avantages certains pour les entreprises. Outre la limitation de ses machines informatiques, qui dispense de toutes les activités de maintenance et de prestations, elles participent à la sauvegarde de l'environnement. Finis les recherches et les achats de logiciels, aussi simples que complexes. Finis les licences serveurs et clientes.

Elles éviteront les batailles avec les problématiques liés aux données, comme les backups, et ceux liés aux calculs, comme l'insuffisance des ressources CPU. Elles ne se soucieront ni des différents tests inhérents aux nouveaux logiciels, ni de leurs mises à jour, qui prennent beaucoup de temps. Peu leur importe les changements de normes ou l'internationalisation des SI. La seule occupation de l'entreprise client, est de sortir ou rentrer ses données, avec un minimum de suivi interne. L'économie est saine et nette !

La facturation de votre Cloud ne contient ni abonnement, ni frais de mise en service, ni frais masqué. Vous règlerez à chaque fin de mois, uniquement votre consommation réelle du mois.

0.5. METHODES ET TECHNIQUES

a) Méthode

Madeleine GRAWITZ définit la méthode comme  « ensemble des opérations intellectuelles par lesquelles une discipline cherche à atteindre les vérités qu'elle poursuit, les démontre, les vérifie».

Selon Larousse encyclopédique,  « la méthode est la démarche rationnelle de l'esprit, raisonnement tenu pour arriver à la connaissance ou à la démonstration d'une vérité ».

Il est important de signaler que les informations utilisées dans notre travail scientifique proviennent des interviews, des recherches sur Internet, des documents et mémoires écrits sur le sujet. Nous avons aussi essayé d'obtenir des renseignements des entreprises qui fournissent déjà des solutions cloud.

Ainsi, ce travail a fait appel à trois méthodes :

1. Méthode Structuro - Fonctionnelle :

Cette méthode est caractérisée par la recherche des impératifs fonctionnels et structurels pour maintenir l'équilibre d'un système. Elle nous a permis d'analyser et d'indiquer la structure organico-fonctionnelle des entreprises et du déploiement de la base de données.

2. Méthode Analytique :

Elle consiste à décomposer les éléments d'un système afin de mieux les définir, tel a été notre cas.

3. Méthode Historique  :

La méthode historique a pour objet l'explication des époques, des faits et des événements passées et de leur enchainement pour aboutir à la vérité des faits et ce pour l'utilisation systématique et la critique des documents.

b) TECHNIQUE

Une technique est l'ensemble de procédés exploités par les chercheurs dans la phase de la collecte des données qui intéressent cette étude.

1. Technique d'observation directe : Par la technique d'observation directe, nous entendons celle qui ouvre un contrat, une communication entre des êtres humains. Elle nous a permis d'être en communication avec les différentes entreprises.

2. Technique documentaire : Cette technique est ainsi désignée parce qu'elle met en présence le chercheur d'une part et de l'autre part des documents supposés contenir les informations recherchées.

0.6. INTERET ET CHOIX DU SUJET

Le choix de cette étude n'est pas le fait de hasard. Entant que finaliste en troisième année de graduat en Informatique de Gestion, il s'agit d'une opportunité de mener une étude sur le déploiement d'une base de données locale vers le cloud computing. Et ce travail nous permet d'obtenir le titre d'analyste programmeur en informatique.

Notre travail à un triple intérêt :

Ø Du point de vue scientifique : nous estimons que notre travail sera une clé de référence pour d'autres chercheurs qui vont aller dans ce domaine tout en mettant en pratique toutes les connaissances acquises au cours de notre formation pendant trois ans afin d'ajouter une pierre sur la construction du monde informatique.

Ø Du point de vue pratique : d'accomplir le devoir qu'a tout étudiant en général et tout analyste programmeur en particulier au terme de son cycle, celui de réaliser son étude, en implémentant un système informatique pouvant permettre le stockage des grandes masses d'informations.

Ø Du point de vue personnel : de découvrir ce que nous avons pu acquérir tout au long de notre premier cycle d'étude universitaire en Informatique de Gestion.

0.7. DELIMITATION DU SUJET

Etant donné que tout travail scientifique se limite sur un temps et dans un espace donné. Notre étude couvre une période de l'évolution de la technologie cloud sur Sql Azure Database de 2008 à 2014.

0.8. SUBDIVISION DU SUJET

Hormis l'introduction générale et la conclusion générale, notre travail est subdivisé en trois chapitres suivants :

- Chapitre I : CONCEPTS DE BASE

- Chapitre II : CLOUD COMPUTING

- Chapitre III : DEPLOIEMENT D'UNE BASE DE DONNEES VERS LE SQL AZURE

Chapitre I

Concepts de Base

SECTION I :

RESEAU INFORMATIQUE

1.1.1. Définition

1.1.1.1. Définition Générale

Le réseau est une structure, un ensemble qui relie plusieurs éléments entre eux selon une architecture, afin qu'ils communiquent, s'échangent intelligemment le travail pour une meilleure efficacité.

1.1.1.2. Définition Informatique

Un réseau informatique se compose de plusieurs ordinateurs reliés entre eux par des câbles, afin de pouvoir échanger des données et partager des ressources, tels que des imprimantes, de l'espace disque etc..

Il est l'ensemble des équipements informatiques interconnectés3(*).

1.1.1.3. Objectifs

Un réseau informatique a l'objectif de :

- Le partage de ressources (fichiers, applications ou matériels, connexion à l'internet, etc.) ;

- La communication entre personnes (courrier électronique, discussion en direct, etc.) ;

- La communication entre processus (entre des ordinateurs industriels par exemple) ;

- La garantie de l'unicité et de l'universalité de l'accès à l'information (bases de données en réseau).

1.1.2. Classification de réseau informatique

Parmi les réseaux informatiques, on distingue un certain nombre de réseau dont l'architecture et les technologies se différencient. On établit ainsi la classification suivant l'échelle géographique (selon la taille) et la classification selon le type :

1.1.1.4. La classification selon l'échelle géographique ou taille

Les réseaux sont divisés en quatre grandes familles : les PAN, LAN, MAN et WAN ;

a) PAN

Les réseaux personnes ou (Personal Area Network), interconnectent sur quelque mettre des équipements personnels tel que terminaux GSM, portable, organiseurs d'un même utilisateur.

b) LAN

Les réseaux locaux, ou (Local Area Network) correspond par leur taille aux réseaux intra entreprise.

Ils servent au transport des informations numériques de l'entreprise. En règle générale, les bâtiments à câbler s'étendent sur plusieurs centaines de mettre.

Les débits de ces réseaux vont aujourd'hui de quelques mégabits à plusieurs centaines de mégabits par seconde.

c) MAN

Les réseaux métropolitains, ou (Metropolitan Area Network), permettent l'interconnexion des entreprises ou éventuellement de particulier un réseau spécial à haut débit qui est géré à l'échelle d'une métropole.

Il doit être capable d'interconnecter les réseaux locaux de différents entreprises pour leur donner la possibilité de dialoguer avec l'extérieur .

d) WAN

Les réseaux étendus, ou (Wide Area Network), sont destinés à transporter les données numériques de distance à l'échelle d'un pays, voire d'un continent ou de plusieurs continents.

Le réseau est soit terrestre et il utilise dans ce cas des infrastructures au niveau du sol, essentiellement de grand réseau de fibre optique, soit hertzienne, comme les réseaux satellitaire.

1.1.1.5. La classification selon la topologie

Les réseaux peuvent être classés par type de modèle, architecture utilisé pour relier les machines le constituant. Il existe autant de topologies que de façons de connecter les matériels entre eux. Généralement on regroupe toutes ces possibilités en trois grandes formes de topologies.

Une topologie est l'arrangement physique et logique des ressources réseau.

Nous avons la topologie physique et logique.

v Topologie physique

La topologie physique est l'arrangement physique des matériels, c'est-à-dire la configuration ou l'organisation spéciale du réseau. Parmi les différents types de topologies physiques, nous avons :

v Topologie en bus : Cette topologie permet une connexion multipoint. Le bus est le support physique de transmission de l'information. Les machines émettent simplement sur le câble est défectueux, cassé, le réseau est paralysé. On trouve à chaque extrémité d'un brin des bouchons qui empêchent le signal de se réfléchir.

Figure 1 - 1 Topologie en bus

v Topologie en anneau : Chaque ordinateur, imprimante, est relié à un noeud central : hub ou Switch dans le cas d'un réseau Ethernet. Les performances du réseau vont alors dépendent principalement de ce noeud central.

Figure 1 - 2 Topologie en anneau

v Topologie en étoile il s'agit de la topologie en bus que l'on a refermé sur elle-même. Le sens de parcours du réseau est déterminé-ce qui évite les conflits. Les stations sont actives : c'est-à-dire qu'elles régénèrent le signal. Généralement cette topologie est active avec un deuxième anneau et un système de bouclage sur les stations. Ainsi si un poste est en passe il est supprimé logiquement de l'anneau. Ce dernier peut alors continuer à fonctionner. Ces topologies peuvent être déclinées en un grand nombre de possibilité en fonction des besoins, du coût, et de la politique de connexion. Cette possibilité d'interconnexion totale permet de sécuriser le réseau par contre elle est couteuse en câble et en matériels. Cette topologie permet de fiabiliser le réseau et de diminuer la charge réseau sur le bus principal. Les données circulent toujours dans le même sens. Chaque matériel reçoit à son tour les données, teste au niveau de la couche 2 si cela la concerne.

Figure 1 - 3 Topologie en étoile

1.1.1.6. Classification selon l'architecture

1.1.1.6.1. L'architecture Client-serveur

L'architecture client-serveur s'appuie sur un poste central, le serveur, qui envoi des données aux machines clientes. Des programmes qui accèdent au serveur sont appelés programmes clients (client FTP, client mail).

a) Avantages de cette architecture

· Unicité de l'information : pour un site web dynamique par exemple (comme vulgarisation-informatique.com), certains articles du site sont stockés dans une base de données sur le serveur. De cette manière, les informations restent identiques. Chaque utilisateur accède aux mêmes informations.

· Meilleure sécurité : Lors de la connexion un PC client ne voit que le serveur, et non les autres PC clients. De même, les serveurs sont en général très sécurisés contre les attaques de pirates.

· Meilleure fiabilité : En cas de panne, seul le serveur fait l'objet d'une réparation, et non le PC client.

· Facilité d'évolution : Une architecture client/serveur est évolutive car il est très facile de rajouter ou d'enlever des clients, et même des serveurs.

Figure 1.4 Une architecture client/serveur

b) Inconvénients de cette architecture

§ Un coût d'exploitation élevé (bande passante, câbles, ordinateurs surpuissants)

Le client pour recevoir des informations du serveur lui émet une requête passant par un port du PC (exemple : port 25 pour les mails, port 80 pour le web et 21 pour le FTP). Le serveur lui envoi ensuite les informations grâce à l'adresse IP de la machine cliente.

1.1.1.6.2. L'architecture Peer to Peer (égal à égal)

Cette architecture est en fait un réseau sans serveur constitué de deux ou plusieurs ordinateurs. Les ressources sont donc libres de partage ou non.

a) Les avantages du Peer to Peer

Cette architecture propose quelques avantages :

v Un coût réduit

v Simplicité d'installation

v Rapidité d'installation

b) Inconvénients de cette architecture

Les inconvénients sont assez nombreux en ce qui concerne le Peer to Peer :

v Une sécurité parfois très faible. (c'est mieux de se protégé avec des firewalls)

v La maintenance du réseau difficile. En effet, chaque système peut avoir sa propre panne et il devient impossible de l'administrer correctement.

Cette architecture est donc réservée à des milieux ne nécessitant pas une grande protection des données et n'ayant pas beaucoup d'utilisateurs (une quinzaine maximum) :

v Les petites entreprises n'ayant rien à cacher (sécurité aléatoire)

v Une configuration avec les ordinateurs proches les uns des autres

v L'entreprise aura moins de 15 utilisateurs (donc évolution restreinte)

v c) Administration d'un réseau Peer to Peer

L'administration d'un réseau Peer to Peer est faite par l'utilisateur de l'ordinateur. Elle ne touche que son ordinateur et pas ceux des autres PC :

v Gestion de la sécurité

v Partage des données

v Actualisation des données

d) Sécurité d'un réseau Peer to Peer

On entend par sécurité bien sûr le fait qu'un autre utilisateur ne puisse accéder à vos données sans votre accord. Voici les règles de base :

v Mettez des mots de passe aux données, même si elles ne se situent pas dans des répertoires partagés.

v Ne partagez qu'un dossier qui contiendra tout ce que vous souhaitez partager (administration plus facile)

v Utilisez un bon firewall (dans le cas de programmes d'échanges de fichiers comme kazaa, etc.)

1.1.3. Les réseaux sans fil

1.1.3.1. Définition

Un réseau sans fil (en anglais Wireless Network) est un réseau dans lequel au moins deux terminaux peuvent communiquer sans liaison filaire.

Les réseaux sans fil sont basés sur une liaison utilisant, des ondes radioélectriques (radio et infrarouges) en lieu et place des câbles habituels.

Il existe plusieurs technologies se distinguant de la fréquence d'émission utilisée ainsi que le débit et la portée des transmissions.

Les réseaux sans fil permettent de relier très facilement, des équipements distants d'une dizaine de mètre à quelques kilomètres.

1.1.3.2. Les différents types de réseau sans fil

On distingue plusieurs catégories de réseaux sans fil, selon la zone de couverture.

v Les réseaux personnels sans fil (WPAN)

Le réseau personnel sans fil (appelé également réseau individuel sans fil ou réseau domestique sans fil et noté WPAN : Wireless Personal Area Network), concerne les réseaux sans fil d'une faible distance (environ 10 mètres).Il existe plusieurs technologies utilisées pour les WPAN :

· Les technologies utilisées pour les WPAN La principale technologie est Bluetooth, proposant un débit théorique de 1Mbps pour une portée maximale d'une trentaine de mètres. Bluetooth, connu aussi sous le nom IEEE 802.15.1.

· Home RF (Home Radio Frequency), lancée par le HomeRF Working Group (formé notamment par les constructeurs Compaq, HP, Intel, Siemens, Motorola et Microsoft) propose un débit théorique de 10 Mbps (une portée d'environ 50 à 100 mètres sans amplificateur. Cette technologie fut remplacée par le Wi-Fi avec incorporation d'un microprocesseur et un adaptateur Wi-Fi)

· La technologie ZigBee (connue sous le nom IEEE 802.15.4) permet d'obtenir des liaisons sans fil.

v Les réseaux locaux sans fils (WLAN)

Le réseau local sans fil (WLAN pour Wireless Local Area Network) est un réseau permettant de couvrir, l'équivalent d'un réseau local d'entreprise, soit une portée d'environ une centaine de mètres.

v Les réseaux métropolitains sans fil (WMAN)

Le réseau métropolitain sans fil (WMAN : Wireless Métropolitain Area Network) est connu sous le nom de Boucle Locale Radio (BLR).

Les WMAN sont basés sur la norme IEEE 802.16. La Boucle Locale Radio offre, un débit utile de 1 à 10 Mbit/s pour une portée de 4 à 10 Km, ce qui destine principalement cette technologie aux opérateurs de télécommunication.

v Les réseaux étendus sans fil (WWAN)

Le réseau sans fil (WWAN : Wireless Wide Area Network) est également connu sous le nom de réseau cellulaire mobile.

Il s'agit des réseaux sans fil les plus répandus puisque tous les téléphones mobiles sont connectes à un réseau étendu sans fil. Les principales technologies sont les suivantes :

ü GSM (Global System for Mobile Communication (Groupe Spéciale Mobile)

ü GPRS (General packet Radio Service)

ü UMTS (Universal Mobile Telecommunications System)

1.1.4. MODELE OSI (Open System Interconnect)

L'OSI est un modèle de base qui a été défini par l'International Standard Organisation. Cette organisation revient régulièrement pour normalisé différents concepts, tant en électronique qu'en informatique.

Ce modèle définit 7 niveaux différents pour le transport de données. Ces niveaux sont également appelés couches.

Modèle fondé sur un principe énoncé par Jules César : Diviser pour mieux régner.

Le modèle OSI est un modèle préconisant un certain nombre de règles à mettre en place pour interconnecter un ensemble d'équipement. Le modèle OSI est un modèle abstrait qui définit une terminologie, décompose les systèmes de communication en sous ensemble fonctionnels appelés couches.

L'OSI a pour but de spécifier les communications entre systèmes informatiques ouverts.

L'OSI a décomposé les fonctions nécessaires à la communication entre systèmes. Ces fonctions sont réparties en 7 couches hiérarchisées regroupées dans le "Modèle de référence" (IS 7498). Ce modèle est avant tout abstrait. Les spécifications définissent l'interaction entre les systèmes et non pas le fonctionnement interne des systèmes.

Système très hiérarchisé : 7 couches et plusieurs sous-couches.

· Principes

o Regroupement de fonctions similaires dans une même couche,

o Interface avec les couches immédiatement supérieure et inférieure,

o Modifier une couche sans affecter les autres.

Modèle d'architecture générique. Plusieurs tentatives d'implémentations par les constructeurs. Aujourd'hui le modèle est conservé mais les protocoles sont abandonnés.

a) Les sept couches du modèle d'OSI

La modélisation qui résulte de l'effort de normalisation se nomme OSI (Open System Interconnexion), elle permet de découper un problème de communication et se décompose en sept couches.

Pour échanger des données entre deux utilisateurs, différentes fonctions doivent être réalisées.

Ces fonctions sont regroupées en « couches ».

Une couche est un domaine de normalisation où seront fixées les règles de communication (les protocoles) qui permettent aux mêmes couches de deux systèmes différents de se parler, et des services qui définissent les fonctions de chaque couche.

Le nom de « couche » montre bien le cloisonnement de l'architecture. Les couches du modèle OSI sont numérotées de 1 à 7, chaque couche des sept couches de ce modèle représente une fonction nécessaire à la communication. Cette répartition en couche a pour but de rendre les différentes fonctions aussi distinctes et indépendantes que possible, de manière à ce qu'une modification au niveau d'une d'elles ne nécessite pas forcement de changement au niveau des autres. Dans ce modèle, chaque couche est censée fournir des services aux couches supérieures et utiliser des données des couches inférieures.

Couches

Fonctions

Niveau 1

Couche Physique

La couche physique assure un transfert de (bits) sur le support physique. Elle regroupe les entités permettant l'interface avec le support physique aussi bien mécanique, qu'électrique ou procédural.

Niveau 2

Couche de Liaison des données

La couche de liaison assure, sur la ligne, un service de transfert de blocs de données (trames), entre deux systèmes adjacents en assurant le contrôle, l'établissement , le maintien et la libération du bien logique entre les entités. Elle permet aussi, de détecter et de corriger les erreurs inhérentes aux supports physiques.

Niveau 3

Couche Réseau

La couche réseau met en oeuvre les fonctions de routage de données (paquets) à travers les différents noeuds d'un sous - réseau, de prévention de la congestion, l'adaptation de la taille des blocs de données aux capacités du sous - réseau physique utilisé.

Niveau 4

Couche Transport

La couche transport assure le transfert de bout en bout (d'utilisateur final à utilisateur final), des informations (messages) entre les deux systèmes d'extrémité.

La couche transport doit également assurer aux couches hautes un transfert fiable quel que soit la qualité du sous - réseau de transfert utilisé.

Niveau 5

Couche Session

La couche session gère l'échange de données (transaction) entre les applications distantes : elle synchronise les échanges et définit des points de reprise sur incidents.

Niveau 6

Couche présentation

La couche présentation assure la mise en forme des données, la conversion de codes nécessaires pour délivrer à la couche supérieure un message compréhensible.

Niveau 7

Couche d'application

La couche application comprend les programmes d'applications ainsi que des fonctions applicatives génériques permettant le développement d'applications distribuées.

Tableau 1 - 1 Les Sept couches du Modèle OSI

Remarque :

La couche liaison de données est divisée en deux sous-couches :

§ La couche LLC (Logical Link Control, contrôle de liaison logique) qui assure le Transport des trames et gère l'adressage des utilisateurs, c'est à dire des logiciels des couches supérieures (IPX, IP, ...

§ La couche MAC (Medium Access Control, contrôle d'accès au support) chaque carte réseau a une adresse physique unique (adresse MAC)) qui structure les bits de données en trames et gère l'adressage des cartes réseaux.

b) Communication entre les couches

La mise en relation d'équipement d'origines diverses nécessite l'utilisation de technique de connexion compatibles (raccordement, niveaux électrique, protocoles.....). La description de ces moyens correspond à une structure de communication appelé architecture de communication. Architecture de deux systèmes reliés par des relais (commutateurs ou routeurs). On remarque que chaque couche à ses propres règles de dialogues avec son homologue.

Les systèmes relais (réseaux, routeurs, etc....) peuvent être très nombreux entre les systèmes d'extrémité (SE) (exp : station connectée sur serveur Web). Le fait de mettre des relais entre des SE, revient à faire de l'interconnexion de réseaux.

Application

Présentation

Transfert

Réseau

Session

Liaison données

Physique

Application

Présentation

Transfert

Réseau

Session

Liaison données

Physique

1

2

3

4

6

7

5

1

2

3

4

6

7

5

Support physique de transmission

B

Récepteur

A

Emetteur

Imaginons 2 systèmes voulant se transmettre des informations.

Figure 1.5 Communication entre les couches

Une application du système A veut émettre des données vers une application du système B. L'information va partir de la couche 7 du système A va atteindre la couche 1 du système A va passer par le système de transmission (câble, satellite ...) pour arriver à la couche 1 du système B qui va faire remonter l'information vers la couche 7 du système B.

L'unité la plus petite est le bit et se situe au niveau de la couche physique. Aucune donnée n'est directement échangée d'une couche d'un système A vers une couche d'un système B hormis au niveau de la couche physique. Par contre "logiquement", une couche d'un système à discuter avec la même couche d'un système B.

Les données émises d'un système A à un autre et encapsulé par le système A. Quand le système B veut comprendre les données émises par le système A, il "décapsule" les couches successives.

On distingue plusieurs classes de transport suivant la qualité des couches précédentes. Plus les couches inférieures sont complètes, moins la couche transport travaille et réciproquement.

c) L'encapsulation

Les données des utilisateurs traversent toutes les couches du modèle OSI jusqu'au niveau physique qui génère le signal transmis sur le media. Chaque couche rajoute des informations de contrôle du protocole. C'est l'encapsulation des données. Cet ajout détériore les performances de débit mais sont nécessaires pour assurer les services des différentes couches : adressage, contrôle d'erreurs, contrôle de flux...

A chacun de ces niveaux du modèle OSI, on encapsule un en-tête et une fin de trame (message) qui comporte les informations nécessaires en suivant les règles définies par le protocole utilisé. Ce protocole est le langage de communication pour le transfert des données (TCP/IP, NetBui, IPX sont les principaux) sur le réseau informatique. Sur le schéma ci - dessous, la partie qui est rajoutée à chaque niveau est la partie sur fond blanc. La partie sur fond grisé est celle obtenue après encapsulation du niveau précédent. La dernière trame, celle qu'on obtient après avoir encapsulé la couche physique, est celle qui sera envoyée sur le réseau.

d) Correspondance entre les couches du modèle OSI et les types de composants réseau

Couche du modèle OSI

Composant réseaux

Couche 1 + Couche 2 +Couche 3 : Réseau

Routeurs

Couche 1 +Couche 2 : Liaison des données

Ponts et commutateurs

Couche 1 : Physique

Câbles et concentrateurs (hub)

Tableau 1-2 Correspondance entre les couches et composants réseau

1.1.4. Notion de Protocole

Un protocole est une série d'étapes à suivre pour permettre une communication harmonieuse entre plusieurs ordinateurs. Internet est un ensemble de protocoles regroupés sous le terme "TCP-IP" (Transmission Control Protocol/Internet Protocol). Voici une liste non exhaustive des différents protocoles qui peuvent être utilisés :

v HTTP : (Hyper Texte Transfert Protocol) : c'est celui que l'on utilise pour consulter les pages web.

v FTP : (File Transfert Protocol) : C'est un protocole utilisé pour transférer des fichiers.

v SMTP : (Simple Mail Transfert Protocol) : c'est le protocole utilisé pour envoyer des mails.

v POP : C'est le protocole utilisé pour recevoir des mails

v Telnet : utilisé surtout pour commander des applications côté serveur en lignes de commande

v IP (internet Protocol) : L'adresse IP vous attribue une adresse lors de votre connexion à un serveur.

Les protocoles sont classés en deux catégories :

ü Les protocoles où les machines s'envoient des accusés de réception (pour permettre une gestion des erreurs). Ce sont les protocoles "orientés connexion".

ü Les autres protocoles qui n'avertissent pas la machine qui va recevoir les données sont les protocoles "non orientés connexion"

1.1.5. Base de données

1.1.4.1. Définition

Une base de données (en anglais : database) est un outil permettant de stocker et de retrouver l'intégralité de données brutes ou d' informations en rapport avec un thème ou une activité ; celles-ci peuvent être de natures différentes et plus ou moins reliées entre elles4(*).

Dans la très grande majorité des cas, ces informations sont très structurées, pour permettre des opérations, parfois très complexes, de lecture, suppression, déplacement, tri, comparaison, etc.

La base est localisée dans un même lieu et sur un même support. Ce dernier est généralement informatisé.

La base de données est au centre des dispositifs informatiques de collecte, mise en forme, stockage, et utilisation d'informations. Le dispositif comporte un système de gestion de base de données (abr. SGBD) : un logiciel moteur qui manipule la base de données et dirige l'accès à son contenu. De tels dispositifs -- souvent appelés base de données -- comportent également des logiciels applicatifs, et un ensemble de règles relatives à l'accès et l'utilisation des informations 2.

La manipulation de données est une des utilisations les plus courantes des ordinateurs. Les bases de données sont par exemple utilisées dans les secteurs de la finance, des assurances, des écoles, de l'épidémiologie, de l'administration publique (statistiques notamment) et des médias.

Lorsque plusieurs bases de données sont réunies sous forme de collection, on parle alors d'un entrepôt de données (en anglais : data warehouse).

1.1.4.2. Différence entre une base de données et un fichier de données

Par opposition au terme fichier de programme, un fichier de donnés est un ensemble organisé d'enregistrements, traité comme une unité et contenant de l'information textuelle et/ou sonore et/ou graphique sous forme numérique.

Mis à part une différence que nous pouvons tirer du point de vue des définitions des deux concepts (fichiers de données et base de données), une différence plus flagrantes s'impose : « on utilise une BD pour des données de nature diverses et une BD offre la possibilité de créer de nombreux liens entre ces données; par contre avec des fichiers nous ne pouvons utiliser que des données homogènes même si elles sont importantes en volume »

1.1.4.3. Typologie des bases de données

Les bases de données peuvent être classifiées en fonction du nombre d'usagers un seul, un petit groupe, voire une entreprise. Dans ce cas on parle de :

· Base de données de bureau : installée sur un ordinateur personnel au service d'un seul usager

· Base de données d'entreprise : installée sur un ordinateur puissant au service de centaines d'utilisateurs.

· Base de données centralisée est installée dans un emplacement unique ;

· base de données distribuée est répartie entre plusieurs emplacements5(*)

La typologie la plus populaire des bases de données est selon l'usage qui en est fait, et l'aspect temporel du contenu:

· Les bases de données dites opérationnelles ou OLTP (de l'anglaise online transaction processing) sont destinées à assister des usagers à tenir l'état d'activités quotidiennes. Elles permettent en particulier de stocker sur le champ les informations relatives à chaque opération effectuée dans le cadre de l'activité: achats, ventes, réservations, payements. Dans de telles applications l'accent est mis sur la vitesse de réponse et la capacité de traiter plusieurs opérations simultanément6(*).

· Les bases de données d'analyse dites aussi OLAP (de l'anglais online analytical processing), sont composées d'informations historiques telles que des mesures sur lesquelles sont effectuées des opérations massives en vue d'obtenir des statistiques et des prévisions.

· Les bases de données sont souvent des entrepôts de données (anglais datawarehouse): des bases de données utilisées pour collecter des énormes quantités de données historiques de manière quotidienne depuis une base de données opérationnelle. Le contenu de la base de données est utilisé pour effectuer des analyses d'évolution temporelle et des statistiques telles que celles utilisées en management. Dans de telles applications l'accent est mis sur la capacité d'effectuer des traitements très complexes et le logiciel moteur (le SGBD) est essentiellement un moteur d'analyse7(*).

1.1.4.4. Avantage des bases de données

Les bases de données sont bien plus efficaces lorsqu'il s'agit de retrouver des informations. Vous pouvez poser une question à une base de données, par exemple : « Combien de centre hospitalier le patient a fréquenté durant les 5 dernières années » ou « Quel patient a souffert de telle maladie », et recevoir immédiatement la réponse.

Qui dit bases de données, dit également précision. Dotées de listes déroulantes attractives, de rubriques renseignées automatiquement et de bien d'autres fonctions encore, les bases de données accélèrent la saisie des données et veillent à leur cohérence.

La souplesse des impressions est l'un des autres points forts des bases de données. Qu'il s'agisse d'imprimer des étiquettes de publipostage, des rapports, des factures, des badges en vue de l'organisation d'une manifestation ou de formulaires papier, tout est plus simple avec les bases de données.

1.1.4.5. Caractéristiques des bases de données

Les bases de données sont caractérisée par leur capacité à :

* Ne pas accepter la redondance, c'est-à-dire aucune donnée ne sera répétée dans la base de données ;

* Ne pas permettre l'incohérence des données ;

* Offrir une structuration optimale des données être dans la base de données ;

* Assurer la sécurité des informations ;

* Etre indépendante des programmes et des données et à permettre la prise en compte facile de nouvelles applications.

1.1.6. Système de gestion des bases de données

1.1.4.6. Définition

Un système de gestion de base de données (SGBD) est un ensemble de programmes qui permet la gestion et l'accès à une base de données. Il héberge généralement plusieurs bases de données, qui sont destinées à des logiciels ou des thématiques différentes8(*).

1.1.4.7. Fonctionnement d'un SGBD

On distingue couramment les SGBD classiques, dits SGBD relationnels (SGBDR), des SGBD orientés objet (SGBDO). En fait, un SGBD est caractérisé par le modèle de description des données qu'il supporte (relationnel, objet etc.). Les données sont décrites sous la forme de ce modèle, grâce à un Langage de Description des Données (LDD). Cette description est appelée schéma. Une fois la base de données spécifiée, on peut y insérer des données, les récupérer, les modifier et les détruire. Les données peuvent être manipulées non seulement par un Langage spécifique de Manipulation des Données (LMD) mais aussi par des langages de programmation classiques.

Actuellement, la plupart des SGBD fonctionnent selon un mode client/serveur. Le serveur (sous-entendu la machine qui stocke les données) reçoit des requêtes de plusieurs clients et ceci de manière concurrente. Le serveur analyse la requête, la traite et retourne le résultat au client.

Quel que soit le modèle, un des problèmes fondamentaux à prendre en compte est la cohérence des données. Par exemple, dans un environnement où plusieurs utilisateurs peuvent accéder concurremment à une colonne d'une table par exemple pour la lire ou pour l'écrire, il faut s'accorder sur la politique d'écriture. Cette politique peut être : les lectures concurrentes sont autorisées mais dès qu'il y a une écriture dans une colonne, l'ensemble de la colonne est envoyée aux autres utilisateurs l'ayant lue pour qu'elle soit rafraîchie.

1.1.4.8. Typologie d'un SGBD

Les premiers S.G.B.D. sont apparus dans les années 1960 lorsqu'on s'est rendu compte que pour stocker les données d'une application sur des fichiers il fallait, chaque fois, un grand effort pour l'encodage et la gestion des informations. L'utilisation de formats de fichiers spécifiques à chaque application était également une barrière importante pour le partage d'informations entre plusieurs applications. L'idée principale fut alors d'introduire, entre le système d'exploitation et les applications, une couche de logiciel spécialisée dans la gestion de données structurées. L'un des premiers systèmes de grande ampleur à implanter une telle couche fut le système IMS avec le langage DL/1 (data language one), basé sur un modèle hiérarchique pour la représentation des données.

a. Modèle hiérarchique

Le modèle hiérarchique, premier modèle de SGBD, est un formalisme de base de données dont le système de gestion lie les enregistrements dans une structure arborescente où chaque enregistrement n'a qu'un seul possesseur. Elle a été utilisée dans les premiers systèmes de gestion de base de données de type mainframe et a été inventé par la NASA.

b. Modèle réseau

Ce modèle est une extension du modèle précédent (hiérarchique), et est en mesure de lever de nombreuses difficultés du modèle hiérarchique grâce à la possibilité d'établir des liaisons de type n-n (plusieurs enregistrement pour plusieurs possesseurs) en définissant des associations entre tous les types d'enregistrements.

Les deux paradigmes (hiérarchie et réseau) étaient fondés sur des langages navigationnels qui nécessitaient une connaissance fine de la structuration des données pour leur exploration et leur interrogation.

c. Modèle relationnel

En 1970, Ted Codd (A. M. Turing Award 1981), proposa de faciliter et d'optimiser l'interaction avec les S.G.B.D. en utilisant le modèle relationnel pour la représentation des données. Dans ce modèle ensembliste, l'information est organisée en plusieurs tables ou relations homogènes qui peuvent être interrogées et combinées grâce à des opérateurs ensemblistes. Le succès du modèle relationnel dans les S.G.B.D. modernes tient à sa simplicité (on n'est pas obligé de connaître les détails d'implémentation pour interroger la base), ses fondements logiques et son efficacité (il existe des algorithmes et des structures de données efficaces pour manipuler les données)9(*).

Le modèle relationnel est destiné à assurer l'indépendance des données et à offrir les moyens de contrôler la cohérence et d'éviter la redondance. Comme dit ci-haut, Il permet de manipuler les données comme des ensembles et d'effectuer des opérations de la théorie des ensembles. Les règles de cohérence qui s'appliquent aux bases de données relationnelles sont l'absence de redondance ou de nul des clés primaires, et l' intégrité référentielle. Depuis 2010 la majorité des SGBD sont quasiment de type relationnel:

d. Orienté objet(SGBDO)

Le modèle SGBDO est un modèle relationnel mais auquel on rajoute des notions objets, avec stockage ou non des objets dans des tables.

Vous vous demandez c'est quoi un objet ? Pas de soucis. En informatique, un objet est un conteneur symbolique, qui possède sa propre existence et incorpore des informations et des mécanismes10(*), éventuellement en rapport avec une chose tangible du monde réel, et manipulés dans un programme. C'est le concept central de la programmation orientée objet.

Il existe d'autres types de SGBD non référencés ou cités dans ce travail et dont l'apparition remonte dans les années 1990. Il s'agit des modèles semi-structurés, mieux adaptés à la gestion et à l'intégration de documents hétérogènes tels qu'ils sont publiés sur le Web. Le standard XML est un représentant de ce type de modèles.

Chapitre II

Le Cloud Computing

Le Cloud est apparu, pour satisfaire l'exploitation des services et des espaces de stockage informatiques disponibles chez un fournisseur, par des clients qui sont des entreprises externes. Les méthodes utilisées pour finaliser le service entre un fournisseur et un client final, se présentent sous quatre formes : l'application, la plate-forme, l'infrastructure et les données. L'application reste en contact direct avec le client. La plate-forme réalise l'application. L'infrastructure supporte la plate-forme et les données sont délivrées sur demande.

Les services offerts par le Cloud Computing, proviennent d'énormes centrales numériques appelées datacenters, qui utilisent des logiciels basés sur les techniques virtuelles. A cause de leur coût d'investissement initial, ces types d'appareils ne sont accessibles que par des grosses sociétés. Elles sont alors mises à la disposition des clients, par leurs intermédiaires. Cependant, après l'adoption du Cloud, les usagers se soucient beaucoup du problème de performance, de disponibilité d'accès des données, de leur sécurité et de leur intégrité.

Si vous êtes intéressés, les possibilités informatiques qui vous sont présentées, ont en général des dimensions modulables au cours du temps. Sans avoir à acheter de grosses unités avec de gros serveurs, vous disposez d'une capacité de stockage infinie. Il vous suffirait de quelques minutes pour actionner un nouveau serveur dans le Cloud. Vos pointes de charges sont facilement absorbées, grâce aux processeurs et aux réseaux de haute performance. La disponibilité des ressources est assurée par contrat type SLA ou Service Level Agreement. Le fournisseur peut vous garantir par exemple, une indisponibilité inférieure à 5 minutes par an, sinon il vous rembourse.

Le respect de la qualité de service dans un Cloud, fait appel à la mise en place d'un moyen de mesure fiable et impartial, par le biais d'une approche réseau. C'est le SLM ou Service Level Management, qui accompagne le SLA. Dans un premier temps, vous pouvez opter pour l'installation d'un processus de tests sur le plan protocolaire. Pour les réseaux IP par exemple, deux familles, la RFC 2330 pour l'IETF et l'Y.1540 pour l'ITU-T, ont apporté la Qualité de Service des réseaux IP. Par ailleurs, les équipes travaillant pour un Cloud, restent présentes sur site en 24 x 7. Ce principe permet de satisfaire tous les clients du monde, indépendamment des décalages horaires.

La correction de la norme RF544, prévue pour suivre les performances d'un matériel particulier au niveau Ethernet, apporta l'IUT-TY.1564. Ce dernier amena des services, des débits de tests, le CIR, l'EIR et l'Overshoot. Il donna également, deux types de test pour la configuration et la performance, et quatre métriques pour le débit, la latence, la gigue et la perte.

L'adoption d'un Cloud, apporte des avantages certains pour les entreprises. Outre la limitation de ses machines informatiques, qui dispense de toutes les activités de maintenance et de prestations, elles participent à la sauvegarde de l'environnement. Finis les recherches et les achats de logiciels, aussi simples que complexes. Finis les licences serveurs et clientes.

Elles éviteront les batailles avec les problématiques liés aux données, comme les backups, et ceux liés aux calculs, comme l'insuffisance des ressources CPU. Elles ne se soucieront ni des différents tests inhérents aux nouveaux logiciels, ni de leurs mises à jour, qui prennent beaucoup de temps. Peu leur importe les changements de normes ou l'internationalisation des SI. La seule occupation de l'entreprise client, est de sortir ou rentrer ses données, avec un minimum de suivi interne. L'économie est saine et nette !

2.1. DEFINITION

Le coud computing est un ensemble de services qui permet à un utilisateur, de transférer ses stockages et ses traitements informatiques, depuis un ou plusieurs de ses serveurs locaux, vers d'autres serveurs extérieurs.

2.2. BREF APERCU DU CLOUD

Le cloud computing est une expression imagée désignant un ensemble de technologies matérielles et logicielles qui offrent à un utilisateur ou à une entreprise le moyen d'accéder en libre-service, n'importe quand et n'importe où, à des fichiers personnels, des applications logicielles opérationnelles ou toute autre ressource numérique au travers d'une infrastructure réseau fiable et sécurisée11(*). Traduit en français par informatique dans les nuages, informatique dématérialisée ou encore informatique virtuelle, ce concept rend possible l'externalisation de la puissance de calcul et de stockage. Il permet de déporter, sur des serveurs distants, des traitements informatiques traditionnellement exécutés sur la machine locale de l'utilisateur.

L'intérêt d'une telle approche est double : la machine client de l'utilisateur devient un simple terminal peu gourmand en ressources, et la gérance informatique n'est plus assurée localement sur chaque poste mais de manière globale et unifiée par un prestataire tiers. L'utilisateur a virtuellement les avantages d'un accès garanti à une capacité de calcul et à un espace de stockage modulables (voire infinis), sans les inconvénients d'installation, de maintenance logicielle, de sécurisation et de sauvegarde de données.

Pour l'entreprise, le cloud computing correspond à une utilisation systématique et raisonnée de technologies éprouvées avec pour objectif de diminuer considérablement les coûts associés à la gestion des ressources et des services informatiques. La charge de cette gestion peut même être confiée comme mission à une entreprise externe spécialisée, en partie ou en totalité. En cela, le cloud computing est avant tout un principe économique et non technologique.

2.3. HISTORIQUE

Comme tous les concepts relevant autant de l'économie que de la technologie, il est difficile de dire avec précision quand a été inventé le cloud computing12(*). Selon certains, il faut remonter en 1960, avec les travaux de l'Américain John McCarthy (1927-2011), un des pionniers de l'intelligence artificielle qui considérait d'emblée l'informatique comme un service. Selon une autre source, c'est l'avènement des réseaux dans les années 1970 qui a rendu possible l'exécution déportée des tâches informatiques.

D'autres enfin mentionnent le fait qu'Amazon, site de commerce électronique de dimension mondiale, a trouvé dans le cloud computing une solution élégante à la sous-utilisation de son parc de serveurs informatiques en dehors des périodes de fête (qui représentent en termes de commandes un pic temporel ponctuel d'utilisation). En louant ses serveurs à la demande et en proposant à ses clients ses outils S3 (simple storage service) et E (elastic compute cloud), qui offrent respectivement des services de stockage de données et de calcul, Amazon a pu rentabiliser ses propres investissements en matériel informatique.

L'expression « cloud computing » a, quant à elle, été citée pour la première fois en 1997 par un professeur en systèmes de l'information, Ramnath Chellappa, qui a défini les limites de l'informatique non en termes techniques mais en termes économiques. D'autres sociétés, comme Salesforces, Google 101, ou IBM ont commencé dès 1999, à développer une économie numérique fondée sur ces principes. Toutes ces entreprises de dimension mondiale participent de manière active à la création de centres (data-centers ou clusters) offrant une puissance de calcul et de stockage inégalée. Ces data-centers sont un des enjeux stratégiques majeurs de la décennie 2015-2025.

2.4. ENJEUX ECONOMIQUES

Selon le cabinet d'études IDC, les dépenses en matière de Cloud Computing vont croître au cours des 5 prochaines années, aussi bien dans le domaine du Cloud public que dans celui du Cloud privé. Comment aborder, financièrement, ce passage au Cloud en entreprise ?

« Malgré les incertitudes économiques actuelles, IDC prévoit que les fournisseurs de services Cloud - à la fois publics et privés - seront parmi les plus dépensiers parmi les fournisseurs de produits et services IT », avance Richard Villars, vice- président systèmes de stockage chez IDC. Une bonne nouvelle pour les fournisseurs du secteur du Cloud. Voici les objectifs financiers majeurs à garder à vue pour une entreprise se tournant vers le Cloud.

· Stockage local et infrastructures internes

Le premier point concerne logiquement le stockage local. Bien entendu, les frais liés au stockage local des données sont amenés à diminuer lors du passage au Cloud. Cette transition va ainsi abaisser les coûts permanents associés à l'archivage d'informations à long terme.

Dans un second temps, cela peut également amener une restriction voire une disparition des investissements internes en matière d'infrastructure informatique lors de charges de travail imprévisibles : l'entreprise peut facilement et rapidement exploiter une solution PaaS ou SaaS.

Ensuite, en passant à une interface SaaS développée selon le mode de fonctionnement de l'entreprise, celle-ci peut également permettre une optimisation des applications de gestion de l'information au sein d'une entreprise. Ainsi, les mails, les services de messagerie instantanée ou encore un Intranet transférés dans le Cloud sont disponibles plus facilement, à un coût d'accession moindre.

· Quantifier le gain de productivité : mission impossible ?

Enfin, une dernière donnée plus difficilement quantifiable est à prendre en compte lors d'un éventuel passage d'une entreprise vers le Cloud : le gain de productivité et de temps. Avec une information accessible plus facilement et plus rapidement, combiné à une flexibilité importante en matière d'infrastructure informatique sans oublier l'externalisation de gestion du stockage des informations, cela permet aux différents acteurs de se recentrer sur leur tâche principale, et ce à tous les échelons de l'entreprise.

Cependant, il faut garder à l'esprit que le passage au Cloud implique également une attention forte pour ne pas perdre, après quelques mois d'utilisation, les gains économiques envisagés. Dans le Cloud comme au sein d'un Service Informatique (SI) classique, la gestion des identités et de leur contrôle sur le service exploité est essentielle pour aboutir à une maîtrise durable des coûts.

2.5. ARCHITECTURES

Le Cloud est donc ainsi, la mise en disponibilité, ou la flexibilité de ces quatre formes qui ne peuvent pas s'imbriquer. On trouve en général les termes suivants, pour désigner la transformation en Cloud de ces formes. Le « Software as a Service », ou SaaS, qui est le découpage de l'application en services. La « Platform as a Service » ou PaaS, est la plate-forme granulaire. « L'Infrastructure as a Service » ou IaaS, est l'infrastructure virtualisée et le « Data as a Service » ou le DaaS, concerne les données livrées à un endroit précis13(*).

a) IaaS (Infrastructure as a Service)

Dans le modèle IaaS, seul le matériel (serveurs, baies de stockage, réseaux) qui constitue l'infrastructure est hébergé chez un prestataire ou un fournisseur. Avec l'IaaS, l'entreprise bénéficie d'une infrastructure mutualisée (pour des raisons évidentes de coûts des matériels) et automatisée. Avec un modèle IaaS très flexible, l'entreprise peut diminuer ou augmenter ses ressources IT en fonction de ses besoins actuels et futurs.

b) Paas (Platform as a Service)

Le modèle PaaS se place sur le niveau supérieur de l'IaaS en offrant aux entreprises un environnement leur permettant de déployer leurs développements. Le PaaS fournit ainsi des langages de programmation, des bases de données et différents services pour faire fonctionner leurs applications. De plus, il automatise entièrement le déploiement (mises à jour, correctifs, etc.) et la montée en charge.

c)  SaaS (Software as a Service)

Le modèle SaaS fournit des applications à l'utilisateur sous la forme d'un service prêt à l'emploi qui ne nécessite aucune maintenance : les mises à jour étant régulièrement faites par l'éditeur. Il est donc perçu, à juste titre par les utilisateurs, comme un modèle de consommation des applications.

d) DaaS (Data as a Service)

Le Data as a Service (DaaS) est le service du cloud qui permet aux entreprises d'accéder à des bases de données distantes pour y lire et écrire des données. Le DaaS est un service de stockage de données qui offre aux utilisateurs de très fortes garanties d'intégrité (aucune perte ou altération de données ; politiques de sauvegarde quotidienne, hebdomadaire mensuelle et annuelle, sur supports persistants). Comme il peut s'agir de quantités de données énormes (plusieurs giga/téraoctets), les fournisseurs DaaS (quelques centaines à travers le monde) appliquent des tarifs de location fondés sur le volume, le type des données transférées, la  politique et la fréquence des archivages.

Dans certains cas, les clients sont facturés en fonction de la quantité de données qu'ils utilisent, en consultation comme en stockage. Dans d'autres, les données sont classées par type (financier, organisationnel, historique, géographique, etc.) et une valeur marchande est associée à chaque type. Les prestataires de service DaaS imposent souvent des quotas de transfert ainsi que des tailles d'espace de stockage.

Le DaaS souffre des mêmes inconvénients que le SaaS et repose sur la capacité du prestataire cloud à offrir une qualité de service irréprochable (absence de pannes, débit de données suffisant, cohérence des bases de données, archivage, etc.). Une autre critique souvent formulée à l'encontre du DaaS est la nécessité de télécharger à chaque session de travail des données qui pourraient être facilement stockées sur la machine locale une fois pour toutes, mais qui courent le risque de devenir à la longue incohérentes avec la base de données de référence qui est, par nature, perpétuellement mise à jour sur le serveur distant.

2.6. LES PROTOCOLES UTILISES DANS LE CLOUD

Le IaaS (Infrastructure As A Service) permet d'offrir à un client un ensemble de serveurs virtualisés managé en grande partie par lui-même. Il est du ressort de nuage de mettre à disposition les machines virtuelles, avec un réseau public ou privé en fonction des besoins exprimés14(*).

Les techniques habituelles de segmentation Ethernet (comme les VLANs) ne sont plus assez efficaces pour répondre à ce besoin et il devient nécessaire de se pencher vers de nouveaux protocoles.

Ces problèmes doivent répondre aux besoins suivants :

· la sécurisation des flux entre les clients et l'infrastructure ;

· la mobilité des machines virtuelles ;

· la dynamique sur la gestion de l'infrastructure.

On peut distinguer deux cas de figure :

· la mise à disposition d'IPs publiques ;

· la création de réseaux privés entre les machines virtuelles d'un IaaS.

L'utilisation de LISP pour la mise à disposition d'IPs publiques offre de nombreux avantages, mais le principal dans une offre Cloud est la séparation de l'identification et de la localisation au niveau de l'adresse IP. Ces deux notions sont habituellement corrélées en routage IP « classique », ici l'identification est l'adresse IP publique et la localisation est l'emplacement réel de la machine virtuelle sur l'infrastructure. Ainsi, lorsque la machine change d'emplacement sur l'infrastructure, le protocole LISP pourra optimiser son routage interne afin de pouvoir la suivre rapidement.

Pour créer des réseaux privés sur des infrastructures cloud, plusieurs protocoles ont vu le jour, notamment NVGRE (Network Virtualization using Generic Routing Encapsulation), VXLAN (Virtual EXtensible LAN), STT (Stateless Transport Tunnelling) ou encore TRILL (TRansparent Interconnection of Lots of Links). Chacun a ses particularités, mais tous peuvent permettre l'ajout de nouveaux réseaux privés sans modifier l'infrastructure coeur. Tous ces protocoles vont permettre de créer un réseau niveau 2 (Ethernet) sur un réseau existant (de niveau 2 à 4). La configuration de ces types de réseau se fait dynamiquement, permettant de faciliter la gestion, l'ajout d'une nouvelle machine virtuelle ne demandant pas de provisioning spécifique sur la partie réseau.

NVGRE utilise les tunnels GRE sur IP et est en cours de standardisation par Microsoft et intégré à Hyper-V. Le problème de NVGRE est que le standard définit uniquement un « data plane » en laissant le « control plane » libre en fonction des constructeurs. Ceci limite fortement son adoption par le manque d'interopérabilité.

VXLAN est une encapsulation niveau 2 sur UDP/IP qui est également en cours de standardisation. Contrairement à NVGRE la spécification du protocole est complète, tant sur le « data plane » que sur le « control plane ». VXLAN utilise le multicast afin de gérer l'apprentissage des adresses MAC.

NVGRE et VXLAN s'affranchissent de la limite du tag VLAN à 4096 valeurs maximum, en utilisant un tag sur 24bit, permettant de segmenter plus librement le réseau entre les différents réseaux privés ou IaaS.

Il existe aussi le protocole STT qui se rapproche de VXLAN et NVGRE disponible dans VMWare NSX. Son objectif est d'exploiter les fonctions accélératrices des cartes réseaux existantes en utilisant un « faux entête TCP ». Il utilise également un tag sur 32bit afin de pouvoir partitionner le réseau. NVGRE ne prévoit rien concernant l'apprentissage des adresses MAC dans le « control plane » et est laissé aux choix des éditeurs/constructeurs. STT a l'avantage de pouvoir facilement exploiter « l'equal-cost multi-path » mis en place sur le niveau 3.

Cependant au même titre que NVGRE et en raison de la structure de leur « data plane« , ils passent difficilement les pare-feux, ce qui peut être un désavantage lors de déploiements de grande envergure ou lorsque le réseau n'est pas maîtrisé.

En revanche, TRILL sert avant tout à remplacer le protocole STP (Spanning Tree Protocol), gérant les boucles sur un réseau Ethernet. Il permet l'exploitation optimale d'un maillage Ethernet, contrairement au STP qui bloquait obligatoirement certains chemins. De plus, des extensions dans TRILL sont possibles pour segmenter le réseau en différents IaaS. L'avantage de TRILL sur les autres protocoles d'encapsulation Ethernet sur IP est sa restriction au niveau Ethernet, avec les avantages en terme d'efficacité dans l'utilisation du canal et dans le temps de commutation.

Tous ces protocoles viennent bouleverser le monde du réseau, puisqu'ils apportent la sécurité nécessaire à la livraison de services réseau souhaitée dans nuage. Aujourd'hui, les protocoles en plein essor sont surtout ceux ayant des spécifications complètes tels que TRILL, LISP et VXLAN. Ceux-ci garantissent une interconnexion avec d'autres systèmes et constructeurs et font l'objet de développements au sein de la communauté Linux.

Comme nous venons de le voir, et en pleine conformité avec son cahier des charges initial, nuage fait appel uniquement à des protocoles libres, sécurisés et standardisés.

Cela permet un excellent niveau de résilience au sein de nuage, le Cloud solidaire et responsable.

2.7. LES PRINCIPAUX ACTEURS DANS LE CLOUD

Le marché de l'hébergement dit « Cloud » est devenu pléthorique depuis quelques temps mais il existe des mastodontes qui font office d'institution. Autant dire que les Datacenter qui les hébergent sont colossaux.

v SalesForce : a été la première offre CRM online.  Suivant l'adage « premier arrivé, premier servi »  cette société est rapidement devenue leader sur un marché vacant.

v Amazon Web Service : est une collection de produits étiquetés Cloud Computing avec notamment  Amazon Elastic Compute Cloud (Amazon E), qui permet d'exécuter des applications dans un environnement dont la puissance s'adapte automatiques aux besoins du moment et  Amazon Elastic MapReduce, système de bases de données non transactionnelle utilisé pour de très grosses quantités de données.

v Google : Si le moteur de recherche n'est plus à présenter, Google offre une liste impressionnante de services. En faire la liste exhaustive nécessiterait plusieurs articles et le mieux mais pour les découvrir je vous invite à aller voir ces deux pages : Google Products & Google Labs.

v Windows Azure : Microsoft s'implique aussi dans le monde du Cloud.  Windows Azure est un ensemble de solution avec une approche type PAAS.  Cette plate-forme propose un socle assez riche de fonctionnalités.

2.8. SECURITE DANS LE CLOUD

Malgré les projets d'investissement des entreprises dans les applications de collaboration et de service à la clientèle, CRM, il subsiste des craintes dans le domaine de la sécurité et de disponibilité. Selon un sondage effectué par le Cloud Industrie Forum en 2011, sur 300 entreprises, 62% sont préoccupées par la sécurité des données. Elles la placent comme la première condition d'adoption d'un Cloud.

Heureusement, ces craintes sont compensées par les avantages apportés par les investissements. Le Virtual Private Cloud ou VPC d'Amazon semble garantir un contrôle de la sécurité dans le Cloud. Il nécessite des pare-feu entrants obligatoires à états (stateful firewalls), et comporte des pare-feu sortants. Ainsi, toute entrée et sortie de la machine est contrôlable. AWS renforce la sécurité au niveau de l'hyperviseur, mais il appartient également au client, de définir son niveau de tolérance sur l'exposition de l'information. Le « coffre-fort numérique » existe également. Une fois que les données sont chiffrées, à part le détenteur du code, même le fournisseur ne peut pas y accéder. Vous avez donc le devoir de choisir les outils de sécurité à mettre en service. Il y a de plus en plus d'offres de MDM sur le marché.

Les prestataires de soins restent plutôt prudents, car 6% seulement des leurs responsables IT, attribuent 10% de leur budget au Cloud Computing. Ils exigent que les infrastructures restent privées, à cause de la sécurité des données, et de la nécessité de normaliser l'audit vis-à-vis des exigences légales.

2.9. AVANTAGES ET INCONVENIENTS

a) Avantages

L'adoption d'un Cloud, apporte des avantages certains pour les entreprises. Outre la limitation de ses machines informatiques, qui dispense de toutes les activités de maintenance et de prestations, elles participent à la sauvegarde de l'environnement. Finis les recherches et les achats de logiciels, aussi simples que complexes. Finis les licences serveurs et clientes.

Elles éviteront les batailles avec les problématiques liés aux données, comme les backups, et ceux liés aux calculs, comme l'insuffisance des ressources CPU. Elles ne se soucieront ni des différents tests inhérents aux nouveaux logiciels, ni de leurs mises à jour, qui prennent beaucoup de temps. Peu leur importe les changements de normes ou l'internationalisation des SI. La seule occupation de l'entreprise client, est de sortir ou rentrer ses données, avec un minimum de suivi interne. L'économie est saine et nette !

Le Cloud vous soulagera des problèmes relatifs aux données. Il a une Haute disponibilité, un espace de stockage pratiquement illimité, et une sécurité absolue de l'installation. Vous ne risquez pas de perdre vos données, et aucun intrus physique ne pourra dérober vos travaux ou votre logiciel. Vous n'avez pas à craindre les pannes éventuelles, soit de votre installation, soit de votre logiciel. Comme vous n'avez pas à acquérir un quelconque logiciel, vous économiserez en temps et en coût d'installation, et en coût d'acquisition. On peut citer le coût d'achat ou de location de serveur, le coût des licences de logiciels et le coût des administrateurs des systèmes qui le soutiennent.

b) Inconvénients

Si vous acceptez le transfert de vos données au cloud, vous devriez procéder à l'audit de votre système d'information. Après sélection des serveurs que vous souhaiteriez déplacer dans le cloud, vous effectuerez le choix des fournisseurs de cloud qui vous semblent les plus adaptés à vos attentes. Vous vous chargerez des comparaisons de coûts, avant de prendre les décisions finales.

Vous ne pourriez pas effectuer trop rapidement vos transferts. Vous le feriez progressivement, pour éviter toute action brutale au niveau de votre entreprise. En effet, la mutation d'un ou plusieurs de vos serveurs, entraînera une diminution de matériels et de prestations. A titre d'exemple, la suppression de votre serveur de mails Microsoft Exchange, vous obligera à réduire votre personnel administrateur en conséquence. La disponibilité des services, est offerte uniquement par contrat avec le fournisseur de Cloud Computing.

Le contrat doit inclure le régime de protection de vos données et que vous aurez à définir. A ce propos, la Directive 95/46/CE du 24 Octobre 1951reste applicable en Europe. En France, la loi du 6 Août 2004, a permis d'aligner la loi informatique et Libertés (LIL) du 6 Janvier 1978 avec cette Directive. La LIL régit le traitement des données personnelles et stipule que le responsable du traitement est le client, et le « Cloud Provider » est l'organe de traitement.

Chapitre III

Déploiement d'une base de données vers SQL AZURE

3.1. Présentation de SQL AZURE

SQL Azure est un système de gestion de base de données dans le Cloud, qui se base sur SQL Server 2008.

Dans les grandes lignes, utiliser SQL Azure revient à utiliser une base de données SQL Server, avec un coût de licence grandement diminué, et une couverture quasiment complète des fonctionnalités de SQL Server 2008.

Il est possible d'accéder à ces données de la même façon que l'on accéderait à une base de données SQL Server classique, que ce soit depuis des applications hébergées dans Windows Azure, ou depuis toute autre application capable de s'interfacer avec SQL Server.

En parallèle à SQL Azure, un ensemble d'outils sont en cours de développement, ou déjà disponibles, pour étendre les fonctionnalités de base d'un SGBD.

Figure 3 - 1 : Présentation SQL AZURE

SQL Azure Data Sync permet de synchroniser les données entre plusieurs bases de données SQL Azure, à l'intérieur d'un Data Center, ou entre Data Centers (actuellement, il existe 6 Data Centers Azure dans le monde). Data Sync est actuellement en CTP1

SQL Azure Reporting devrait être disponible en fin d'année 2010, et fournir un équivalent dans le Cloud à Reporting Services.

3.2. INTRODUCTION AU DEPLOIEMENT

3.2.1. MODE DE DEPLOIEMENT

3.1.1.1. Cloud Public

Le Cloud public est une plate-forme Cloud Computing, gérée par des entreprises spécialisées15(*). Elles louent ensuite leurs services à plusieurs autres entreprises. Le principe de cette plate-forme est basé sur l'hébergement d'applications, web en général, sur une plate-forme accessible uniquement par internet. Les ressources y sont mutualisées au maximum.

Le Cloud public, permet ainsi, la création de multitudes d'environnements d'exécution, sur une même plate-forme. Pour utiliser ce type de stockage, il vous suffirait de choisir les domaines ou instances de calculs, de composer vos projets par le biais de l'interface gestion, ou à travers vos scripts basés sur le web service correspondant. Chaque domaine ouvert est compté par heure. La facturation de votre Cloud ne contient ni abonnement, ni frais de mise en service, ni frais masqué. Vous règlerez à chaque fin de mois, uniquement votre consommation réelle du mois.

Cependant, le Cloud public ne permet pas l'hébergement de toute une infrastructure informatique. Dans cette forme de stockage, vous pouvez découvrir par exemple, des utilisations en ressources supplémentaires, pour l'absorption de forts trafics ponctuels pendant une période bien définie. L'accès à ces ressources s'arrête dès que le trafic retourne à la normale.

3.1.1.2. Cloud Privé

La définition du Cloud privé est sujette à des controverses. Les grandes entreprises fournisseurs, considèrent que l'implémentation d'un Cloud privé, consiste à transformer, grâce à des technologies de virtualisation et d'automatisation, l'infrastructure interne d'un système informatique. L'objectif à atteindre ainsi, est de fournir rapidement à des clients, à la demande et d'une manière simple, des services et des ressources. Parfois, vous pouvez entendre parler d'internal Cloud. Ce terme est traduit par Cloud privé interne ou Cloud interne.

Du côté hébergeur, une telle plate-forme est perçue comme la mise à la disposition à un client, d'un ensemble de ressources, telle une Mémoire, un CPU, un Disque, un Réseau et autre, qui lui permet d'installer une infrastructure complète. Dans cette situation, on parlera de cas d'offre IaaS, ou Infrastructure as a Service.

Le Cloud privé est prévu pour offrir aux entreprises, des services qui leur permettront de mieux maîtriser leurs ressources informatiques. L'entreprise peut gérer son infrastructure en solitaire, au rythme de ses besoins, ou passer par la mutualisation. Ce type de stockage peut être ainsi considéré d'une part, comme l'installation d'un réseau informatique propriétaire. D'autre part, on peut le désigner comme un centre de données qui fournit des services hébergés pour un certain nombre d'usagers. Il leur délivre des accès, particulièrement favorables pour leurs applications hébergées.

On distingue les Cloud privés internes, utilisés par une entreprise pour satisfaire ses propres besoins. Ils sont administrés en interne par l'entreprise même. Il y a aussi les Cloud privés externes, destinés à satisfaire les besoins propres d'une entreprise cliente. Leurs gestions sont confiées à un prestataire extérieur. On parle alors de gestion externalisée. Dans ce cas, une partie de ses services externalisés, est prise en charge par un prestataire de confiance.

3.1.1.3. Cloud Hybride

L'idée de combiner le Cloud privé avec le Cloud public, a entraîné la conception d'un autre pseudo-type de Cloud, le Cloud hybride ou mixte. En réalité, ce type de plateforme hybride n'est pas un Cloud à part entière. Puisqu'on cherche à mettre ensemble et à faire communiquer les deux modes précités, le Cloud hybride sert donc uniquement de liaison entre eux. La tendance actuelle des services de stockage s'oriente vers l'adoption du Cloud hybride. Dès que vous pensez déployer un Cloud privé, vous devez considérer également celui public en excès, en prévision des surcharges de vos capacités internes. Et l'hybride vient compléter l'ensemble. Mais la mise en place d'une plate-forme de fédération des identités, ou l'utilisation d'un service Cloud, n'est pas un Cloud hybride.

Des problèmes techniques peuvent surgir lors de l'installation du système hybride.

L'hybride est souvent employé, pour englober les pics de charges ponctuelles comme avec le public, tout en restant lié à un privé. Les deux infrastructures communiquent donc ainsi, et forment un Cloud hybride. C'est alors un moyen de combiner, les avantages apportés par les deux plateformes. On peut mentionner la souplesse des infrastructures, la facilité de déploiement d'une application, ainsi que la réalisation d'économies. Il y a en plus, l'amélioration de la performance et la sécurité du système d'information interne.

Les entreprises intéressées, doivent analyser leur niveau d'activité, leur périodicité, leur système d'information et leurs besoins, avant de penser à transférer l'ensemble de leur infrastructure dans un Cloud public. Bien que les Cloud privés soient très sécurisés, leur manque de flexibilité ne doit pas empêcher leur intégration dans des systèmes hybrides. Les hybrides, peuvent associer les ressources physiques et virtuelles, celles virtuelles et propriétaires, ou celles hébergées et internalisées.

3.1.1.4. Cloud Communautaire

Le Cloud Communautaire, est un Cloud utilisé par plusieurs entités ou organisations, qui sont animées de besoins communs. Il peut être employé pour des applications génériques, avec des particularités ajustées aux contraintes du groupe. Vous pouvez trouver en exemple le stockage Communautaire monté par la GSA aux Etats Unis, pour les organisations gouvernementales américaines. Ce type de plateforme peut héberger une application métier spécifique, louée en commun par plusieurs entreprises.

Les solutions Cloud Communautaires se sont démarquées par la possibilité à résoudre la complexité grandissante des processus de réservations. On retrouve celles-ci, non seulement pour le trafic aérien, mais aussi pour les hôtels, les locations de voitures... Les vols effectués le même jour, par plusieurs compagnies différentes avec des voyageurs de destinations diverses, sont autant de facteurs difficiles à gérer. Ainsi, une compagnie aérienne logique, ne cherchera plus à créer sa propre application de réservation.

3.3. MIGRATION VERS SQL SERVER DANS LES MACHINES VIRTUELLES AZURE

3.3.1. Plan de Migration

Le tableau suivant récapitule les options de déplacement de données vers SQL Server sur une machine virtuelle Azure.

Tableau 3 - 1 : Récapitulation Plan de Migration

Notez que ce document suppose que les commandes SQL sont exécutées à partir de SQL Server Management Studio ou Visual Studio Database Explorer.

ü Configuration requise

Ce didacticiel part du principe que vous disposez de :

· Un abonnement Azure. Si vous n'avez pas d'abonnement, vous pouvez vous inscrire à un essai gratuit.

· Un compte de stockage Azure. Dans ce didacticiel, vous allez utiliser un compte de stockage Azure pour stocker des données. Si vous ne possédez pas de compte de stockage Azure. Après avoir créé le compte de stockage, vous devrez obtenir la clé du compte utilisée pour accéder au stockage.

· Approvisionnement d'un serveur SQL Server sur une machine virtuelle Azure. Pour obtenir des instructions.

· Azure PowerShell installé et configuré localement. Pour obtenir des instructions.

ü Déplacement des données à partir d'un fichier plat source vers SQL Server sur une machine virtuelle Azure

Si vos données se trouvent dans un fichier plat (au format ligne/colonne), les méthodes suivantes permettent de les copier dans l'instance SQL Server VM on Azure :

1.    Utilitaire de copie en bloc à ligne de commande (BCP)

2.    Requête SQL Bulk Insert

3.    Utilitaires graphiques intégrés dans SQL Server (Importation/Exportation, SSIS)

§ Utilitaire de copie en bloc à ligne de commande (BCP)

BCP est un utilitaire à ligne de commande, installé avec SQL Server. C'est l'un des outils les plus rapides pour déplacer des données. Il fonctionne sur les trois variantes de SQL Server (instance SQL Server locale, SQL Azure et machine virtuelle SQL Server sur Azure).

Remarque :

Où mes données doivent-elles se trouver pour BCP ?
Ce n'est pas une obligation, mais le transfert est plus rapide si les fichiers contenant les données source résident sur la même machine que l'instance SQL Server cible (débit du réseau par rapport au débit d'E/S du disque local). Vous pouvez déplacer les fichiers plats contenant les données vers la machine hébergeant SQL Server, en utilisant différents outils de copie, tels que AZCopy, Azure Storage Explorer ou le copier/coller Windows via le protocole RDP (Remote Desktop Protocol).

1. Vérifiez que la base de données et les tables sont créées dans la base de données SQL Server cible. Voici un exemple montrant comment faire à l'aide des commandes Create Database et Create Table :

Copy

CREATE DATABASE <database_name>

CREATE TABLE <tablename>

(

<columnname1> <datatype> <constraint>,

<columnname2> <datatype> <constraint>,

<columnname3> <datatype> <constraint>

)

2. Générez le fichier de format qui décrit le schéma de la table, en exécutant la commande suivante dans la ligne de commande de la machine où BCP est installé.

bcp dbname..tablename format nul -c -x -f exportformatfilename.xml -S servername\sqlinstance -T -t \t -r \n

3. Insérez les données dans la base de données, en utilisant la commande BCP suivante. Cette commande fonctionne à partir de la ligne de commande, si SQL Server est installé sur la même machine :

bcp dbname..tablename in datafilename.tsv -f exportformatfilename.xml -S servername\sqlinstancename -U username -P password -b block_size_to_move_in_single_attemp -t \t -r \n

§ Parallélisation des insertions pour accélérer le déplacement des données

Si le volume de données déplacées est important, vous pouvez accélérer l'opération en exécutant plusieurs commandes BCP simultanément dans un script PowerShell.

Remarque :

Traitement de volumes importants de données pour optimiser le chargement de volumes importants et très importants de jeux de données, partitionnez vos tables de base de données physiques et logiques en utilisant plusieurs groupes de fichiers et tables de partition.

L'exemple de script PowerShell ci-dessous montre comment effectuer des insertions en parallèle à l'aide de BCP :

Copy

$NO_OF_PARALLEL_JOBS=2

Set-ExecutionPolicy RemoteSigned #set execution policy for the script to execute

# Define what each job does

$ScriptBlock = {

param($partitionnumber)

#Explictly using SQL username password

bcp database..tablename in datafile_path.csv -F 2 -f format_file_path.xml -U username@servername -S tcp:servername -P password -b block_size_to_move_in_single_attempt -t "," -r \n -o path_to_outputfile.$partitionnumber.txt

#Trusted connection w.o username password (if you are using windows auth and are signed in with that credentials)

#bcp database..tablename in datafile_path.csv -o path_to_outputfile.$partitionnumber.txt -h "TABLOCK" -F 2 -f format_file_path.xml -T -b block_size_to_move_in_single_attempt -t "," -r \n

}

# Background processing of all partitions

for ($i=1; $i -le $NO_OF_PARALLEL_JOBS; $i++)

{

Write-Debug "Submit loading partition # $i"

Start-Job $ScriptBlock -Arg $i

}

# Wait for it all to complete

While (Get-Job -State "Running")

{

Start-Sleep 10

Get-Job

}

# Getting the information back from the jobs

Get-Job | Receive-Job

Set-ExecutionPolicy Restricted #reset the execution policy

§ Requête SQL Bulk Insert

La requête d'insertion en bloc SQL permet d'importer des données provenant de fichiers à lignes/colonnes dans la base de données (les types pris en charge sont présentés dans la section Préparer les donner pour l'exportation ou l'importation en bloc (SQL Server)).

Voici quelques exemples de requêtes Bulk Insert :

1. Analysez vos données et configurez les options de personnalisation souhaitées avant de procéder à l'importation, pour vérifier que la base de données SQL Server attend le même format pour les champs particuliers, comme les dates. Voici un exemple de configuration du format de date année-mois-jour (si vos données contiennent des dates dans ce format) :

Copy

SET DATEFORMAT ymd;

2. Importez des données avec des instructions import en bloc :

Copy

BULK INSERT <tablename>

FROM

'<datafilename>'

WITH

(

FirstRow=2,

FIELDTERMINATOR =',', --this should be column separator in your data

ROWTERMINATOR ='\n' --this should be the row separator in your data

)

§ Utilitaires intégrés dans SQL Server

Vous pouvez utiliser l'utilitaire SSIS (SQL Server Integrations Services) pour importer les données d'un fichier plat dans SQL Server VM on Azure. SSIS est disponible dans deux environnements Studio.

ü Déplacement des données à partir d'un serveur SQL Server local vers un serveur SQL Server sur une machine virtuelle Azure

Vous pouvez également utiliser les stratégies de migration suivantes :

1.    Assistant de déploiement d'une base de données SQL Server sur une machine virtuelle Microsoft Azure

2.    Exporter dans un fichier plat

3.    Assistant Migration de la base de données SQL

4.    Sauvegarde et restauration de base de données

Chacune de ces étapes est décrite ci-après :

ü Assistant de déploiement d'une base de données SQL Server sur une machine virtuelle Microsoft Azure

L'Assistant de déploiement d'une base de données SQL Server sur une machine virtuelle Microsoft Azure est une méthode simple et recommandée pour déplacer des données d'une instance SQL Server locale vers un serveur SQL Server sur une machine virtuelle Azure.

ü Exporter dans un fichier plat

Plusieurs méthodes peuvent être utilisées pour exporter en bloc des données à partir d'un serveur SQL Server local et sont documentées dans la section Importation et exportation de données en bloc (SQL Server). Une fois les données exportées dans un fichier plat, il est possible de les importer en bloc dans une autre instance SQL Server.

1. Pour exporter les données de l'instance SQL Server locale vers un fichier à l'aide de l'utilitaire BCP, procédez comme suit :

bcp dbname..tablename out datafile.tsv -S servername\sqlinstancename -T -t \t -t \n -c

2. Créez la base de données et la table sur la machine virtuelle SQL Server sur Azure à l'aide de create database et de create table pour le schéma de table exporté à l'étape 1.

3. Créez un fichier de format décrivant le schéma de table des données exportées ou importées. Les détails du fichier de format sont décrits dans créer un fichier de Format (SQL Server).

Génération du fichier de format en cas d'exécution de BCP à partir de la machine SQL Server

Copy

bcp dbname..tablename format nul -c -x -f exportformatfilename.xml -S servername\sqlinstance -T -t \t -r \n

Génération du fichier de formation en cas d'exécution de BCP à distance sur une instance SQL Server

Copy

bcp dbname..tablename format nul -c -x -f exportformatfilename.xml -U username@servername.database.windows.net -S tcp:servername -P password --t \t -r \n

4. Utilisez l'une des méthodes décrites dans la section    Fichiers plats pour déplacer les données de fichiers plats vers une instance SQL Server.

ü Assistant Migration de la base de données SQL

Assistant Migration de la base de données SQL Server fournit une manière conviviale pour déplacer des données entre deux instances de SQL Server. Il permet à l'utilisateur de mapper le schéma de données entre les tables sources et cibles, de choisir les types de colonne et d'utiliser d'autres fonctionnalités. Il exécute BCP en arrière-plan. Voici une copie de l'écran d'accueil de SQL Database Migration Wizard :

Figure 3 - 1 : Assistant de Migration de la base de données SQL

ü Sauvegarde et restauration de base de données

SQL Server prend en charge :

1. La fonctionnalité de sauvegarde et de restauration de base de données (dans un fichier local ou par exportation d'un bacpac dans un objet blob) et les applications de la couche Données (à l'aide de bacpac).

2. La possibilité de créer directement des instances SQL Server VM on Azure avec une base de données copiée ou de copier une base de données SQL Azure.

3.3.2. Gestion des machines virtuelles dans AZURE

Rendez- vous dans la console de gestion Azure, puis cliquez sur Machines virtuelles :

Vous y visualisez la liste des machines crées :

Cliquez sur la flèche à droite du nom pour ouvrir la gestion de la VM :

§ Le premier écran contient des ressources sur le web :

Le menu Surveiller vous permet de consulter l'historique d'utilisation des ressources par la VM :

Les Points de terminaison sont les ports (IP) ouverts pour vous connecter à une machine virtuelle :

Par défaut un accès en Powershell (port 5986) et un accès RDP (sur un numéro de port aléatoire) sont ouverts.

Pour ajouter un point, cliquez sur le menu Ajouter.

Choisissez Ajouter un point de terminaison autonome :

Précisez ensuite les ports et protocoles utilisés, ici par exemple pour un accès https :

Validez votre choix et vérifiez l'ouverture du port.

Le menu Configurer vous permet de modifier la taille de la machine et son éventuelle appartenance à un groupe de disponibilité :

Accès au bureau de votre VM

Par défaut un point de connexion a été créé pour accéder au bureau à distance de votre serveur, pour y accéder, cliqué sur le menu

 Il suffit ensuite de confirmer le téléchargement du fichier RDP puis de l'ouvrir.

Après avoir ouvert votre session, vous allez découvrir votre machine virtuelle, sur la quelle Microsoft à penser à installer le premier composant que j'installe aussi BGinfo , qui permet d'identifier rapidement votre machine virtuelle.


Un rapide coup d'oeil dans l'explorateur vous permettra de découvrir deux disque virtuels : le disque C, contenant Windows le disque D, qui comme son nom l'indique est un espace temporaire, non restauré en cas de redémarrage de votre machine virtuelle, mais non facturé.


3.3.3. Déploiement de la base

Utilisez l'Assistant Déploiement de base de données dans SQL Azure16(*) pour déployer une base de données entre une instance du Moteur de base de données et un serveur Base de données Azure SQL, ou entre deux serveurs Base de données Azure SQL.

· Avant de commencer

L'Assistant utilise un fichier d'archive d'application de la couche Données (DAC) BACPAC pour déployer les données et les définitions des objets de base de données. Il effectue une opération d'exportation DAC de la base de données source, et une importation DAC vers la destination.

· Options et paramètres de bases de données

Par défaut, la base de données créée pendant le déploiement aura tous les paramètres par défaut de l'instruction CREATE DATABASE. Le classement de base de données et le niveau de compatibilité sont définis aux valeurs de la base de données source et font exception.

Les options de base de données, telles que TRUSTWORTHY, DB_CHAINING et HONOR_BROKER_PRIORITY, ne peuvent pas être ajustées dans le cadre du processus de déploiement. Des propriétés physiques, telles que le nombre de groupes de fichiers ou le nombre et la taille des fichiers, ne peuvent pas être modifiées dans le cadre du processus de déploiement. Une fois le déploiement terminé, vous pouvez utiliser l'instruction ALTER DATABASE, SQL Server Management Studio ou SQL Server PowerShell pour personnaliser la base de données.

· Limitations et restrictions

L'Assistant Déploiement de base de données prend en charge le déploiement d'une base de données :

· D'une instance du Moteur de base de données vers Base de données Azure SQL.

· D'une instance de Base de données Azure SQL vers une instance du Moteur de base de données.

· Entre deux serveurs Base de données Azure SQL.

L'Assistant ne prend pas en charge le déploiement de bases de données entre deux instances du Moteur de base de données.

Une instance du Moteur de base de données doit exécuter SQL Server 2005 Service Pack 4 (SP4) ou version ultérieure pour fonctionner avec l'Assistant. Si une base de données sur une instance du Moteur de base de données contient des objets qui ne sont pas pris en charge sur Base de données Azure SQL, vous ne pouvez pas utiliser l'Assistant pour déployer la base de données dans Base de données Azure SQL. Si une base de données sur Base de données Azure SQL contient des objets qui ne sont pas pris en charge par SQL Server, vous ne pouvez pas utiliser l'Assistant pour déployer la base de données sur des instances de SQL Server.

· Sécurité

Pour améliorer la sécurité, les connexions d'authentification SQL Server sont stockées dans un fichier DAC BACPAC sans mot de passe. Lorsque le fichier BACPAC est importé, la connexion est créée en tant que connexion désactivée avec un mot de passe généré. Pour activer les connexions, connectez-vous à l'aide d'une connexion qui possède l'autorisation ALTER ANY LOGIN et utilisez ALTER LOGIN pour activer la connexion et affecter un nouveau mot de passe pouvant être communiqué à l'utilisateur. Cela n'est pas nécessaire pour les connexions d'authentification Windows car leurs mots de passe ne sont pas gérés par SQL Server.

· Autorisations

L'Assistant a besoin d'autorisations d'exportation DAC dans la base de données source. La connexion requiert au minimum des autorisations ALTER ANY LOGIN et VIEW DEFINITION de la portée de la base de données, ainsi que des autorisations SELECT sur sys.sql_expression_dependencies. L'exportation d'une DAC peut être réalisée par les membres du rôle serveur fixe securityadmin également membres du rôle de base de données fixe database_owner dans la base de données à partir de laquelle est extraite la DAC. Les membres du rôle serveur fixe sysadmin ou le compte d'administrateur système intégré de SQL Server nommé sa peuvent également exporter une DAC.

L'Assistant a besoin d'autorisations d'exportation DAC sur l'instance ou le serveur de destination. La connexion doit être membre des rôles serveur fixes sysadmin ou serveradmin, ou du rôle serveur fixe dbcreator et disposer d'autorisations ALTER ANY LOGIN. Le compte d'administrateur système SQL Server intégré nommé sa peut également importer une DAC. L'importation d'une DAC avec des connexions à Base de données SQL requiert l'appartenance aux rôles loginmanager ou serveradmin.

L'importation d'une DAC sans connexions à Base de données SQL requiert l'appartenance aux rôles dbmanager ou serveradmin.

· Utilisation de l'Assistant Déploiement de base de données

Pour migrer une base de données à l'aide de l'Assistant de déploiement de base de données

1. Connectez-vous à l'emplacement de la base de données à déployer. Vous pouvez spécifier une instance du Moteur de base de données ou un serveur Base de données Azure SQL.

2. Dans l'Explorateur d'objets, développez le noeud pour l'instance qui contient la base de données.

3. Développez le noeud Bases de données.

4. Cliquez avec le bouton droit sur la base de données que vous voulez déployer, sélectionnez Tâches, puis sélectionnez Déployer la base de données dans SQL Azure...

5. Renseignez les boîtes de dialogue de l'Assistant :

o   Page Introduction

o   Paramètres de déploiement

o   Page Résumé

o   Résultats

ü Page Introduction

Cette page décrit les étapes de l'Assistant Déploiement de base de données.

Options

· Ne plus afficher cette page : cochez la case pour ne plus afficher la page Introduction à l'avenir.

· Suivant - Passe à la page Paramètres de déploiement.

· Annuler - Annule l'opération et ferme l'Assistant.

ü Page Paramètres de déploiement

Utilisez cette page pour spécifier le serveur de destination et fournir des détails sur votre nouvelle base de données.

ü Hôte local :

· Connexion serveur - Spécifiez les détails de connexion au serveur, puis cliquez sur Se connecter pour vérifier la connexion.

· Nouveau nom de la base de données - Spécifiez un nom pour la nouvelle base de données.

ü Paramètres de base de données Base de données SQL :

· Édition Base de données SQL - Sélectionnez l'édition de Base de données SQL dans le menu déroulant.

· Taille maximale de base de données - Sélectionnez la taille maximale de la base de données dans le menu déroulant.

ü Autres paramètres :

Spécifiez un répertoire local pour le fichier temporaire, qui est le fichier d'archive BACPAC. Notez que le fichier est créé à l'emplacement spécifié et qu'il y reste une fois l'opération terminée.

ü Page Résumé

Utilisez cette page pour passer en revue la source spécifiée et les paramètres ciblent de l'opération. Pour terminer le déploiement à l'aide des paramètres spécifiés, cliquez sur Terminer. Pour annuler le déploiement et quitter l'Assistant, cliquez sur Annuler.

ü Page Progression

Cette page affiche une barre de progression indiquant l'état de l'opération. Pour afficher l'état détaillé, cliquez sur l'option Afficher les détails.

ü Page Résultats

Cette page signale la réussite ou l'échec de l'opération de déploiement, affichant les résultats de chaque action. Toute action pour laquelle une erreur s'est produite aura un lien dans la colonne Résultat. Cliquez sur le lien pour consulter le rapport d'erreur de cette action.

Cliquez sur Terminer pour fermer l'Assistant.

ü Utilisation d'une application .Net Framework

Pour déployer une base de données à l'aide des méthodes DacStore, Export() et Import() dans une application .NET Framework.

1. Créez un objet serveur SMO et définissez-le sur l'instance ou le serveur qui contient la base de données à déployer.

2. Ouvrez un objet ServerConnection et connectez-vous à la même instance.

3. Utilisez la méthode Export de type Microsoft.SqlServer.Management.Dac.DacStore pour exporter la base de données dans un fichier BACPAC. Spécifiez le nom de la base de données à exporter, ainsi que le chemin d'accès au dossier où le fichier BACPAC doit être placé.

4. Créez un objet serveur SMO et définissez-le sur l'instance ou le serveur de destination.

5. Ouvrez un objet ServerConnection et connectez-vous à la même instance.

6. Utilisez la méthode Import de type Microsoft.SqlServer.Management.Dac.DacStore pour importer le fichier BACPAC. Spécifiez le fichier BACPAC créé par l'exportation.

Conclusion Générale

De l'informatique utilitaire des années 60, au service bureau des années 70, tout en passant par l'émergence d'internet et des avancées de virtualisation, le Cloud Computing comme les tendances nous le conforme, est promis à un bel avenir.

Le Cloud met en oeuvre l'idée d'informatique utilitaire du type service public, proposée par John McCarthy. Il peut aussi être comparé au cluster de calcul dans lequel un groupe d'ordinateurs se relient pour former un ordinateur virtuel unique permettant le calcul de haute performance (HPC), mais aussi à l'informatique en grille (Grid Computing) où des ordinateurs reliés et repartis géographiquement permettent la résolution d'un problème commun.

Le Cloud Computing n'impose aucune dépense en immobilisation puisque les services sont payés en fonction de l'utilisation. Cela permet aux entreprises de ne plus se focaliser sur la gestion, la maintenance et l'exploitation de l'infrastructure ou des services applicatifs. Les fortes avancées dans le domaine de la virtualisation ont rendu possible le Cloud Computing. Cette virtualisation permet d'optimiser les ressources matérielles en les partageant entre plusieurs environnements (« time - sharing »). De même, il est possible de coupler l'application (et son système d'exploitation) et le matériel (encapsulé dans la machine virtuelle), cela assure également un « provisionning », c'est-à-dire la capacité de déploiement d'environnement, de manière automatique.

Le Cloud couplé, aux technologies de virtualisation, permet la mise à disposition d'infrastructures et de plate-forme à la demande. Mais le Cloud ne concerne pas seulement l'Infrastructure (IaaS), il bouleverse la plate-forme d'exécution (PaaS).

Etant donné que le Cloud computing repose sur un ensemble de machines interconnectées et massivement distribuées, cela permet d'être tolérant face aux défaillances matérielles et logicielles (par des mécanismes de redondance, réplication, SLA). De plus, le Cloud permet une élasticité, une flexibilité. Ainsi la puissance de calcul ou les capacités de stockages peuvent être très facilement augmentées par l'installation de nouveaux équipements au sein ou en dehors du Cloud, la charge sera alors répartie en fonction de ces nouveaux équipements. Il en va de même avec les applications et les données : elles pourront être hébergées à différents « endroits ». En cas de montée en charge, le Cloud créera plusieurs instances afin d'y répartir la charge et d'assurer une disponibilité maximale.

Force de constater que dans un Datacenter classique, le taux moyen d'utilisation peine à dépasser les 25% (le but est de saturer la charge serveur pour exploitation optimale), la moyenne étant de 10%. Les serveurs sont sous - utilisés et en cas de pic de charge, il faut acheter de nouveaux serveurs pour pallier à la demande. Cela signifie donc que le nouveau matériel restera en exploitation même inutilisé après les pics. Ces infrastructures sont monolithiques dans le sens où elles ne permettent aucune exploitation dynamique et flexible, nécessitant une lourde administration et des coûts induits.

Avec le Cloud , cela devient obsolète : au lieu de faire tourner vos applications vous - même , le tout est géré par un « Virtual Datacenter » partagé. Lorsque le besoin se fait ressentir de déployer une nouvelle application, il suffira de s'identifier sur le Cloud, de sélectionner dans un catalogue de services ou d'envoyer directement l'application souhaitée, puis de la personnaliser et de lancer. En quelques minutes, (voire quelques secondes), l'application sera fonctionnelle et pourra être consommée. C'est aussi valable pour une infrastructure ou une plate-forme. Si une entreprise a besoin, de trois serveurs Windows et d'un serveur Linux, il suffira de sélectionner dans le catalogue et d'instancier cette infrastructure « à la demande ».

BIBLIOGRAPHIE

A. OUVRAGES

1) C. Moyer, Applications de Cloud Computing. Concepts, design patterns et développement, ibid., 2011, P.80

2) J. Barr, Le Cloud computing avec Amazon Web Services. L'informatique en nuage pour votre site Web, coll. Référence, Pearson, Paris, 2011, P.23

3) Nick Dowling, Database Design And Management Using Access, Cengage Learning EMEA - 2000,( ISBN  9781844801091)

4) Dictionnaire petit Larousse Ed. 2006 

5) Thomas M. Connolly - Carolyn E. Begg, Database systems: a practical approach to design, implementation, and management,Pearson Education - 2005,( ISBN  9780321210258)

6) Bhuvan Unhelkar, Practical Object Oriented Analysis, Thomson Learning Nelson - 2005, ( ISBN  9780170122986).

B. NOTES DE COURS

ü KAFUNDA Pierre, Cours de base de données, G2 Info, UNIVERSITE DE MBUJIMAYI ,2012-2013.

ü J.A. MVIBUDULU K, L.D. KONKFIE IPEPE, Technique des bases de données Etude de cas, 2eme Edition corrigée et révisée, Kinshasa, CRIGED, janvier 2010 

ü BUKANGA, Cours de Séminaire Informatique1, G3 Infos, Université Révérend KIM, 2015 - 2016, P.78

C. WEBOGRAPHIE

ü http://www.nuage-france.fr/les-protocoles-du-cloud-dans-nuage, [consulter le 20/03/2016 à 15h02]

ü URL: http://www.universalis.fr/encyclopedie/cloud-computing-informatique-dans-les-nuages/ [consulté le 31 mars 2016]

ü http://www.yeswecloud.fr/cloud/cloud-public-prive-et-hybride-637.html

TABLE DES MATIERES

Titre

 

Page

 
 
 

EPIGRAPHE

.......................................

I

DEDICACE

.......................................

II

REMERCIEMENT

.......................................

III

LISTE DES ABREVIATIONS

.......................................

IV

LISTE DES FIGURES

.......................................

V

LISTE DES TABLEAUX

.......................................

VI

INTRODUCTION

.......................................

1

0.1. Présentation du sujet

.......................................

1

0.2. Généralité

.......................................

2

0.3. Problématique

.......................................

2

0.4. Hypothèse

.......................................

3

0.5. Méthodes et Techniques

.......................................

4

0.6. Intérêt et Choix du sujet

.......................................

5

0.7. Délimitation du sujet

.......................................

5

0.8. Subdivision du sujet

.......................................

6

Chapitre I : CONCEPTS DE BASE

.......................................

7

1.1.1. Définition

.......................................

7

1.1.2. Classification de Réseau Informatique

.......................................

7

1.1.3. Les réseaux sans fil

.......................................

12

1.1.4. Modèle OSI

.......................................

14

1.1.5. Notion des Protocoles

.......................................

18

1.1.6. Base de données

.......................................

19

1.1.7. Système de gestion de base de données

.......................................

23

Chapitre II : LE CLOUD COMPUTING

.......................................

26

2.1. Définition

.......................................

28

2.2. Bref Aperçu du Cloud

.......................................

28

2.3. Historique

.......................................

29

2.4. Enjeux Economiques

.......................................

30

2.5. Architectures

.......................................

31

2.6. Les Protocoles utilisés dans le Cloud

.......................................

33

2.7. Les Principaux acteurs dans le Cloud

.......................................

35

2.8. Sécurité dans le Cloud

.......................................

35

2.9. Avantages et Inconvénients

.......................................

36

Chapitre III : DEPLOIEMENT D'UNE BASE DE DONNEES VERS LE CLOUD

.......................................

38

3.1. Présentation de SQL AZURE

.......................................

39

3.2. Introduction au déploiement

.......................................

40

3.3. Migration vers le SQL Server dans les machines virtuelles AZURE

.......................................

42

CONCLUSION GENERALE

.......................................

59

BIBLIOGRAPHIE

.......................................

62

TABLE DE MATIERES

.......................................

63

 
 
 
 
 
 
 
 
 

* 1 J. Claude ROUVEYRAN, Le guide de la thèse et du Mémoire du projet à soutenance, Paris, Ed. MAISONNEUVE A LA ROSE, 2011, p. 151 - 152

* 2 Dictionnaire Aristide Quillet, Ed. Aristide Quillet, 2000, P. 345

* 3 L. NGIENGI KWENGU et A. MUMBANZA MUSUNGA, Note de Cours de Système d'exploitation réseau, (Texte inédit), Kinshasa, 2014 - 2015, P. 3

* 4 (en)Colin Ritchie, Database Principles and Design, Cengage Learning EMEA - 2008, ( ISBN  9781844805402)

* 5 Carlos Coronel, Steven Morris et Peter Rob, Database Systems: Design, Implementation, and Management, Cengage Learning - 2012, ( ISBN  9781111969608)

* 6 Nick Dowling, Database Design And Management Using Access, Cengage Learning EMEA - 2000,( ISBN  9781844801091)

* 7Nick Dowling, Database Design And Management Using Access, Cengage Learning EMEA - 2000,( ISBN  9781844801091)

* 8 http://www.futura-sciences.com/magazines/high-tech/infos/dico/d/informatique-sgbd-2525/

* 9 (en) Thomas M. Connolly - Carolyn E. Begg,Database systems: a practical approach to design, implementation, and management,Pearson Education - 2005,( ISBN  9780321210258)

* 10 Bhuvan Unhelkar, Practical Object Oriented Analysis, Thomson Learning Nelson - 2005, ( ISBN  9780170122986).

* 11 François PÊCHEUX, « CLOUD COMPUTING ou INFORMATIQUE DANS LES NUAGES  », Encyclopædia Universalis [en ligne], consulté le 31 mars 2016.

URL : http://www.universalis.fr/encyclopedie/cloud-computing-informatique-dans-les-nuages/

* 12 J. Barr, Le Cloud computing avec Amazon Web Services. L'informatique en nuage pour votre site Web, coll. Référence, Pearson, Paris, 2011, P.23

* 13 C. Moyer, Applications de Cloud Computing. Concepts, design patterns et développement, ibid., 2011, P.80

* 14 http://www.nuage-france.fr/les-protocoles-du-cloud-dans-nuage, consulter le 20/03/2016 à 15h02

* 15 http://www.yeswecloud.fr/cloud/cloud-public-prive-et-hybride-637.html

* 16 https://msdn.microsoft.com/fr-fr/library/jj554810%28v=sql.120%29.aspx, consulté le 04/03/2016 à 05h08






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"I don't believe we shall ever have a good money again before we take the thing out of the hand of governments. We can't take it violently, out of the hands of governments, all we can do is by some sly roundabout way introduce something that they can't stop ..."   Friedrich Hayek (1899-1992) en 1984