SlideShare a Scribd company logo
1 of 25
Provisioning distributed OSGi
   applications in a cloud
         Guillaume Nodet, FuseSource
      gnodet@gmail.com, November 2011
My Background
     Guillaume Nodet
     Software Fellow at FuseSource
     ASF member
     PMC member of ActiveMQ, Camel, CXF,
      Felix, Geronimo, Karaf, Mina, ODE,
      ServiceMix
     OSGi Enterprise Expert Group

                              Twitter: http://twitter.com/gnodet/
                              LinkedIn: http://www.linkedin.com/in/guillaumenodet
                              Blog:    http://gnodet.blogspot.com/


A Progress Software Company
The Challenge


                    Install, configure and run OSGi
                   based applications in large scale
                              deployments




A Progress Software Company
Fuse Fabric
     http://fabric.fusesource.org/
     Open source software for configuring,
      provisioning and running OSGi
      deployments on any machines
             physical, virtual, private, public clouds
     Keeps you DRY from those rainy clouds
      
     Weave your container into an easy to
      manage fabric

A Progress Software Company
Fuse Fabric: what does it do?
     Remote deployment and config
             Provisioning of features across machines
             Distributed configurations
             Profiling of features / configs
     Distributed applications
             Distributed OSGi
     Middleware / integration support
             CXF, Camel, ActiveMQ

A Progress Software Company
What is Fabric
     Registry
     Agents
     Profiles

     Provisioning
     Remoting
     … and more

A Progress Software Company
Registry
     Based on Apache ZooKeeper
             A highly available, scalable, distributed,
              configuration, consensus, group membership,
              leader election, naming, and coordination
              service                            ZooKeeper


             Proven track record        Agent


             Support network splits
                                                                      Agent
                                                 Clustered Registry



                                                     Agent




A Progress Software Company
ZooKeeper Data Model
     Hierarchical                /



      namespace
                                       fabric


     Each znode has
                                                config

      data and                                             agents

      children
                                                           versions

     Data is read and                          registry



      written in its                    ...


      entirety

A Progress Software Company
Agent
     Karaf instance
     Connected to the
      registry
     Listen to registry         Agent
                                                              Agent
      changes                            Clustered Registry


     Automatic                              Agent
      provisionning


A Progress Software Company
Profiles
     List of znodes
             OSGi configuration
             Other documents
     One or more profiles associated to an
      agent
     Support multiple inheritance
     Versioned


A Progress Software Company
Runtime agent data
         Alive (ephemeral)
         IP
         Parent agent
         JMX URL
         SSH URL
         JMX domains



A Progress Software Company
Provisioning
     fabric-agent uses a know config PID
     At boot time and each time the profiles
      are updated, provisioning is applied
     List of repositories, features, bundles
     Using OBR internally to compute the set
      of bundles to deploy
     Update / install / uninstall as required


A Progress Software Company
Provisioning (cont.)
         Update features / bundles
         Update karaf bundles
         Update the OSGi framework
         Update system / osgi properties




A Progress Software Company
Versioning
     All profiles are stored in a version
     An agent points to a given version
     All updates on the current version are
      propagated immediately
     Rolling updates




A Progress Software Company
Deployment
     Fabric can create agents
               Locally
               Remotely as child instances
               Remotely from scratch using an SSH access
               In the cloud, creating the VM




A Progress Software Company
Deployment (cont.)
     Fabric can create agents
               Locally
               Remotely as child instances
               Remotely from scratch using an SSH access
               In the cloud, creating the VM




A Progress Software Company
Distributed OSGi
     Implementation of distributed OSGi
      defined in Enterprise OSGi v4.2
     Remoting mechanism for transparent
      calls between OSGi services
     Uses proxies on remote services




A Progress Software Company
Distributed OSGi (cont.)
         Using ZooKeeper for discovery
         Accessible remotely outside OSGi
         Full support for OSGi filters
         No change for the client
         Add service.exported.interfaces=* on the service
         Optimized IO
             HawtDispatch, tcp pool, multiplexing, optimized
              protocol, support for protobuf, support for
              asynchronous calls
             > 25000 req/s on my laptop


A Progress Software Company
Distributed OSGi (cont.)
     Service is queried, looked
       up in the registry, and                         Service is exported and
        imported as a proxy                           registered in the registry



                                          Agent
                                                              Agent



                                                  DOSGi
                                  Agent



                                                    Proxy used to send direct
                                                    calls to the remote agent




A Progress Software Company
Commands
     Registry
             zk-cluster zk:create     zk:delete
              zk:set     zk:get
              zk:import zk:export      zk:list

     Profile
             fabric:create-profile fabric:edit-profile
              fabric:display-profile fabric:domains
              fabric:list-profiles

     Agent
             fabric:create-agent    fabric:delete-agent
              fabric:list-agent      fabric:connect
              fabric:start           fabric:stop
              fabric:zk-cluster


A Progress Software Company
Other features
         Camel, CXF, ActiveMQ extensions
         Centralized security configuration
         Metrics collections into RRD
         … and more to come …




A Progress Software Company
Demo




A Progress Software Company
Wrap up
    Open source software for configuring,
    provisioning and running OSGi
    deployments on any machines.
    Featuring various components for
    integration based projects and an
    optimized distributed OSGi
    implementation.


A Progress Software Company
Questions




A Progress Software Company
Links
     Fuse Fabric
            • http://fabric.fusesource.org/
            • https://github.com/fusesource/fabric
     Apache ZooKeeper
            • http://zookeeper.apache.org/
     Apache Karaf
            • http://karaf.apache.org/
     Guillaume Nodet
            • http://gnodet.blogspot.com/
            • gnodet@gmail.com
     FuseSource
            • http://fusesource.com/

A Progress Software Company

More Related Content

Similar to Apache con 2011 provisioning distributed os-gi applications in a cloud

Part6 introducing the jas forge collaborative project
Part6   introducing the jas forge collaborative projectPart6   introducing the jas forge collaborative project
Part6 introducing the jas forge collaborative projectJasmine Conseil
 
Presentazione resin.io
Presentazione resin.ioPresentazione resin.io
Presentazione resin.ioGianluca Leo
 
Compiled Websites with Plone, Django, Xapian and SSI
Compiled Websites with Plone, Django, Xapian and SSICompiled Websites with Plone, Django, Xapian and SSI
Compiled Websites with Plone, Django, Xapian and SSIWojciech Lichota
 
UShareSoft Virtualization & Cloud Factory
UShareSoft Virtualization & Cloud FactoryUShareSoft Virtualization & Cloud Factory
UShareSoft Virtualization & Cloud FactoryUShareSoft
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on herokuAnand B Narasimhan
 
OGCE MSI Presentation
OGCE MSI PresentationOGCE MSI Presentation
OGCE MSI Presentationmarpierc
 
JavaOne 2009 BOF-5189 Griffon In Depth
JavaOne 2009 BOF-5189 Griffon In DepthJavaOne 2009 BOF-5189 Griffon In Depth
JavaOne 2009 BOF-5189 Griffon In DepthDanno Ferrin
 
SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!Wayne Williams
 
Heroku for team collaboration
Heroku for team collaborationHeroku for team collaboration
Heroku for team collaborationJohn Stevenson
 
Heroku for-team-collaboration
Heroku for-team-collaborationHeroku for-team-collaboration
Heroku for-team-collaborationJohn Stevenson
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE
 
Managing Your Runtime With P2
Managing Your Runtime With P2Managing Your Runtime With P2
Managing Your Runtime With P2Pascal Rapicault
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?ukdpe
 
A microservice architecture based on golang
A microservice architecture based on golangA microservice architecture based on golang
A microservice architecture based on golangGianfranco Reppucci
 
OGCE SciDAC2010 Tutorial
OGCE SciDAC2010 TutorialOGCE SciDAC2010 Tutorial
OGCE SciDAC2010 Tutorialmarpierc
 
Part 3 JasForge the collaborative and agile project v1.0
Part 3   JasForge the collaborative and agile project v1.0Part 3   JasForge the collaborative and agile project v1.0
Part 3 JasForge the collaborative and agile project v1.0Jasmine Conseil
 
Jasforge Agile Collaborative Platform
Jasforge Agile Collaborative PlatformJasforge Agile Collaborative Platform
Jasforge Agile Collaborative PlatformJasmine Conseil
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Skytap Cloud
 
XebiaLabs Overview Slides
XebiaLabs Overview SlidesXebiaLabs Overview Slides
XebiaLabs Overview SlidesXebiaLabs
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs
 

Similar to Apache con 2011 provisioning distributed os-gi applications in a cloud (20)

Part6 introducing the jas forge collaborative project
Part6   introducing the jas forge collaborative projectPart6   introducing the jas forge collaborative project
Part6 introducing the jas forge collaborative project
 
Presentazione resin.io
Presentazione resin.ioPresentazione resin.io
Presentazione resin.io
 
Compiled Websites with Plone, Django, Xapian and SSI
Compiled Websites with Plone, Django, Xapian and SSICompiled Websites with Plone, Django, Xapian and SSI
Compiled Websites with Plone, Django, Xapian and SSI
 
UShareSoft Virtualization & Cloud Factory
UShareSoft Virtualization & Cloud FactoryUShareSoft Virtualization & Cloud Factory
UShareSoft Virtualization & Cloud Factory
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on heroku
 
OGCE MSI Presentation
OGCE MSI PresentationOGCE MSI Presentation
OGCE MSI Presentation
 
JavaOne 2009 BOF-5189 Griffon In Depth
JavaOne 2009 BOF-5189 Griffon In DepthJavaOne 2009 BOF-5189 Griffon In Depth
JavaOne 2009 BOF-5189 Griffon In Depth
 
SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!SkyeCORE - Rev Up Your OSGi Services!
SkyeCORE - Rev Up Your OSGi Services!
 
Heroku for team collaboration
Heroku for team collaborationHeroku for team collaboration
Heroku for team collaboration
 
Heroku for-team-collaboration
Heroku for-team-collaborationHeroku for-team-collaboration
Heroku for-team-collaboration
 
FIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT AgentsFIWARE Wednesday Webinars - How to Debug IoT Agents
FIWARE Wednesday Webinars - How to Debug IoT Agents
 
Managing Your Runtime With P2
Managing Your Runtime With P2Managing Your Runtime With P2
Managing Your Runtime With P2
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
 
A microservice architecture based on golang
A microservice architecture based on golangA microservice architecture based on golang
A microservice architecture based on golang
 
OGCE SciDAC2010 Tutorial
OGCE SciDAC2010 TutorialOGCE SciDAC2010 Tutorial
OGCE SciDAC2010 Tutorial
 
Part 3 JasForge the collaborative and agile project v1.0
Part 3   JasForge the collaborative and agile project v1.0Part 3   JasForge the collaborative and agile project v1.0
Part 3 JasForge the collaborative and agile project v1.0
 
Jasforge Agile Collaborative Platform
Jasforge Agile Collaborative PlatformJasforge Agile Collaborative Platform
Jasforge Agile Collaborative Platform
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development
 
XebiaLabs Overview Slides
XebiaLabs Overview SlidesXebiaLabs Overview Slides
XebiaLabs Overview Slides
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
 

Recently uploaded

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Apache con 2011 provisioning distributed os-gi applications in a cloud

  • 1. Provisioning distributed OSGi applications in a cloud Guillaume Nodet, FuseSource gnodet@gmail.com, November 2011
  • 2. My Background  Guillaume Nodet  Software Fellow at FuseSource  ASF member  PMC member of ActiveMQ, Camel, CXF, Felix, Geronimo, Karaf, Mina, ODE, ServiceMix  OSGi Enterprise Expert Group Twitter: http://twitter.com/gnodet/ LinkedIn: http://www.linkedin.com/in/guillaumenodet Blog: http://gnodet.blogspot.com/ A Progress Software Company
  • 3. The Challenge Install, configure and run OSGi based applications in large scale deployments A Progress Software Company
  • 4. Fuse Fabric  http://fabric.fusesource.org/  Open source software for configuring, provisioning and running OSGi deployments on any machines  physical, virtual, private, public clouds  Keeps you DRY from those rainy clouds   Weave your container into an easy to manage fabric A Progress Software Company
  • 5. Fuse Fabric: what does it do?  Remote deployment and config  Provisioning of features across machines  Distributed configurations  Profiling of features / configs  Distributed applications  Distributed OSGi  Middleware / integration support  CXF, Camel, ActiveMQ A Progress Software Company
  • 6. What is Fabric  Registry  Agents  Profiles  Provisioning  Remoting  … and more A Progress Software Company
  • 7. Registry  Based on Apache ZooKeeper  A highly available, scalable, distributed, configuration, consensus, group membership, leader election, naming, and coordination service ZooKeeper  Proven track record Agent  Support network splits Agent Clustered Registry Agent A Progress Software Company
  • 8. ZooKeeper Data Model  Hierarchical / namespace fabric  Each znode has config data and agents children versions  Data is read and registry written in its ... entirety A Progress Software Company
  • 9. Agent  Karaf instance  Connected to the registry  Listen to registry Agent Agent changes Clustered Registry  Automatic Agent provisionning A Progress Software Company
  • 10. Profiles  List of znodes  OSGi configuration  Other documents  One or more profiles associated to an agent  Support multiple inheritance  Versioned A Progress Software Company
  • 11. Runtime agent data  Alive (ephemeral)  IP  Parent agent  JMX URL  SSH URL  JMX domains A Progress Software Company
  • 12. Provisioning  fabric-agent uses a know config PID  At boot time and each time the profiles are updated, provisioning is applied  List of repositories, features, bundles  Using OBR internally to compute the set of bundles to deploy  Update / install / uninstall as required A Progress Software Company
  • 13. Provisioning (cont.)  Update features / bundles  Update karaf bundles  Update the OSGi framework  Update system / osgi properties A Progress Software Company
  • 14. Versioning  All profiles are stored in a version  An agent points to a given version  All updates on the current version are propagated immediately  Rolling updates A Progress Software Company
  • 15. Deployment  Fabric can create agents  Locally  Remotely as child instances  Remotely from scratch using an SSH access  In the cloud, creating the VM A Progress Software Company
  • 16. Deployment (cont.)  Fabric can create agents  Locally  Remotely as child instances  Remotely from scratch using an SSH access  In the cloud, creating the VM A Progress Software Company
  • 17. Distributed OSGi  Implementation of distributed OSGi defined in Enterprise OSGi v4.2  Remoting mechanism for transparent calls between OSGi services  Uses proxies on remote services A Progress Software Company
  • 18. Distributed OSGi (cont.)  Using ZooKeeper for discovery  Accessible remotely outside OSGi  Full support for OSGi filters  No change for the client  Add service.exported.interfaces=* on the service  Optimized IO  HawtDispatch, tcp pool, multiplexing, optimized protocol, support for protobuf, support for asynchronous calls  > 25000 req/s on my laptop A Progress Software Company
  • 19. Distributed OSGi (cont.) Service is queried, looked up in the registry, and Service is exported and imported as a proxy registered in the registry Agent Agent DOSGi Agent Proxy used to send direct calls to the remote agent A Progress Software Company
  • 20. Commands  Registry  zk-cluster zk:create zk:delete zk:set zk:get zk:import zk:export zk:list  Profile  fabric:create-profile fabric:edit-profile fabric:display-profile fabric:domains fabric:list-profiles  Agent  fabric:create-agent fabric:delete-agent fabric:list-agent fabric:connect fabric:start fabric:stop fabric:zk-cluster A Progress Software Company
  • 21. Other features  Camel, CXF, ActiveMQ extensions  Centralized security configuration  Metrics collections into RRD  … and more to come … A Progress Software Company
  • 23. Wrap up Open source software for configuring, provisioning and running OSGi deployments on any machines. Featuring various components for integration based projects and an optimized distributed OSGi implementation. A Progress Software Company
  • 25. Links  Fuse Fabric • http://fabric.fusesource.org/ • https://github.com/fusesource/fabric  Apache ZooKeeper • http://zookeeper.apache.org/  Apache Karaf • http://karaf.apache.org/  Guillaume Nodet • http://gnodet.blogspot.com/ • gnodet@gmail.com  FuseSource • http://fusesource.com/ A Progress Software Company