22 Le cloud et les développeurs 8 février 2010 François TONIC Historien, journaliste, rédacteur...
-
Upload
jolie-monnier -
Category
Documents
-
view
108 -
download
2
Transcript of 22 Le cloud et les développeurs 8 février 2010 François TONIC Historien, journaliste, rédacteur...
22
Le cloud et les développeurs
8 février 2010
François TONICHistorien, journaliste, rédacteur en chefcloudmagazine.fr / Programmez!
33
Agenda de la session
Le cloud : les différentes couchesDéfinitions, architectures, approches
Le cloud et le développeurAPI, plate-formes, sécurités, pourquoi choisir son cloud ?
Le prix du cloud
Le cloud, l’interopérabilité et le développeur…
44
Cloud : les différentes couches
55
Le cloud : les couches « primaires »
66
Le cloud : « les couches primaires »
Infrastructure as a Service : couche bas niveau. C’est l’infrastructure du cloud : outils serveurs, administrations, fonctions réseaux (load balacing, firewall, etc.). Exemple : Amazon EC2, VMware et Ubuntu pour systèmes et outils
Platform as a Service : c’est la plate-forme d’exécution. Il possède différentes couches : authentification, API… Exemple : Azure, Google App Engine, force.com
IaaS SaaSPaaS
77
Le cloud : « les couches primaires »
Software as a Service : logiciel ou fonction sous forme d’un service accessible via le web. Le Saas s’exécute sur un PaaS. Successeur des logiciels ASP. On dispose de API, librairies. Exemple : saleforce, Cegid, etc.
Tout Saas est du Cloud mais tout Cloud n’est pas du Saas. Et on passe dans le navigateur
IaaS SaaSPaaS
88
Le cloud : les différents cloud
A cela s’ajoute : le cloud communautaire
Cloud privé Cloud hybrideCloud public
Dans le cloud, il faut distinguer différents types de cloud. Même si cela n’impacte pas directement le développeur (pas toujours), il faut faire le distinguo, certains pour le DSI, l’administration.
99
Le cloud : les différents cloud
Cloud privé : opéré par une organisation et cette infrastructure peut être ou non déployée localisation comme les serveurs actuels
Cloud public : partager auprès du « public » une infrastructure, celle-ci est propriétaire du fournisseur
Cloud hybride (ou mixte) : plate-forme de fédérations entre plusieurs entités ou partageant des services cloud
Cloud communataire : il s’agit de partager un objectif, un but entre plusieurs organisations ayant un but commun
1010
Cloud et le développeur
1111
Cloud et développeur
Le développeur doit faire un choix !Le cloud choisi impose souvent de facto des méthodes, des
fonctions, des limitations, des API
Aujourd’hui, aucun cloud ne propose une plate-forme comme le desktop, le serveur = pas aussi complet
Il faut choisir le plus adapter, ou le moins « pire »Il faut éviter tout sectarisme dans ce choix
Pas d’illusion : choisir c’est s’enfermer !
1212
Cloud et développeur
Il faut choisir mais comment :Qu’est-ce que je veux faireDe quoi à besoin mon applicationAvec quoi et sur quel langage je veux développerIl existe des différences entre chaque cloud. Il faut
comparer ce qui est comparable.
Paas, Iaas, Saas : le développeur s’y perd !Amazon Web Services / EC2 n’a pas le même niveau d’API,
de personnalisation qu’un Azure mais nous avons deux niveaux de cloud : un Iaas et un Paas !
1313
1414
1515
1616
Cloud et développeur : le choix
Bref,Il ne faut pas se tromper de niveau de cloudEntre plusieurs fournisseurs, il faut choisirLe choix enferme le développeur, l’entreprise !Au-dessus des développeurs, il y a la tarification, l’interop,
la sécurité, la disponibilité, etc.
Constat : le cloud n’est pas simple et n’a rien de trivial !
1717
Cloud et développeur : le prix
Choisir c’est bien, mais que me coûte un cloud ?Il faut ABSOLUMENT s’en préoccuper avant tout
choix, tout développement :Le cloud n’est pas gratuitIl faut considérer les coûts visibles et les coûts cachésLa tarification du cloud est compliquée et complexeMais le prix du cloud s’adapte à votre besoin !
1818
Cloud et développeur : API
Chaque plate-forme possède sa panoplie d’outils, de librairies, de fonctions, d’API.
Il existe des différences importantes entre chaque offre. Il faut les connaître, les considérer dans son choix
Un développeur .Net ne pourra pas exploiter l’ensemble du framework .Net dans Azure : pas WPF, exception si écriture dans le registre, mais le framework reste le même
1919
Cloud et développeur : API
Azure : différents niveaux d’outilsSQL Azure, Azure Storage : storage et traitement des
donnéesAppFabric : anciennement .Net Services. Est là pour aider le
développeur à connecter et les services dans le cloud ou sur un modèle S+S. Fonctionne avec les applications Azure, tournant sous Server 2008 et les applications non .Net / Windows comme Java, Ruby, PHP.On dispose différents SDK pour les différents langagesEt des SDK nécessaires (et outils) pour Visual Studio et
Eclipse
2020
Cloud et développeur : API
Le modèle de développement est importantAzure propose un modèle de développement reprenant le
modèle .Net sur le développement et les outils
Il ne faut pas que le cloud casse vos habitudes même s’il faut vous adapter
Azure AppFabric : la pierre angulaireDoit aider le développeur à concevoir les applications, à
adapter les applications pour le cloud et le S+S
Dispose de différents « services »
2121
2222
Cloud et développeur : AppFabric
La partie « Service Bus »Pour sécuriser les connexions entre les services et les
applications tout en assurant le passage des pare-feux et les sécurités réseauxIl doit assurer une fonction « annuaire » et de découverte
des services à l’image d’un UDDIRôle vital car il assure la connexion application – SQL AzurePermet de créer des applications composites et S+SSupporte REST, http AccessPropose un mécanisme de contrôle d’accèsEtc.
2323
Cloud et développeur : AppFabric
Mais il faut aussi considérer AppFabric au-delà d’Azure
C’est du cloud mais aussi du serveur classique avec Windows Server 2008 AppFabric !AppFabric sera alors sur son serveur Windows tournant
avec IIS et utilisant WCF, Workflow Foundation et ASP.Net
Bref, il ne faut pas uniquement voir le cloud Azure uniquement dans sa dimension cloud
2424
Cloud et développeur : suite
Attention aux limitations : Azure Storage vs SQL AzureAzure Storage n’est pas relationnel, mais assure le stockage
de tables, de blob, les services queues. On dispose de tables à forte montée en charge grâce aux entités et le blob peut recevoir jusqu’à 50 Go de données !Azure Storage et le queue storage : pas de debug possible !
AppFabric doit faciliter et pallier aux lacunes… mais finalement l’usage de Azure Storage et de SQL Azure
n’est pas identique
2525
Cloud et développeur : SQL Azure
SQL Azure avoir un SQL Server dans le cloud mais avec des limitations qu’il faut considérer :
Fonctions Transact SQL limitées pas de CLR, pas de mirroring. Mais on dispose des procédures stockées, des transactions, etc. On dispose en fait d’un sous ensemble de Transact-SQL.Sur l’administration, certaines fonctions sont automatiques
comme la réplication et on ne contrôle pas les ressources physiques de SQL AzureMais : accès http/REST dans pas limité à .Net ! Et 100 To de
stockage !
2626
Cloud et développeur : AppEngine
Si on regarde Google App EngineUniquement en Python et JavaGoogle dit « beaucoup de frameworks fonctionnent avec App
Engine, mais d’autres non et d’autres peuvent nécessiter des modification » : aux développeurs de savoir lesquels pas d’écriture local des fichiersCréation de threads très limitésPas de support de Java EE
Stockage de données assez limité. Par contre compatible MacOS, Windows, Linux pour le
SDK
2727
Cloud et développeur : Spring
CloudFoundry de SpringSource permet de :Déploiement et administration des applications Java, Spring
et Grails sur Amazon EC2 ou VMwarePermet d’utiliser « facilement » Apache, MySQL… repose sur Cloud Tools
Cloud Tools permet de :D’adapter et de déployer les applis Java EEGérer les instances Amazon et VMware
2828
Cloud et développeur : au-delà
Mais au-delà du simple choix, il faut aussi se poser les bonnes questions sur le cloud choisi :
Les données sont-elles sécurités ?Qui peut accéder à mes données ? Ai-je un accès à toute heure à
mes données ?Quand mon contrat avec le fournisseur prend fin, que se passe-t-
il ?
Ensuite, il y a les questions d’interopérabilité, de portabilité, de géolocalisation, etc.Il faut repenser son application, comprendre la logique
cloud
2929
Le prix du cloud !
3030
Cloud et développeur : prix
Il faut distinguer :La tarification de base : temps du compute, stockage,
transaction, instanceLocalisation des centres de données services annexes : comme SQL Azure, la grandeur des
instances, fonctions spécifiques…
Chaque cloud a sa tarificationComment comparer plusieurs clouds sur le prix ?La tarification cloud est compliquée et est une jungle !Quelques forfaits disponibles, packages de compute offert
avec VS 2010 !
3131
Comparaison de prix de cloud
Tarifs simplifiés (en $ us)Cloud Amazon EC2 Azure Google AppEngine
Instance petiteEurope windows
0,12 / heure 0,12 / heure 0,12 / heure
Données E/S Gratuit / 0,15 Gb (10 premiers)
0,10 / 0,15 0,10 / 0,10
Stockage 0,11 Gb 0,15 Gb mois 0,15 ( Gb)SQL Azure - À partir de 9,99 /
mois-
AppFabric - Access Control 1,99ServiceBus 3,99
-
3232
Cloud et développeur : prix
Sur Amazon, à retenir :Windows plus cher que LinuxDifférences de prix entre US et Europe coût supplémentaire entre transferts de données entre
plusieurs zones géographiquesDivers suppléments possibles : blocs Amazon, Elastic IP,
Load Balancing (pas standard)…
Il faut aussi vérifier le niveau de disponibilité des services, les zones géographiques (pour les basculements d’une zone à une autre par ex.)
3333
Cloud et développeur : prix
Calculez en prenant en compte l’ensemble des éléments de votre cloud :
Bien lire les conditions et les multiples options possibles
Microsoft propose une calculatrice (non garantie) pour calculer rapidement le coût de son cloud selon son projet, son application, ses besoins. Pratique et rapide !
Il n’existe pas de calculatrice universelle. CloudMagazine lance l’idée, avis à la population !
3434
3535
3636
3737
Cloud et interopérabilité
3838
Cloud et interop
Tout cela n’existe pas !Interop dans le cloud : quasiment absenteSeuls des cloud de même nature, de caractéristiques identiques peuvent être interopérables initiatives très timides sur les formats d’images virtuels, les APILa sécurité (désolé pas eu le temps d’en parler plus) est l’exception
N’ayez aucune illusion aujourd’hui ! Demain ? Pas beaucoup mieux !
Déploiement des applications partout
Cloud ouvert et 100 % interop
Migration live des instances, données,
applications
3939
Cloud et interop
Qui travaille dessus ?Les éditeurs Iaas, Paas, Saas travaillent dessus, souvent de
leur côté pour assurer une interop sur leurs solutionsOMG, SNIA, DMTF travaillent dessus : stockage, API,
formats d’échanges
Une interop aujourd’hui très limitéeOn a un cloud App Engine en open sourceDes plate-formes, API et outils compatibles Amazon EC2Azure se veut interoperable avec PHP, Ruby, Java, avec
support d’outils comme Eclipse pour le SDK
4040
Cloud et interop
Une des questions : où doit se situer l’abstraction cloud et l’interop ?
Sur le bas niveau ou le haut niveau ? Pour l’utilisateur et le développeur, l’abstraction doit être
transparente et sans conséquence ! Idem pour les développements
Choisir son cloud c’est souvent :S’enfermer et utiliser les API éditeurs voire tiersImpossible de migrer live une application, une image virtuelle par
exemple d’un Ubuntu Cloud ou App Engine vers Azure ou même Amazon EC2S’enfermer dans une plate-forme et évoluer avecTrès peu d’API « standards » disponibles : sauf les protocoles du web
(soap, http, rest, xml…)
4141
4242
4343
Q & A
4444
www.cloudmagazine.frwww.azure.comhttp://blogs.developpeur.org/redo/Programmez! / programmez.com
Et le parcours Cloud aux TechDays !
4545
Merci !