SlideShare a Scribd company logo
1 of 38
Download to read offline
Cloud & OSGi - Beyond the VM




Richard Nicholson: Paremus CEO
                                                                                                                               www.paremus.com
                   President of the OSGi Alliance

 OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                                      March 2012
                                         May not be reproduced by any means without express permission. All rights reserved.
Virtual Machine Man


                                              Amazon EC2, RackSpace, Azure? They all suffer
                                              from the same fundamental design flaw.
                                              Virtual Machine image centric Cloud solutions:
                                                • Cause excessive network infrastructure load.
                                                • Cause excessive storage consumption - caused by virtual machine
                                                   image sprawl.
                                                • Fail to address to primary issue - the ongoing cost of maintaining
                                                   applications.




OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
VM images: The Wrong deployment artefact!

                                                Type of Deployment Artefact
                                          Artefact                       Module Centric                             Image Centric

                                        Machine Image                  ~ 1 to 2 Gbytes per node                  ~ 1 to 2 Gbytes per node

                                           Application                      ~ 1 TO 100 Mbytes                    ~ 1 to 2 Gbytes per node

                                        Application Patch                      ~ 100’s Kbytes                    ~ 1 to 2 Gbytes per node

                                   Property / Config Changes                       ~ 1 Kbyte                      ~ 1 to 2 Gbytes per node




OSGi Dev Con 2012 - Cloud Workshop II                                   Copyright © 2005 - 2012 Paremus Ltd.                                March 2012
                                                   May not be reproduced by any means without express permission. All rights reserved.
Observation

                                                                                                                                            m ?
                                                                                        o
1. The Unit of Deployment is...                                                                                                   Need to Optimise
 • The unit of fix / maintenance.
 • The potential unit of re-use.
                                                                                     Ro                                                 Response



Also...                                                       Detect
                                                                                t he                                                                  Decision


                                                      i n
2. Time to deploy - directly influences...
 • Time to recover a failed Business Service.

                                        r k
 • Time to scale an environment in response to business load.
                                      i
      s K
     I                                                                                                                          Patterns of Modular Architecture

                                                                                                                                        (Kirk Knoernschild)
  OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                                                           March 2012
                                          May not be reproduced by any means without express permission. All rights reserved.
Principle: Modularity and Abstraction
The smaller the deployment artefact the better

➟ BUT MUST AT ALL COST avoid Operational Complexity.




                                                                      ?
Automatically manage dependencies
Automatically install required parts.
ABSTRACTION - operations must manage the WHOLE, not the constituent PARTS.

➟ The new OSGi Alliance R5.0 OBR (Resolver & Repository specifications)


 OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                         May not be reproduced by any means without express permission. All rights reserved.
Principle: Modularity and Abstraction
The smaller the deployment artefact the better

➟ BUT MUST AT ALL COST avoid Operational Complexity.
Automatically manage dependencies
Automatically install required parts.
ABSTRACTION - operations must manage the WHOLE, not the constituent PARTS.

➟ The new OSGi Alliance R5.0 OBR (Resolver & Repository specifications)


 OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                         May not be reproduced by any means without express permission. All rights reserved.
Principle: Modularity and Abstraction
The smaller the deployment artefact the better

➟ BUT MUST AT ALL COST avoid Operational Complexity.
Automatically manage dependencies
Automatically install required parts.
ABSTRACTION - operations must manage the WHOLE, not the constituent PARTS.

➟ The new OSGi Alliance R5.0 OBR (Resolver & Repository specifications)


 OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                         May not be reproduced by any means without express permission. All rights reserved.
circa 2005




Paremus introduce the Service Fabric - a distributed OSGi / OBR based
                           Cloud runtime.

OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
The Paremus Service Fabric
                                    A highly modular OSGi™ / OSGi Resolver based cloud runtime.

   (1..m) ‘Composite Applications’ (a.k.a. Systems) may be
dynamically assembled and run upon a single Service Fabric.

                                          SaaS




                                                                                                                 Java / Scala, [Blueprint, Declarative
                                                                                                                 Services, WARs & generic artefacts].



                                          IaaS


(1..n) compute resource (physical or virtual) may contribute
                 to create a Service Fabric
OSGi Dev Con 2012 - Cloud Workshop II                                 Copyright © 2005 - 2012 Paremus Ltd.                                         March 2012
                                                 May not be reproduced by any means without express permission. All rights reserved.
Operational simplicity through Abstraction
  The Service Fabric is a model driven runtime.
  To change a running System, simply change its model in the required manner.


Target State                                                                                                                     Runtime State

       =1
       =5
       =1




                 Re-Configure

   OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                                             March 2012
                                           May not be reproduced by any means without express permission. All rights reserved.
Updating the System
  The runtime will respond...

                                                                Provision Delta


Target State                                                                                                                          Runtime State

                                                               Planned Deltas
       =1                                                    e.g. Configuration
                                   M!del                          changes
       =5                       Target State
                                                                                                           Runtime
                                                             Unplanned Deltas                               Entity
                              "Structure#SLA$
       =1                                                      e.g. Resource
                                                                  failures




                                                                     Monitor

   OSGi Dev Con 2012 - Cloud Workshop II                             Copyright © 2005 - 2012 Paremus Ltd.                                             March 2012
                                                May not be reproduced by any means without express permission. All rights reserved.
Today - 2012
            Building consensus that next generation of cloud solution will
             be composite and will support dynamically assembly highly
                                modular applications.

             Growing realisation that OSGi, and specifically the new OBR
                       resolver specification, are key enablers.



OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
Dependency management
                      really is everything!



OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
OBR Resolution Process
                                                                                                                   OSGi Repository A


                                                                                                                                            Physical Repository
                     OSGi Resolver
                                                                                                                   OSGi Repository B




                                                                                                                   OSGi Repository C




                                                                                                                              ‘Scoped’ Repositories
                                                                                                                      (specific views of one - or more - physical
                                                                                                                                     repositories)


      RESOLVER ENVIRONMENT



OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                                                         March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
OBR Resolution Process
                                                                                                                   OSGi Repository A


                                                                                                                                            Physical Repository
                     OSGi Resolver
                                                                                                                   OSGi Repository B




                                                                                                                   OSGi Repository C


                 Resource/s +
                 Constraints
                 e.g. ‘Pricer (a,c)’                                                                                          ‘Scoped’ Repositories
                                                                                                                      (specific views of one - or more - physical
                                                                                                                                     repositories)


      RESOLVER ENVIRONMENT



OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                                                         March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
OBR Resolution Process
                                                                                                                   OSGi Repository A


                                                                                                                                            Physical Repository
                     OSGi Resolver
                                                                                                                   OSGi Repository B




                                                                                                                   OSGi Repository C


                 Resource/s +
                 Constraints
                 e.g. ‘Pricer (a,c)’                                                                                          ‘Scoped’ Repositories
                                                                                                                      (specific views of one - or more - physical
                                                                                                                                     repositories)


      RESOLVER ENVIRONMENT



OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                                                         March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
OBR Resolution Process
                                                                                                                    OSGi Repository A


                                                                                                                                             Physical Repository
                     OSGi Resolver
                                                                                                                    OSGi Repository B




                                                                                                                    OSGi Repository C


                                        Part ‘Pricer’
                 Resource/s +
                 Constraints
                 e.g. ‘Pricer (a,c)’                                                                                           ‘Scoped’ Repositories
                                                                                                                       (specific views of one - or more - physical
                                                                                                                                      repositories)


      RESOLVER ENVIRONMENT



OSGi Dev Con 2012 - Cloud Workshop II                         Copyright © 2005 - 2012 Paremus Ltd.                                                         March 2012
                                         May not be reproduced by any means without express permission. All rights reserved.
OBR Resolution Process
                                                                                                                    OSGi Repository A


                                                                                                                                             Physical Repository
                     OSGi Resolver
                                                                                                                    OSGi Repository B




                                                                                                                    OSGi Repository C


                                        Part ‘Pricer’
                 Resource/s +
                 Constraints
                 e.g. ‘Pricer (a,c)’                                                                                           ‘Scoped’ Repositories
                                                                                                                       (specific views of one - or more - physical
                                                                                                                                      repositories)


      RESOLVER ENVIRONMENT
                                                                         WHAT NOW?
OSGi Dev Con 2012 - Cloud Workshop II                         Copyright © 2005 - 2012 Paremus Ltd.                                                         March 2012
                                         May not be reproduced by any means without express permission. All rights reserved.
Centralised Resolver: push / pull resultant composites?
                                                                                                                          OSGi Repository A


                                                                                                                                              Physical Repository
                     OSGi Resolver
                                                                                                                          OSGi Repository B




                                                                                                                          OSGi Repository C
                                                                                                                   1

                                   Part ‘Pricer’



                                                                                                        2

                                                            Push / Pull
                                                         The new software
                                                             Artefact?
OSGi Dev Con 2012 - Cloud Workshop II                               Copyright © 2005 - 2012 Paremus Ltd.                                                March 2012
                                               May not be reproduced by any means without express permission. All rights reserved.
Centralised Resolver: push / pull resultant composites?

  • Better than a fully stacked VM (WHAT COULD BE
    WORSE?!).
  • Heavy resolving load on centralised (one or a few) ‘Cloud‘
    resolvers.
  • Shipping assembled composites to target nodes loads loads
    network and source nodes.
  • No visibility of local environment on target nodes. Resolution
    may be incorrect or not optimal.
  • Example of approach - Apache ACE?

OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
Centralised Resolver: Push / Pull List of Bundles?
                                                                                                                          OBR Repository A


                                                                                                                                             Physical Repository
                     OBR Resolver
                                                                                                                          OBR Repository B




                                                                                                                          OBR Repository C



                                   Part ‘Pricer’
                                                                  *AR
                                                                               Pricer                                                            2
                                                                                 bundle   a
                                                                                 bundle   b
                                                                                 bundle   c
                                                                                 bundle   d
                                                                                 bundle   e
                                                                                 bundle   f
                                                                                 bundle
                                                                                 bundle
                                                                                          g
                                                                                          h
                                                                                                        1




OSGi Dev Con 2012 - Cloud Workshop II                               Copyright © 2005 - 2012 Paremus Ltd.                                               March 2012
                                               May not be reproduced by any means without express permission. All rights reserved.
Centralised Resolver: Push / Pull List of Bundles?


 • Better than pushing / pulling composite artefacts.
 • Avoids some network loading - but not the loading
   on the centralised resolvers.
 • Still no visibility of local environment on target
   nodes. As before - resolution may be incorrect or
   not optimal.
 • Example of approach?


OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
Service Fabric approach - OSGi Resolver on each node                                                                                                       ✔
                                                                                                                                      $ ./posh
                                                                                                                                      Paremus Service Fabric Evaluation License,
                                        OSGi Resolver                                                                                 expires Wed Jan 09 23:59:59 EST 2013.
                                                                                                                                      ______________________________________
                                                                                                                                      Welcome to the Paremus Service Fabric!
                                                                                                                                      [paremus-ran-2.local.0]% lsb
                                                                                                                                       0 ACTIVE org.apache.felix.framework:3.2.1
                                                                                                                                       1 ACTIVE com.paremus.core.types:1.4.5
                                                                                                                                       2 ACTIVE com.paremus.core.hooks:1.4.5
                                                                                                                                       3 ACTIVE com.paremus.posh.runtime:1.4.5
                                                                                                                                       4 ACTIVE com.paremus.posh.shell:1.4.5
                                                                                                                                       5 ACTIVE com.paremus.console:1.4.5
                                                                                                                                       6 ACTIVE com.paremus.nimble.core:1.4.5
                                                                                                                                       7 ACTIVE com.paremus.nimble.repos:1.4.5
                                                                                                                                       8 ACTIVE com.paremus.nimble.cli:1.4.5
                                                                                                                                       9 ACTIVE org.apache.felix.configadmin:1.2.8
                                                                                                                                      10 ACTIVE com.paremus.util.cmds:1.4.5

                                                                                                                                         Resolver centric OSGi runtimes are
                                                                                                                                      lightweight runtimes ! (example Paremus
                                                                                                                                                      Nimble).
                                    An OSGi runtime
                                    instance




OSGi Dev Con 2012 - Cloud Workshop II                                Copyright © 2005 - 2012 Paremus Ltd.                                                                March 2012
                                                May not be reproduced by any means without express permission. All rights reserved.
Inject Root Resource & OSGi repository scope




                                                     negotiate
                                                                                                                   OBR Repository A


                                                                                                                                      Physical Repository
    Resource/s +
    Constraints                                                                                                    OBR Repository B
    e.g. ‘Pricer (a,c)’


                                                                                                                   OBR Repository C



A negotiation process selects optimal
nodes to host the ‘Pricer’ composite



OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                                               March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
Inject Root Resource & OSGi Repository scope



                                                                                                                   OBR Repository A


                                                                                                                                      Physical Repository
    Resource/s +
    Constraints                                                                                                    OBR Repository B
    e.g. ‘Pricer (a,c)’


                                                                                                                   OBR Repository C




Each node performs a local resolution.



OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                                               March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
Inject Root Resource & OSGi Repository scope




                                                     RESOLVE
                                                                                                                   OBR Repository A


                                                                                                                                      Physical Repository
    Resource/s +
    Constraints                                                                                                    OBR Repository B
    e.g. ‘Pricer (a,c)’


                                                                                                                   OBR Repository C




Each node performs a local resolution.



OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                                               March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
Each participating node asynchronous pulls artefacts




                                                                                                                                       Physical Repository
    Resource/s +
    Constraints
                                                                                                       Asynchronous flow of bundles from
    e.g. ‘Pricer (a,c)’                                                                                one or more physical repositories to
                                                                                                               participating nodes




Each node asynchronously downloads
required bundles that are not already local.

OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                                                March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
Repeat



   ‘Persistence (b,c)’


    ‘Gateway (b)’




OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
System Models
                    In RFC-133 we defined the notion of a ‘System’: A runtime
                    abstraction comprised of elements, wiring and runtime constraints.

                                                                                                                                                <system name="gateway.system" version="1.0"
                                                                                                                                                     boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn"
                                                                                                                                                 xmlns="http://schema.paremus.com/sf/1">
                                                                                                                                                 <description>Deploys a pricer and gateway component wired together using slp and essencermi</description>

                                                                                                                                                 <!-- set SystemGroup for security control -->
                                                                                                                                                 <nature group="demo" />

                                                                                                                                                 <system name="pricer" boundary="fibre">
                                                                                                                                                  <system.part category="msf" name="com.example.pricer">
                                                                                                                                                   <property name="type" value="firm" />
                                                                                                                                                  </system.part>
                                                                                                                                                  <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" />
                                                                                                                                                  <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" />
                                                                                                                                                  <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" />
                                                                                                                                                  <replication.handler type="scalable">
                                                                                                                                                   <property name="scaleFactor" value="1" type="float" />
                                                                                                                                                   <property name="fixedDelta" value="-2" type="integer" />
                                                                                                                                                   <property name="minimum" value="1" type="integer" />
                                                                                                                                                  </replication.handler>
                                                                                                                                                 </system>

                                                                                                                                                 <system name="gateway" boundary="fibre">
                                                                                                                                                  <system.part category="msf" name="com.example.gateway">
                                                                                                                                                   <property name="id" value="foo" />
                                                                                                                                                  </system.part>
                                                                                                                                                  <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" />
                                                                                                                                                  <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" />
                                                                                                                                                  <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" />
                                                                                                                                                 </system>
                                                                                                                                                </system>



                                          Pricer (b,c) [1..n]     Persistence (a,c) [1..1]           Gateway (b) [1..m]


Physical Deployment                                    Running System = FX Trading                                                                  System Model = FX Trading




  OSGi Dev Con 2012 - Cloud Workshop II                                        Copyright © 2005 - 2012 Paremus Ltd.                                                                                                      March 2012
                                                          May not be reproduced by any means without express permission. All rights reserved.
A ‘System’ Model - (example Paremus Service Fabric)
<system name="fx.system" version="1.0"
     boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn"
 xmlns="http://schema.paremus.com/sf/1">
 <description>Deploys a pricer and gateway component wired together using slp and essencermi</description>

  <!-- set SystemGroup for security control -->
  <nature group="demo" />

  <system name="pricer" boundary="fibre">
   <system.part category="msf" name="com.example.pricer">
    <property name="type" value="firm" />
   </system.part>                                                                                                                Defines system name and version.
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" />                                         Whether System is distributed.
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" />
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" />
   <replication.handler type="scalable">                                                                                         The OSGi repositories to be used when
    <property name="scaleFactor" value="1" type="float" />                                                                        assembling Parts.
    <property name="fixedDelta" value="-2" type="integer" />
    <property name="minimum" value="1" type="integer" />
   </replication.handler>
  </system>

...
...
...

</system>




 OSGi Dev Con 2012 - Cloud Workshop II                          Copyright © 2005 - 2012 Paremus Ltd.                                                      March 2012
                                           May not be reproduced by any means without express permission. All rights reserved.
A ‘System’ Model - (example Paremus Service Fabric)
<system name="fx.system" version="1.0"
     boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn"
 xmlns="http://schema.paremus.com/sf/1">
 <description>Deploys a pricer and gateway component wired together using slp and essencermi</description>

  <!-- set SystemGroup for security control -->
  <nature group="demo" />

  <system name="pricer" boundary="fibre">
   <system.part category="msf" name="com.example.pricer">
    <property name="type" value="firm" />
   </system.part>                                                                                                                The Pricer Part. A managed service
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" />                                         fabric based built from
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" />
                                                                                                                                 com.example.pricer. An
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" />
   <replication.handler type="scalable">                                                                                         instance of which is created with
    <property name="scaleFactor" value="1" type="float" />                                                                        attribute ‘firm’
    <property name="fixedDelta" value="-2" type="integer" />
    <property name="minimum" value="1" type="integer" />
   </replication.handler>
  </system>

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


</system>




 OSGi Dev Con 2012 - Cloud Workshop II                          Copyright © 2005 - 2012 Paremus Ltd.                                                       March 2012
                                           May not be reproduced by any means without express permission. All rights reserved.
A ‘System’ Model - (Paremus Service Fabric)
<system name="fx.system" version="1.0"
     boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn"
 xmlns="http://schema.paremus.com/sf/1">
 <description>Deploys a pricer and gateway component wired together using slp and essencermi</description>

  <!-- set SystemGroup for security control -->
  <nature group="demo" />

  <system name="pricer" boundary="fibre">
   <system.part category="msf" name="com.example.pricer">                                                                                       AVRO?
    <property name="type" value="firm" />
   </system.part>
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" />
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" />
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" />
   <replication.handler type="scalable">
    <property name="scaleFactor" value="1" type="float" />                                                                        Remote Services using the Paremus
    <property name="fixedDelta" value="-2" type="integer" />                                                                      implementation of the OSGI Alliance RSA
    <property name="minimum" value="1" type="integer" />                                                                         specification.
   </replication.handler>
  </system>
                                                                                                                                 In this example Essence RMI is the
....                                                                                                                             protocol - and SLP is
....                                                                                                                             used for discover. Normally we
....
                                                                                                                                 recommend DDS - which is the default.

</system>



 OSGi Dev Con 2012 - Cloud Workshop II                          Copyright © 2005 - 2012 Paremus Ltd.                                                       March 2012
                                           May not be reproduced by any means without express permission. All rights reserved.
A ‘System’ Model - (Paremus Service Fabric)
<system name="fx.system" version="1.0"
     boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn"
 xmlns="http://schema.paremus.com/sf/1">
 <description>Deploys a pricer and gateway component wired together using slp and essencermi</description>

  <!-- set SystemGroup for security control -->
  <nature group="demo" />

  <system name="pricer" boundary="fibre">
   <system.part category="msf" name="com.example.pricer">
    <property name="type" value="firm" />
   </system.part>                                                                                                                                  ....
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" />
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" />
   <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" />
   <replication.handler type="scalable">                                                                                                   1
    <property name="scaleFactor" value="1" type="float" />
    <property name="fixedDelta" value="-2" type="integer" />
    <property name="minimum" value="1" type="integer" />
   </replication.handler>                                                                                                                                    Many
  </system>

....                                                                                                                             Replication Handlers control the number
....                                                                                                                             of Part instances required in the
....                                                                                                                             runtime.
</system>




 OSGi Dev Con 2012 - Cloud Workshop II                          Copyright © 2005 - 2012 Paremus Ltd.                                                          March 2012
                                           May not be reproduced by any means without express permission. All rights reserved.
DEMO TIME
  1. Start a client.
  2. Start single node Service Fabric & a simple OBR repository.
  3. Load Repository & System model.
  4. Deploy System.
  5. Apply a property change to the running System.




OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
Control Loops & Hierarchies

                                        automatic or manual Outer Control Loop (IaaS)
                                                         controlling number of VM resources
                                                                  in the environment




                                                  reactive Inner Control Loop (PaaS)
                                                                 Controls distribution
                                                           of software components across
                                                          population of available resources



                                                                         Cloud
                                                                        Runtime


               Highly agile, stable & robust systems tend to use (fast) inner and (slow) outer
               provisioning control loops (reference http://www.ist-selfman.org/wiki/images/9/94/
               SelfmanFACS06talk.pdf).

OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
BNDTools <> Service Fabric Integration




                                        Code                                                                Run

                                           An OBR centric end-to-end solution




OSGi Dev Con 2012 - Cloud Workshop II                               Copyright © 2005 - 2012 Paremus Ltd.                             March 2012
                                               May not be reproduced by any means without express permission. All rights reserved.
Modular Systems are Maintainable Systems


                                                                                                          Applicability w.r.t OPEX of VM based (non modular)
                                                                                                     } private Cloud solutions.




  Anne Thomas Manes (Gartner) – SOA Symposium: Berlin, October 2010



OSGi Dev Con 2012 - Cloud Workshop II                        Copyright © 2005 - 2012 Paremus Ltd.                                                     March 2012
                                        May not be reproduced by any means without express permission. All rights reserved.
Thanks


                                            www.paremus.com


                          Service Fabric - www.paremus.com/psf
                            Nimble - www.paremus.com/nimble
                              Bndtools - http://bndtools.org


                                           info@paremus.com


Service Fabric Overview                                 Copyright © 2012 Paremus Ltd.                                February 2012
                               May not be reproduced by any means without express permission. All rights reserved.

More Related Content

What's hot

Cloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleCloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleBob Rhubart
 
Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台George Ang
 
5 Cloud Commandments - Why Cloud Management Makes Sense
5 Cloud Commandments - Why Cloud Management Makes Sense5 Cloud Commandments - Why Cloud Management Makes Sense
5 Cloud Commandments - Why Cloud Management Makes SenseRightScale
 
Introducing OneCommand Vision 3.0, I/O management that gives your application...
Introducing OneCommand Vision 3.0, I/O management that gives your application...Introducing OneCommand Vision 3.0, I/O management that gives your application...
Introducing OneCommand Vision 3.0, I/O management that gives your application...Emulex Corporation
 
colony framework & omni platform
colony framework & omni platformcolony framework & omni platform
colony framework & omni platformHive Solutions
 
Hive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentationHive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentationEuroCloud
 
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...Eucalyptus Systems, Inc.
 
UShareSoft presented in OW2 track @ Solutions Linux 2012
UShareSoft presented in OW2 track @ Solutions Linux 2012UShareSoft presented in OW2 track @ Solutions Linux 2012
UShareSoft presented in OW2 track @ Solutions Linux 2012UShareSoft
 
Day 3 p4 - cloud strategy
Day 3   p4 - cloud strategyDay 3   p4 - cloud strategy
Day 3 p4 - cloud strategyLilian Schaffer
 
Agile 2012 Conference briefing deck for Analyst and Press
Agile 2012 Conference briefing deck for Analyst and Press Agile 2012 Conference briefing deck for Analyst and Press
Agile 2012 Conference briefing deck for Analyst and Press Laszlo Szalvay
 
HP Server og Lagring SPOR 1
HP Server og Lagring SPOR 1HP Server og Lagring SPOR 1
HP Server og Lagring SPOR 1HP Norge
 
G2iX CIO Forum - Updated CIO Innovation Toolkit
G2iX CIO Forum - Updated CIO Innovation ToolkitG2iX CIO Forum - Updated CIO Innovation Toolkit
G2iX CIO Forum - Updated CIO Innovation Toolkitg2ix
 
C bu06 planning_your_cloud_education
C bu06 planning_your_cloud_educationC bu06 planning_your_cloud_education
C bu06 planning_your_cloud_educationMegan Irvine
 
Building a right sized, do-anything runtime using OSGi technologies: a case s...
Building a right sized, do-anything runtime using OSGi technologies: a case s...Building a right sized, do-anything runtime using OSGi technologies: a case s...
Building a right sized, do-anything runtime using OSGi technologies: a case s...mfrancis
 
demystifying cloud computing
demystifying cloud computing demystifying cloud computing
demystifying cloud computing Minu S
 

What's hot (18)

Cloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleCloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
 
Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台
 
5 Cloud Commandments - Why Cloud Management Makes Sense
5 Cloud Commandments - Why Cloud Management Makes Sense5 Cloud Commandments - Why Cloud Management Makes Sense
5 Cloud Commandments - Why Cloud Management Makes Sense
 
Introducing OneCommand Vision 3.0, I/O management that gives your application...
Introducing OneCommand Vision 3.0, I/O management that gives your application...Introducing OneCommand Vision 3.0, I/O management that gives your application...
Introducing OneCommand Vision 3.0, I/O management that gives your application...
 
colony framework & omni platform
colony framework & omni platformcolony framework & omni platform
colony framework & omni platform
 
Hive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentationHive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentation
 
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
How to Transform Enterprise Applications to On-premise Clouds with Wipro and ...
 
101 cd 1345-1415
101 cd 1345-1415101 cd 1345-1415
101 cd 1345-1415
 
UShareSoft presented in OW2 track @ Solutions Linux 2012
UShareSoft presented in OW2 track @ Solutions Linux 2012UShareSoft presented in OW2 track @ Solutions Linux 2012
UShareSoft presented in OW2 track @ Solutions Linux 2012
 
Day 3 p4 - cloud strategy
Day 3   p4 - cloud strategyDay 3   p4 - cloud strategy
Day 3 p4 - cloud strategy
 
102 1630 1700
102 1630 1700102 1630 1700
102 1630 1700
 
Agile 2012 Conference briefing deck for Analyst and Press
Agile 2012 Conference briefing deck for Analyst and Press Agile 2012 Conference briefing deck for Analyst and Press
Agile 2012 Conference briefing deck for Analyst and Press
 
HP Server og Lagring SPOR 1
HP Server og Lagring SPOR 1HP Server og Lagring SPOR 1
HP Server og Lagring SPOR 1
 
G2iX CIO Forum - Updated CIO Innovation Toolkit
G2iX CIO Forum - Updated CIO Innovation ToolkitG2iX CIO Forum - Updated CIO Innovation Toolkit
G2iX CIO Forum - Updated CIO Innovation Toolkit
 
Orange is v cops
Orange is v copsOrange is v cops
Orange is v cops
 
C bu06 planning_your_cloud_education
C bu06 planning_your_cloud_educationC bu06 planning_your_cloud_education
C bu06 planning_your_cloud_education
 
Building a right sized, do-anything runtime using OSGi technologies: a case s...
Building a right sized, do-anything runtime using OSGi technologies: a case s...Building a right sized, do-anything runtime using OSGi technologies: a case s...
Building a right sized, do-anything runtime using OSGi technologies: a case s...
 
demystifying cloud computing
demystifying cloud computing demystifying cloud computing
demystifying cloud computing
 

Viewers also liked

Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012
Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012
Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012mfrancis
 
Aruba Cloud Workshop @SMAU2012
Aruba Cloud Workshop @SMAU2012Aruba Cloud Workshop @SMAU2012
Aruba Cloud Workshop @SMAU2012Aruba S.p.A.
 
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...mfrancis
 
Cat user guide cloud assesment tool
Cat user guide cloud assesment toolCat user guide cloud assesment tool
Cat user guide cloud assesment toolfrl_pyme
 
Perform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own CompanyPerform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own CompanyAmazon Web Services
 
Five keys to successful cloud migration
Five keys to successful cloud migrationFive keys to successful cloud migration
Five keys to successful cloud migrationIBM
 

Viewers also liked (6)

Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012
Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012
Cloud and OSGi at eBay - OSGi Cloud Workshop March 2012
 
Aruba Cloud Workshop @SMAU2012
Aruba Cloud Workshop @SMAU2012Aruba Cloud Workshop @SMAU2012
Aruba Cloud Workshop @SMAU2012
 
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
Eclipse Gyrex OSGi based PaaS-Like Programming Stack - OSGi Cloud Workshop Ma...
 
Cat user guide cloud assesment tool
Cat user guide cloud assesment toolCat user guide cloud assesment tool
Cat user guide cloud assesment tool
 
Perform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own CompanyPerform a Cloud Readiness Assessment for Your Own Company
Perform a Cloud Readiness Assessment for Your Own Company
 
Five keys to successful cloud migration
Five keys to successful cloud migrationFive keys to successful cloud migration
Five keys to successful cloud migration
 

Similar to Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012

JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)Graeme_IBM
 
Getting Started Developing with Platform as a Service
Getting Started Developing with Platform as a ServiceGetting Started Developing with Platform as a Service
Getting Started Developing with Platform as a ServiceCloudBees
 
20121204 open technet_openstack_이틀만하면나처럼할수있다
20121204 open technet_openstack_이틀만하면나처럼할수있다20121204 open technet_openstack_이틀만하면나처럼할수있다
20121204 open technet_openstack_이틀만하면나처럼할수있다Nalee Jang
 
MAY 6, 2012: Interop Las Vegas "Why Open Clouds Are Winning"
MAY 6, 2012: Interop Las Vegas "Why Open Clouds Are Winning"MAY 6, 2012: Interop Las Vegas "Why Open Clouds Are Winning"
MAY 6, 2012: Interop Las Vegas "Why Open Clouds Are Winning"troyangrignon
 
Track2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apacTrack2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apacOpenCity Community
 
Modular Java EE in the Cloud
Modular Java EE in the CloudModular Java EE in the Cloud
Modular Java EE in the CloudBert Ertman
 
Cloud computing bringing the dark side of enterprise apps into the light by...
Cloud computing   bringing the dark side of enterprise apps into the light by...Cloud computing   bringing the dark side of enterprise apps into the light by...
Cloud computing bringing the dark side of enterprise apps into the light by...Khazret Sapenov
 
Windows Azure overview webinar by Sentri
Windows Azure overview webinar by SentriWindows Azure overview webinar by Sentri
Windows Azure overview webinar by SentriSentri
 
Modular architecture today
Modular architecture todayModular architecture today
Modular architecture todaypragkirk
 
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)siouxhotornot
 
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
Open stack summit spring 2014   hybrid cloud landmines - 2014-05-15Open stack summit spring 2014   hybrid cloud landmines - 2014-05-15
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15drumulonimbus
 
Adapting Apache UIMA to OSGi
Adapting Apache UIMA to OSGiAdapting Apache UIMA to OSGi
Adapting Apache UIMA to OSGiTommaso Teofili
 
OSGi and Private Clouds
OSGi and Private CloudsOSGi and Private Clouds
OSGi and Private Cloudsmfrancis
 
VMUG Sweden 2013-02-08 - Puppet and Razor
VMUG Sweden 2013-02-08 - Puppet and RazorVMUG Sweden 2013-02-08 - Puppet and Razor
VMUG Sweden 2013-02-08 - Puppet and RazorJonas Rosland
 
PuppetCamp London 2013 - Automated OS and App deployment using Puppet and Raz...
PuppetCamp London 2013 - Automated OS and App deployment using Puppet and Raz...PuppetCamp London 2013 - Automated OS and App deployment using Puppet and Raz...
PuppetCamp London 2013 - Automated OS and App deployment using Puppet and Raz...Jonas Rosland
 
Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?Andrew Ferrier
 
MySQL HA Solutions
MySQL HA SolutionsMySQL HA Solutions
MySQL HA SolutionsMat Keep
 
Zabbix for Hybrid Cloud Management
Zabbix for Hybrid Cloud ManagementZabbix for Hybrid Cloud Management
Zabbix for Hybrid Cloud ManagementDaisuke Ikeda
 

Similar to Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012 (20)

JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)
 
Getting Started Developing with Platform as a Service
Getting Started Developing with Platform as a ServiceGetting Started Developing with Platform as a Service
Getting Started Developing with Platform as a Service
 
20121204 open technet_openstack_이틀만하면나처럼할수있다
20121204 open technet_openstack_이틀만하면나처럼할수있다20121204 open technet_openstack_이틀만하면나처럼할수있다
20121204 open technet_openstack_이틀만하면나처럼할수있다
 
Cisco one pk basic
Cisco one pk basicCisco one pk basic
Cisco one pk basic
 
Cisco one pk basic
Cisco one pk basicCisco one pk basic
Cisco one pk basic
 
MAY 6, 2012: Interop Las Vegas "Why Open Clouds Are Winning"
MAY 6, 2012: Interop Las Vegas "Why Open Clouds Are Winning"MAY 6, 2012: Interop Las Vegas "Why Open Clouds Are Winning"
MAY 6, 2012: Interop Las Vegas "Why Open Clouds Are Winning"
 
Track2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apacTrack2 -刘希斌----c ie-net-openstack-2012-apac
Track2 -刘希斌----c ie-net-openstack-2012-apac
 
Modular Java EE in the Cloud
Modular Java EE in the CloudModular Java EE in the Cloud
Modular Java EE in the Cloud
 
Cloud computing bringing the dark side of enterprise apps into the light by...
Cloud computing   bringing the dark side of enterprise apps into the light by...Cloud computing   bringing the dark side of enterprise apps into the light by...
Cloud computing bringing the dark side of enterprise apps into the light by...
 
Windows Azure overview webinar by Sentri
Windows Azure overview webinar by SentriWindows Azure overview webinar by Sentri
Windows Azure overview webinar by Sentri
 
Modular architecture today
Modular architecture todayModular architecture today
Modular architecture today
 
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
 
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
Open stack summit spring 2014   hybrid cloud landmines - 2014-05-15Open stack summit spring 2014   hybrid cloud landmines - 2014-05-15
Open stack summit spring 2014 hybrid cloud landmines - 2014-05-15
 
Adapting Apache UIMA to OSGi
Adapting Apache UIMA to OSGiAdapting Apache UIMA to OSGi
Adapting Apache UIMA to OSGi
 
OSGi and Private Clouds
OSGi and Private CloudsOSGi and Private Clouds
OSGi and Private Clouds
 
VMUG Sweden 2013-02-08 - Puppet and Razor
VMUG Sweden 2013-02-08 - Puppet and RazorVMUG Sweden 2013-02-08 - Puppet and Razor
VMUG Sweden 2013-02-08 - Puppet and Razor
 
PuppetCamp London 2013 - Automated OS and App deployment using Puppet and Raz...
PuppetCamp London 2013 - Automated OS and App deployment using Puppet and Raz...PuppetCamp London 2013 - Automated OS and App deployment using Puppet and Raz...
PuppetCamp London 2013 - Automated OS and App deployment using Puppet and Raz...
 
Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?
 
MySQL HA Solutions
MySQL HA SolutionsMySQL HA Solutions
MySQL HA Solutions
 
Zabbix for Hybrid Cloud Management
Zabbix for Hybrid Cloud ManagementZabbix for Hybrid Cloud Management
Zabbix for Hybrid Cloud Management
 

More from mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

More from mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Recently uploaded

Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 

Recently uploaded (20)

Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 

Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012

  • 1. Cloud & OSGi - Beyond the VM Richard Nicholson: Paremus CEO www.paremus.com President of the OSGi Alliance OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 2. Virtual Machine Man Amazon EC2, RackSpace, Azure? They all suffer from the same fundamental design flaw. Virtual Machine image centric Cloud solutions: • Cause excessive network infrastructure load. • Cause excessive storage consumption - caused by virtual machine image sprawl. • Fail to address to primary issue - the ongoing cost of maintaining applications. OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 3. VM images: The Wrong deployment artefact! Type of Deployment Artefact Artefact Module Centric Image Centric Machine Image ~ 1 to 2 Gbytes per node ~ 1 to 2 Gbytes per node Application ~ 1 TO 100 Mbytes ~ 1 to 2 Gbytes per node Application Patch ~ 100’s Kbytes ~ 1 to 2 Gbytes per node Property / Config Changes ~ 1 Kbyte ~ 1 to 2 Gbytes per node OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 4. Observation m ? o 1. The Unit of Deployment is... Need to Optimise • The unit of fix / maintenance. • The potential unit of re-use. Ro Response Also... Detect t he Decision i n 2. Time to deploy - directly influences... • Time to recover a failed Business Service. r k • Time to scale an environment in response to business load. i s K I Patterns of Modular Architecture (Kirk Knoernschild) OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 5. Principle: Modularity and Abstraction The smaller the deployment artefact the better ➟ BUT MUST AT ALL COST avoid Operational Complexity. ? Automatically manage dependencies Automatically install required parts. ABSTRACTION - operations must manage the WHOLE, not the constituent PARTS. ➟ The new OSGi Alliance R5.0 OBR (Resolver & Repository specifications) OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 6. Principle: Modularity and Abstraction The smaller the deployment artefact the better ➟ BUT MUST AT ALL COST avoid Operational Complexity. Automatically manage dependencies Automatically install required parts. ABSTRACTION - operations must manage the WHOLE, not the constituent PARTS. ➟ The new OSGi Alliance R5.0 OBR (Resolver & Repository specifications) OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 7. Principle: Modularity and Abstraction The smaller the deployment artefact the better ➟ BUT MUST AT ALL COST avoid Operational Complexity. Automatically manage dependencies Automatically install required parts. ABSTRACTION - operations must manage the WHOLE, not the constituent PARTS. ➟ The new OSGi Alliance R5.0 OBR (Resolver & Repository specifications) OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 8. circa 2005 Paremus introduce the Service Fabric - a distributed OSGi / OBR based Cloud runtime. OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 9. The Paremus Service Fabric A highly modular OSGi™ / OSGi Resolver based cloud runtime. (1..m) ‘Composite Applications’ (a.k.a. Systems) may be dynamically assembled and run upon a single Service Fabric. SaaS Java / Scala, [Blueprint, Declarative Services, WARs & generic artefacts]. IaaS (1..n) compute resource (physical or virtual) may contribute to create a Service Fabric OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 10. Operational simplicity through Abstraction The Service Fabric is a model driven runtime. To change a running System, simply change its model in the required manner. Target State Runtime State =1 =5 =1 Re-Configure OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 11. Updating the System The runtime will respond... Provision Delta Target State Runtime State Planned Deltas =1 e.g. Configuration M!del changes =5 Target State Runtime Unplanned Deltas Entity "Structure#SLA$ =1 e.g. Resource failures Monitor OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 12. Today - 2012 Building consensus that next generation of cloud solution will be composite and will support dynamically assembly highly modular applications. Growing realisation that OSGi, and specifically the new OBR resolver specification, are key enablers. OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 13. Dependency management really is everything! OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 14. OBR Resolution Process OSGi Repository A Physical Repository OSGi Resolver OSGi Repository B OSGi Repository C ‘Scoped’ Repositories (specific views of one - or more - physical repositories) RESOLVER ENVIRONMENT OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 15. OBR Resolution Process OSGi Repository A Physical Repository OSGi Resolver OSGi Repository B OSGi Repository C Resource/s + Constraints e.g. ‘Pricer (a,c)’ ‘Scoped’ Repositories (specific views of one - or more - physical repositories) RESOLVER ENVIRONMENT OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 16. OBR Resolution Process OSGi Repository A Physical Repository OSGi Resolver OSGi Repository B OSGi Repository C Resource/s + Constraints e.g. ‘Pricer (a,c)’ ‘Scoped’ Repositories (specific views of one - or more - physical repositories) RESOLVER ENVIRONMENT OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 17. OBR Resolution Process OSGi Repository A Physical Repository OSGi Resolver OSGi Repository B OSGi Repository C Part ‘Pricer’ Resource/s + Constraints e.g. ‘Pricer (a,c)’ ‘Scoped’ Repositories (specific views of one - or more - physical repositories) RESOLVER ENVIRONMENT OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 18. OBR Resolution Process OSGi Repository A Physical Repository OSGi Resolver OSGi Repository B OSGi Repository C Part ‘Pricer’ Resource/s + Constraints e.g. ‘Pricer (a,c)’ ‘Scoped’ Repositories (specific views of one - or more - physical repositories) RESOLVER ENVIRONMENT WHAT NOW? OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 19. Centralised Resolver: push / pull resultant composites? OSGi Repository A Physical Repository OSGi Resolver OSGi Repository B OSGi Repository C 1 Part ‘Pricer’ 2 Push / Pull The new software Artefact? OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 20. Centralised Resolver: push / pull resultant composites? • Better than a fully stacked VM (WHAT COULD BE WORSE?!). • Heavy resolving load on centralised (one or a few) ‘Cloud‘ resolvers. • Shipping assembled composites to target nodes loads loads network and source nodes. • No visibility of local environment on target nodes. Resolution may be incorrect or not optimal. • Example of approach - Apache ACE? OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 21. Centralised Resolver: Push / Pull List of Bundles? OBR Repository A Physical Repository OBR Resolver OBR Repository B OBR Repository C Part ‘Pricer’ *AR Pricer 2 bundle a bundle b bundle c bundle d bundle e bundle f bundle bundle g h 1 OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 22. Centralised Resolver: Push / Pull List of Bundles? • Better than pushing / pulling composite artefacts. • Avoids some network loading - but not the loading on the centralised resolvers. • Still no visibility of local environment on target nodes. As before - resolution may be incorrect or not optimal. • Example of approach? OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 23. Service Fabric approach - OSGi Resolver on each node ✔ $ ./posh Paremus Service Fabric Evaluation License, OSGi Resolver expires Wed Jan 09 23:59:59 EST 2013. ______________________________________ Welcome to the Paremus Service Fabric! [paremus-ran-2.local.0]% lsb 0 ACTIVE org.apache.felix.framework:3.2.1 1 ACTIVE com.paremus.core.types:1.4.5 2 ACTIVE com.paremus.core.hooks:1.4.5 3 ACTIVE com.paremus.posh.runtime:1.4.5 4 ACTIVE com.paremus.posh.shell:1.4.5 5 ACTIVE com.paremus.console:1.4.5 6 ACTIVE com.paremus.nimble.core:1.4.5 7 ACTIVE com.paremus.nimble.repos:1.4.5 8 ACTIVE com.paremus.nimble.cli:1.4.5 9 ACTIVE org.apache.felix.configadmin:1.2.8 10 ACTIVE com.paremus.util.cmds:1.4.5 Resolver centric OSGi runtimes are lightweight runtimes ! (example Paremus Nimble). An OSGi runtime instance OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 24. Inject Root Resource & OSGi repository scope negotiate OBR Repository A Physical Repository Resource/s + Constraints OBR Repository B e.g. ‘Pricer (a,c)’ OBR Repository C A negotiation process selects optimal nodes to host the ‘Pricer’ composite OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 25. Inject Root Resource & OSGi Repository scope OBR Repository A Physical Repository Resource/s + Constraints OBR Repository B e.g. ‘Pricer (a,c)’ OBR Repository C Each node performs a local resolution. OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 26. Inject Root Resource & OSGi Repository scope RESOLVE OBR Repository A Physical Repository Resource/s + Constraints OBR Repository B e.g. ‘Pricer (a,c)’ OBR Repository C Each node performs a local resolution. OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 27. Each participating node asynchronous pulls artefacts Physical Repository Resource/s + Constraints Asynchronous flow of bundles from e.g. ‘Pricer (a,c)’ one or more physical repositories to participating nodes Each node asynchronously downloads required bundles that are not already local. OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 28. Repeat ‘Persistence (b,c)’ ‘Gateway (b)’ OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 29. System Models In RFC-133 we defined the notion of a ‘System’: A runtime abstraction comprised of elements, wiring and runtime constraints. <system name="gateway.system" version="1.0" boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn" xmlns="http://schema.paremus.com/sf/1"> <description>Deploys a pricer and gateway component wired together using slp and essencermi</description> <!-- set SystemGroup for security control --> <nature group="demo" /> <system name="pricer" boundary="fibre"> <system.part category="msf" name="com.example.pricer"> <property name="type" value="firm" /> </system.part> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> <replication.handler type="scalable"> <property name="scaleFactor" value="1" type="float" /> <property name="fixedDelta" value="-2" type="integer" /> <property name="minimum" value="1" type="integer" /> </replication.handler> </system> <system name="gateway" boundary="fibre"> <system.part category="msf" name="com.example.gateway"> <property name="id" value="foo" /> </system.part> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> </system> </system> Pricer (b,c) [1..n] Persistence (a,c) [1..1] Gateway (b) [1..m] Physical Deployment Running System = FX Trading System Model = FX Trading OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 30. A ‘System’ Model - (example Paremus Service Fabric) <system name="fx.system" version="1.0" boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn" xmlns="http://schema.paremus.com/sf/1"> <description>Deploys a pricer and gateway component wired together using slp and essencermi</description> <!-- set SystemGroup for security control --> <nature group="demo" /> <system name="pricer" boundary="fibre"> <system.part category="msf" name="com.example.pricer"> <property name="type" value="firm" /> </system.part> Defines system name and version. <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> Whether System is distributed. <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> <replication.handler type="scalable"> The OSGi repositories to be used when <property name="scaleFactor" value="1" type="float" /> assembling Parts. <property name="fixedDelta" value="-2" type="integer" /> <property name="minimum" value="1" type="integer" /> </replication.handler> </system> ... ... ... </system> OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 31. A ‘System’ Model - (example Paremus Service Fabric) <system name="fx.system" version="1.0" boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn" xmlns="http://schema.paremus.com/sf/1"> <description>Deploys a pricer and gateway component wired together using slp and essencermi</description> <!-- set SystemGroup for security control --> <nature group="demo" /> <system name="pricer" boundary="fibre"> <system.part category="msf" name="com.example.pricer"> <property name="type" value="firm" /> </system.part> The Pricer Part. A managed service <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> fabric based built from <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> com.example.pricer. An <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> <replication.handler type="scalable"> instance of which is created with <property name="scaleFactor" value="1" type="float" /> attribute ‘firm’ <property name="fixedDelta" value="-2" type="integer" /> <property name="minimum" value="1" type="integer" /> </replication.handler> </system> .... .... .... </system> OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 32. A ‘System’ Model - (Paremus Service Fabric) <system name="fx.system" version="1.0" boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn" xmlns="http://schema.paremus.com/sf/1"> <description>Deploys a pricer and gateway component wired together using slp and essencermi</description> <!-- set SystemGroup for security control --> <nature group="demo" /> <system name="pricer" boundary="fibre"> <system.part category="msf" name="com.example.pricer"> AVRO? <property name="type" value="firm" /> </system.part> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> <replication.handler type="scalable"> <property name="scaleFactor" value="1" type="float" /> Remote Services using the Paremus <property name="fixedDelta" value="-2" type="integer" /> implementation of the OSGI Alliance RSA <property name="minimum" value="1" type="integer" /> specification. </replication.handler> </system> In this example Essence RMI is the .... protocol - and SLP is .... used for discover. Normally we .... recommend DDS - which is the default. </system> OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 33. A ‘System’ Model - (Paremus Service Fabric) <system name="fx.system" version="1.0" boundary="fabric" repopath="gateway,nimble-rs,aries,aries-ext,fabric,fabric-ext,nimble-cmpn" xmlns="http://schema.paremus.com/sf/1"> <description>Deploys a pricer and gateway component wired together using slp and essencermi</description> <!-- set SystemGroup for security control --> <nature group="demo" /> <system name="pricer" boundary="fibre"> <system.part category="msf" name="com.example.pricer"> <property name="type" value="firm" /> </system.part> .... <system.part category="osgi.active.bundle" name="com.paremus.dosgi.dsw.essencermi" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.discovery.slp" /> <system.part category="osgi.active.bundle" name="com.paremus.dosgi.topologymanager" /> <replication.handler type="scalable"> 1 <property name="scaleFactor" value="1" type="float" /> <property name="fixedDelta" value="-2" type="integer" /> <property name="minimum" value="1" type="integer" /> </replication.handler> Many </system> .... Replication Handlers control the number .... of Part instances required in the .... runtime. </system> OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 34. DEMO TIME 1. Start a client. 2. Start single node Service Fabric & a simple OBR repository. 3. Load Repository & System model. 4. Deploy System. 5. Apply a property change to the running System. OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 35. Control Loops & Hierarchies automatic or manual Outer Control Loop (IaaS) controlling number of VM resources in the environment reactive Inner Control Loop (PaaS) Controls distribution of software components across population of available resources Cloud Runtime Highly agile, stable & robust systems tend to use (fast) inner and (slow) outer provisioning control loops (reference http://www.ist-selfman.org/wiki/images/9/94/ SelfmanFACS06talk.pdf). OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 36. BNDTools <> Service Fabric Integration Code Run An OBR centric end-to-end solution OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 37. Modular Systems are Maintainable Systems Applicability w.r.t OPEX of VM based (non modular) } private Cloud solutions. Anne Thomas Manes (Gartner) – SOA Symposium: Berlin, October 2010 OSGi Dev Con 2012 - Cloud Workshop II Copyright © 2005 - 2012 Paremus Ltd. March 2012 May not be reproduced by any means without express permission. All rights reserved.
  • 38. Thanks www.paremus.com Service Fabric - www.paremus.com/psf Nimble - www.paremus.com/nimble Bndtools - http://bndtools.org info@paremus.com Service Fabric Overview Copyright © 2012 Paremus Ltd. February 2012 May not be reproduced by any means without express permission. All rights reserved.