SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

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

Open Source Licenses and Tools
Open Source Licenses and ToolsOpen Source Licenses and Tools
Open Source Licenses and Toolsg2ix
 
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
 

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

Open Source Licenses and Tools
Open Source Licenses and ToolsOpen Source Licenses and Tools
Open Source Licenses and Tools
 
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
 

Último

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
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
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
 
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
 
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
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 

Último (20)

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
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
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
 
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)
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
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
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 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