24

Click here to load reader

Déploiement dynamique d'applications OSGi sur le Cloud

Embed Size (px)

DESCRIPTION

Les structures informatiques dématérialisées (informatique en nuage, Cloud Computing) ont en quelques années révolutionné l’usage des ressources informatiques dans les entreprises. Les avancées en terme de virtualisation et de grilles de calcul ont permis une évolution des infrastructures classiques vers des infrastructures d'hébergement mutualisées et virtualisées. De nombreux travaux académiques et industriels s’intéressent à l'utilisation de la technologie OSGi pour déployer des applications complexes. Ces opérations de déploiement sont en général difficiles du fait de la nature très dynamique des infrastructures en nuage. Nous présentons ici, RoboConf, un gestionnaire de déploiement et de configuration automatique d'applications sur une infrastructure PaaS OSGi. Nous démontrons ensuiteRoboConf avec le déploiement automatique d'une application distribuée non triviale dans des conteneurs Apache Karaf sur des machines virtuelles Amazon EC2instanciées à la demande. Noël de Palma, Didier Donsez, Alain Tchana, Linh-Manh Pham, Université de Grenoble, Equipe ERODS

Citation preview

  • 1. Dynamic Deploymentof Distributed OSGiapplications on a IaaSNol de Palma, Didier Donsez,Alain Tchana, Linh-Manh PhamUniversit de Grenoble, LIG Equipe ERODS

2. RsumNol de Palma, Didier Donsez, Alain Tchana, Linh-Manh Pham (Universit de Grenoble, LIG quipeERODS), "Dploiement dynamique dapplications OSGi sur le Cloud"Rsum: Les structures informatiques dmatrialises (informatique en nuage, Cloud Computing) ont enquelques annes rvolutionn lusage des ressources informatiques dans les entreprises. Les avances enterme de virtualisation et de grilles de calcul ont permis une volution des infrastructures classiques vers desinfrastructures dhbergement mutualises et virtualises. De nombreux travaux acadmiques et industrielssintressent lutilisation de la technologie OSGi pour dployer des applications complexes. Ces oprationsde dploiement sont en gnral difficiles du fait de la nature trs dynamique des infrastructures en nuage.Nous prsentons ici, RoboConf, un gestionnaire de dploiement et de configuration automatiquedapplications sur une infrastructure PaaS OSGi. Nous dmontrons ensuite RoboConf avec le dploiementautomatique dune application distribue non triviale dans des conteneurs Apache Karaf sur des machinesvirtuelles Amazon EC2 instancies la demande. 3. Outline Context : OSGi & Cloud Roboconf Roboconf for an OSGi PaaS Demo 4. OSGi specifications De-facto Standard for Modular Java applications Dynamic Deployment of Modules without rebooting ; exception : Eclipse plugins SOA principles in Java applications Specifications target standalone applications BUT Good candidate for distributed applicationsand distributed middlewares JEE, EEG, DOSGi, ... 5. Cloud Computing Outsourcing of IT ressources Network, CPU Core, Memory, Storage Pay per Use Elasticity on-demand ressource allocation/desallocation Virtualization technics VM (VMWare, Xen, VirtualBox ), LCX, ... Types : Public, Private and Hybrid Clouds Models : IaaS, PaaS, SaaS (Map Reduce for Big Data) Cloud Providers Amazon, Google, Microsoft, HP, OVH, Eolas, Concerns : Optimize physical machines numbers and consumedelectricity. 6. OSGi & Cloud Enterprise EG Cloud Computing (RFP 133) OSGi Cloud Ecosystems (RFC 183)http://fr.slideshare.net/bosschaert/osgi-cloud-ecosystems Cloud-ready OSGi platforms Paremus, RedHat Jboss, PeerGreen Academic researches OSGi4C 7. Cloud Computing :Application Administrators point of viewA S D0) create an EC2 account and enter (companys) credit card number1) Define a configuration2) Start AMIs3) Configure dependencies (@IP, port, security, firewalls )4) Monitor performance and usageTime consumingError ProneRequests 8. Cloud Computing :Application Administrators point of viewAASS DD0) create an EC2 account and enter (companys) credit card number1) Define a configuration2) Start AMIs3) Configure dependencies (@IP, port, security, firewalls )4) Monitor performance and usage5) Change the configuration6) Start additionnal AMIs / Stop existing AMIs / Migrate AMIs7) Re-Configure dependencies (@IP, port, security, )...10) Pay monthly $$$$$ for CPU time, ...Time consumingError ProneNightmareRequestsRequests 9. Roboconf Motivation Automatic deployment/evolution ofdistributed application configuration on a IaaS What does it do ? Instantiates and manages VM in the IaaS Deploys components on those VM Makes those components to configure each other RoboConf DSL: describing configurations Fully asynchronous 10. Roboconf DSLConfiguration Model Types (inheritance) & Instances & VM Import & Export Variables pubsublifecycles scripts inBASH, PUPPET, 11. Deployment & ConfigurationPubSub vars : Act as a distributedconfiguration managerAMIsRepoScriptsRepoArtifactsRepoAMIs containsa RoboConf agent 12. Algorithm to exchange vars foreach export: subscribe to import.$exportName publish exported vars on export.$exportName foreach import: subscribe to export.$importName publish notification on import.$importName if receive notification publish exported vars on export.$exportNameAsynchronous Exchanges Instances can be configured in any order! Application is dynamic! Component can be added without effort!12 13. Example with a simple JEE conf 14. Roboconf for OSGiMotivations : OSGi PaaS Deploy and configure OSGi containersand then Distributed OSGi applicationson VM IaaS Reuse/Share OSGi applications in same OSGi containers Isolate OSGi applications in differents OSGi containers or VMs Scripts for Felix and Karaf Containers for OSGi Applicationssets of bundles, features, CA cfgs and sys properties Repos OSGi containers (Felix, Karaf, ...) Bundles (.jar, tgz of .jar, .cfg, .sysprop) Private or Public (Felix OBR, Maven Central, ...) 15. Files for Apache Karaf 16. DemonstrationSpecJMS like Configuration (DSL)VM2IaaS : EC2OSGi Container : Apache KarafApp : erzatz of SpecJMS benchmarkVM3VM1ScriptsRepoBundlesReporoboconfconsole 17. DemonstrationSpecJMS like Configuration (DSL)VM2IaaS : EC2OSGi Container : Apache KarafApp : erzatz of SpecJMS benchmarkKFVM3KFVM1KFScriptsRepoBundlesReporoboconfconsole 18. DemonstrationSpecJMS like Configuration (DSL)VM2IaaS : EC2OSGi Container : Apache KarafApp : erzatz of SpecJMS benchmarkKFJMS SenderVM3KFJMS ReceiverVM1KFJMS ServerJNDI ServerScriptsRepoContainers &BundlesReporoboconfconsole 19. Add a new sender (from the console)VM2KFJMS SenderVM3KFJMS ReceiverVM1KFJMS ServerJNDI ServerScriptsRepoContainers &BundlesRepoVM4KFJMS SenderKFJMS Senderroboconfconsole 20. Add a new receiver (from the console)VM2KFJMS SenderVM3KFJMS ReceiverVM1KFJMS ServerJNDI ServerScriptsRepoContainers &BundlesRepoVM4KFJMS SenderKFJMS SenderVM5KFJMS Receiverroboconfconsole 21. Conclusion & Perpectives Deployment and Configuration for an OSGi PaaS More IaaS : Google, Azure, OpenStack, ... More scripting/configuration tools OSGi JMX, Permission Admin, MetaType Remote Deployment, Deployment Admin Coordination with Cellars Distributed CA More lifecycle scripts : Ant, ... More monitoring/design tools Releasing to FOSS 22. Un peu de pub ... Ecole ICAR 2013 sur le Cloud Computing26 au 30 Aout 2013 Grenoble http://erods.liglab.fr/icar2013/ Avec Microsoft, Intel, OVH, Eolas, OW2 ... 23. Extra 24. Puppet https://puppetlabs.com/Popular Configuration managerDefines the desired state of the systemusing Packages, Files, Services