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 Beyond the Virtual Machine

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 Beyond the Virtual Machine (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

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

Beyond the Virtual Machine

  • 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.