SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
© 2012 IBM Corporation
Using OSGi as a Cloud Platform
Jan S. Rellermeyer – IBM Austin Research Lab
24 October 2012
© 2012 IBM Corporation
The Cloud - Challenges
 Cloud Computing is the economies of scale
– E.g., system of engagements
 Traditional software stacks usually do not scale well
– Often designed for vertical scalability.
– If they were not designed to scale horizontally, they don’t.
 Monolithic software cannot be expected to be elastic.
2
Image: Pixomar / FreeDigitalPhotos.net
© 2012 IBM Corporation
The Cloud - Challenges
 Cloud Computing is outsourcing
– Computation by the hour
– Focus on the software, no longer control the platform
 Problem: Dependability
– Amazon EC2: 22 minutes of connection issues on 03/15 in
the US-EAST-1 zone due to router configuration problems
– Microsoft Azure: ½ day partial service outage on 02/29 due
to leap day bug
– Zoho: 3h45 full outage on 02/20 through a power failure at
an Equinix data center. Full recovery took another 6 hours.
 You need to design for failure?!?
– Availability is a software issue, not a platform issue
3
Image: twobee / FreeDigitalPhotos.net
http://news.ycombinator.com/item?id=3707590
http://blogs.msdn.com/b/windowsazure/archive/2012/03/09/summary-of-windows-azure-service-disruption-on-feb-29th-2012.aspx
http://www.zoho.com/general/blog/our-friday-outage-and-actions-we-are-taking.html
© 2012 IBM Corporation
The Problem
 Both vertical scalability and redundancy (design for failure) require a distributed systems
approach
 Distribution adds complexity and its own failure models.
Example: Kerberos, Distributed File Systems
 Modular systems are easier to design
– Focus on functional partitioning and composition, not
communication
 Well-designed modular systems can be turned into
distributed systems
– Let’s bring OSGi to the cloud
– Let’s see what is already in OSGi
4
Image: Danilo Rizzuti / FreeDigitalPhotos.net
© 2012 IBM Corporation
Modularity
 Declaratively Self-Contained
– A module is self-contained with regard to its own content and its declared dependencies
 Encapsulated
– A module exposes its content solely through well-defined interfaces
 Decomposed
– modules are created by segregating a larger problem into smaller sub-problem so
that a module ideally only deals with a single, not further separable concern and the
content of the module is highly cohesive.
 Composable
– modules are created for reuse in different applications and can be composed into
new applications. Declared dependencies and declared interfaces put constraints on
the validity of compositions. Ideally, the degree of coupling between modules is low
so that composition is facilitated and not prohibited.
 Substitutable
– two modules (or sets of modules) providing the same interfaces can be exchanged
for one another.
 Localized Behavior
– modules are designed to behave locally, i.e., the effect of the code is restricted to the
content of the module or its declared dependencies. A module should not make any
assumptions about its dependents other than the ones expressed through the declared
dependencies.
5
Image: Danilo Rizzuti / FreeDigitalPhotos.net
© 2012 IBM Corporation
Modularity in OSGi
 Package dependencies = tight coupling
 Services = loose coupling
 How far can we get in terms of dependability with plain loose coupling?
=> now components can fail independently.
6
Module A
Module B
Module C
© 2012 IBM Corporation
Parrot
 Talk to the parrot
 Parrot repeats what it has heard
 Problem: Parrots are inherently unreliable
 Solution: Design for microreboots
7
Image: Arvind Balaraman / FreeDigitalPhotos.net
ParrotPerson
ConfigAdmin
Failure model: single component fails
© 2012 IBM Corporation
State and Identity
 ConfigAdmin gives each service an identity
– Can be set through the PID
 Each individual service can have state
 Managing the state through the ConfigAdmin by
attaching it to the identity
– By value for a small amount of state
– By reference for a large state
8
Image: twobee / FreeDigitalPhotos.net
© 2012 IBM Corporation
Distributed System: Remote Service Admin
 And now for something completely different.
 Remote Service Admin: Mechanism
– Expose this local service
– Import this remote service
 Topology Manager: Magic
– Which service from where, …
9
Image: OSGi Alliance
© 2012 IBM Corporation
Parrot - Version 2.0
 Person listens to Parrot (poll)
 Parrot autonomously fetches the most popular terms from
Twitter
10
Image: Arvind Balaraman / FreeDigitalPhotos.net
ParrotPerson
Dependability
Service
registers itself manages and monitors
Parrot
Failure model: entire node fails
© 2012 IBM Corporation
Dependability as a Service
 Manage the available resources in the cloud deployment.
– As a sensor and as an actor
 Manage the identity of reliable services in the cloud deployment.
 Act when a reliable service experiences a failure.
 Prototype based on Remote Services for OSGi (was: R-OSGi), Zookeeper, optionally a key-
value store
– Remote Services for OSGi can re-bind service proxies
 Using it on my Eucalyptus cloud as well as external providers
 Interesting implications: Hot Spares
11
Image: digitalart / FreeDigitalPhotos.net
© 2012 IBM Corporation
OSGi as a Cloud Platform
 Instance creation is likely to remain vendor-specific
 REST API provides access to the running instance
 Can be easily integrated into languages other than Java.
 Examples:
– GET http://my_host/framework/bundles/representations
– POST http://my_host/framework/bundles
– GET http://my_host/framework/bundle/5/state
– GET http://my_host/framework/services/representations/(objectClass=org.osgi.*)
 This is work in progress (RFC 182)
 http://www.osgi.org/download/osgi-early-draft-2012-10.pdf
12
© 2012 IBM Corporation
OSGi as a Cloud Platform
13
© 2012 IBM Corporation
Architecture
14
Framework
Instance
Framework
Instance
Framework
Instance
REST
http://mycloud.com:8080/instances/20132
WebSocket
© 2012 IBM Corporation
HTTP Service++
 State of the art
 Pluggable web applications
 Elastic web portal
15
Component A Component B Component C
Bundle A Bundle B Bundle C
© 2012 IBM Corporation
Authentication and User Management
 UserAdmin is flexible enough to represent different concepts
– User Identity through OpenID
– Authorization through OAuth
 Most cloud-implementations would be read-only though.
16
Image: Salvatore Vuono / FreeDigitalPhotos.net
© 2012 IBM Corporation
Other possible services
 Key-Value Store
 BlockStorage
 Message Queue
 …
 Problem: common abstraction?
 What is the consistency model of my key-value-store?
– equivalent to /dev/null?
– ACID?
– Can I read my own writes?
17
Image: Renjith Krishnan / FreeDigitalPhotos.net
© 2012 IBM Corporation
Conclusions
 Modularity as in OSGi solves a major issue with architecting elastic applications for the
cloud.
 It helps to structure applications in a more flexible way.
 It enables platform support for making software more dependable.
 Existing standards like ConfigAdmin, RemoteServiceAdmin, UserAdmin can be used with no
or little modifications
 Other standards like HttpService are not yet fit for the cloud and need to be reworked.
 The REST API is an important addition for bootstrapping cloud deployments.
18
What would you like to see in the cloud?

Weitere ähnliche Inhalte

Was ist angesagt?

Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台
George Ang
 
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.
 
Hive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentationHive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentation
EuroCloud
 
C bu06 planning_your_cloud_education
C bu06 planning_your_cloud_educationC bu06 planning_your_cloud_education
C bu06 planning_your_cloud_education
Megan Irvine
 
Day 3 p4 - cloud strategy
Day 3   p4 - cloud strategyDay 3   p4 - cloud strategy
Day 3 p4 - cloud strategy
Lilian Schaffer
 

Was ist angesagt? (18)

Cloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleCloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
 
Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台
 
Comparing Ruby on Rails Public vs. Private Cloud Options
Comparing Ruby on Rails Public vs. Private Cloud OptionsComparing Ruby on Rails Public vs. Private Cloud Options
Comparing Ruby on Rails Public vs. Private Cloud Options
 
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...
 
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 ...
 
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
 
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
 
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
 
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
 
Hive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentationHive solutions cloudviews 2010 presentation
Hive solutions cloudviews 2010 presentation
 
colony framework & omni platform
colony framework & omni platformcolony framework & omni platform
colony framework & omni platform
 
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
 
C bu06 planning_your_cloud_education
C bu06 planning_your_cloud_educationC bu06 planning_your_cloud_education
C bu06 planning_your_cloud_education
 
Day 3 p4 - cloud strategy
Day 3   p4 - cloud strategyDay 3   p4 - cloud strategy
Day 3 p4 - cloud strategy
 
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...
 
Cloud Computing at UTM Shillong
Cloud Computing at UTM ShillongCloud Computing at UTM Shillong
Cloud Computing at UTM Shillong
 
Orange is v cops
Orange is v copsOrange is v cops
Orange is v cops
 
Visibility & Security for the Virtualized Enterprise
Visibility & Security for the Virtualized EnterpriseVisibility & Security for the Virtualized Enterprise
Visibility & Security for the Virtualized Enterprise
 

Ähnlich wie Using OSGi as a Cloud Platform - Jan Rellermeyer

IBM Smart Cloud Provisioning Overview
IBM Smart Cloud Provisioning OverviewIBM Smart Cloud Provisioning Overview
IBM Smart Cloud Provisioning Overview
IBM Danmark
 
Sl virtual apps-131106
Sl virtual apps-131106Sl virtual apps-131106
Sl virtual apps-131106
SL Corporation
 
2109 mobile cloud integrating your mobile workloads with the enterprise
2109 mobile cloud  integrating your mobile workloads with the enterprise2109 mobile cloud  integrating your mobile workloads with the enterprise
2109 mobile cloud integrating your mobile workloads with the enterprise
Todd Kaplinger
 
Mobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message BrokerMobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message Broker
Ant Phillips
 

Ähnlich wie Using OSGi as a Cloud Platform - Jan Rellermeyer (20)

Cloud adoption patterns
Cloud adoption patternsCloud adoption patterns
Cloud adoption patterns
 
Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016Cloud adoption patterns April 11 2016
Cloud adoption patterns April 11 2016
 
JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)JVM Multitenancy (JavaOne 2012)
JVM Multitenancy (JavaOne 2012)
 
"Micro-frontends, web development", Oleksandr Khivrych
"Micro-frontends, web development", Oleksandr Khivrych"Micro-frontends, web development", Oleksandr Khivrych
"Micro-frontends, web development", Oleksandr Khivrych
 
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai..."Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
 
Nordics IBM Mobile Foundation Integration in Action
Nordics IBM Mobile Foundation Integration in ActionNordics IBM Mobile Foundation Integration in Action
Nordics IBM Mobile Foundation Integration in Action
 
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile IntegrationOracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
Oracle ADF Architecture TV - Design - Architecting for ADF Mobile Integration
 
Revised Adf security in a project centric environment
Revised Adf security in a project centric environmentRevised Adf security in a project centric environment
Revised Adf security in a project centric environment
 
Accelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateAccelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud Private
 
Platform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM BluemixPlatform as a Service - Cloud Foundry and IBM Bluemix
Platform as a Service - Cloud Foundry and IBM Bluemix
 
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...Applying DevOps, PaaS and cloud for better citizen service  outcomes - IBM Fe...
Applying DevOps, PaaS and cloud for better citizen service outcomes - IBM Fe...
 
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South CoastPlatform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
Platform as a Service - CloudFoundry and IBM Bluemix - Developer South Coast
 
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
IBM Lotusphere 2013 AD109: Using the IBM® Sametime® Proxy SDK: WebSphere Port...
 
IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015IBM Bluemix Tech Meetup 18-02-2015
IBM Bluemix Tech Meetup 18-02-2015
 
IBM Smart Cloud Provisioning Overview
IBM Smart Cloud Provisioning OverviewIBM Smart Cloud Provisioning Overview
IBM Smart Cloud Provisioning Overview
 
Sl virtual apps-131106
Sl virtual apps-131106Sl virtual apps-131106
Sl virtual apps-131106
 
2109 mobile cloud integrating your mobile workloads with the enterprise
2109 mobile cloud  integrating your mobile workloads with the enterprise2109 mobile cloud  integrating your mobile workloads with the enterprise
2109 mobile cloud integrating your mobile workloads with the enterprise
 
Mobile Apps Develpment - A Comparison
Mobile Apps Develpment - A ComparisonMobile Apps Develpment - A Comparison
Mobile Apps Develpment - A Comparison
 
Mobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message BrokerMobile Patterns with WebSphere Message Broker
Mobile Patterns with WebSphere Message Broker
 
Composite Application Library, Prism v2
Composite Application Library, Prism v2Composite Application Library, Prism v2
Composite Application Library, Prism v2
 

Mehr von 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
 
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
 
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
 

Mehr von 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)
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Using OSGi as a Cloud Platform - Jan Rellermeyer

  • 1. © 2012 IBM Corporation Using OSGi as a Cloud Platform Jan S. Rellermeyer – IBM Austin Research Lab 24 October 2012
  • 2. © 2012 IBM Corporation The Cloud - Challenges  Cloud Computing is the economies of scale – E.g., system of engagements  Traditional software stacks usually do not scale well – Often designed for vertical scalability. – If they were not designed to scale horizontally, they don’t.  Monolithic software cannot be expected to be elastic. 2 Image: Pixomar / FreeDigitalPhotos.net
  • 3. © 2012 IBM Corporation The Cloud - Challenges  Cloud Computing is outsourcing – Computation by the hour – Focus on the software, no longer control the platform  Problem: Dependability – Amazon EC2: 22 minutes of connection issues on 03/15 in the US-EAST-1 zone due to router configuration problems – Microsoft Azure: ½ day partial service outage on 02/29 due to leap day bug – Zoho: 3h45 full outage on 02/20 through a power failure at an Equinix data center. Full recovery took another 6 hours.  You need to design for failure?!? – Availability is a software issue, not a platform issue 3 Image: twobee / FreeDigitalPhotos.net http://news.ycombinator.com/item?id=3707590 http://blogs.msdn.com/b/windowsazure/archive/2012/03/09/summary-of-windows-azure-service-disruption-on-feb-29th-2012.aspx http://www.zoho.com/general/blog/our-friday-outage-and-actions-we-are-taking.html
  • 4. © 2012 IBM Corporation The Problem  Both vertical scalability and redundancy (design for failure) require a distributed systems approach  Distribution adds complexity and its own failure models. Example: Kerberos, Distributed File Systems  Modular systems are easier to design – Focus on functional partitioning and composition, not communication  Well-designed modular systems can be turned into distributed systems – Let’s bring OSGi to the cloud – Let’s see what is already in OSGi 4 Image: Danilo Rizzuti / FreeDigitalPhotos.net
  • 5. © 2012 IBM Corporation Modularity  Declaratively Self-Contained – A module is self-contained with regard to its own content and its declared dependencies  Encapsulated – A module exposes its content solely through well-defined interfaces  Decomposed – modules are created by segregating a larger problem into smaller sub-problem so that a module ideally only deals with a single, not further separable concern and the content of the module is highly cohesive.  Composable – modules are created for reuse in different applications and can be composed into new applications. Declared dependencies and declared interfaces put constraints on the validity of compositions. Ideally, the degree of coupling between modules is low so that composition is facilitated and not prohibited.  Substitutable – two modules (or sets of modules) providing the same interfaces can be exchanged for one another.  Localized Behavior – modules are designed to behave locally, i.e., the effect of the code is restricted to the content of the module or its declared dependencies. A module should not make any assumptions about its dependents other than the ones expressed through the declared dependencies. 5 Image: Danilo Rizzuti / FreeDigitalPhotos.net
  • 6. © 2012 IBM Corporation Modularity in OSGi  Package dependencies = tight coupling  Services = loose coupling  How far can we get in terms of dependability with plain loose coupling? => now components can fail independently. 6 Module A Module B Module C
  • 7. © 2012 IBM Corporation Parrot  Talk to the parrot  Parrot repeats what it has heard  Problem: Parrots are inherently unreliable  Solution: Design for microreboots 7 Image: Arvind Balaraman / FreeDigitalPhotos.net ParrotPerson ConfigAdmin Failure model: single component fails
  • 8. © 2012 IBM Corporation State and Identity  ConfigAdmin gives each service an identity – Can be set through the PID  Each individual service can have state  Managing the state through the ConfigAdmin by attaching it to the identity – By value for a small amount of state – By reference for a large state 8 Image: twobee / FreeDigitalPhotos.net
  • 9. © 2012 IBM Corporation Distributed System: Remote Service Admin  And now for something completely different.  Remote Service Admin: Mechanism – Expose this local service – Import this remote service  Topology Manager: Magic – Which service from where, … 9 Image: OSGi Alliance
  • 10. © 2012 IBM Corporation Parrot - Version 2.0  Person listens to Parrot (poll)  Parrot autonomously fetches the most popular terms from Twitter 10 Image: Arvind Balaraman / FreeDigitalPhotos.net ParrotPerson Dependability Service registers itself manages and monitors Parrot Failure model: entire node fails
  • 11. © 2012 IBM Corporation Dependability as a Service  Manage the available resources in the cloud deployment. – As a sensor and as an actor  Manage the identity of reliable services in the cloud deployment.  Act when a reliable service experiences a failure.  Prototype based on Remote Services for OSGi (was: R-OSGi), Zookeeper, optionally a key- value store – Remote Services for OSGi can re-bind service proxies  Using it on my Eucalyptus cloud as well as external providers  Interesting implications: Hot Spares 11 Image: digitalart / FreeDigitalPhotos.net
  • 12. © 2012 IBM Corporation OSGi as a Cloud Platform  Instance creation is likely to remain vendor-specific  REST API provides access to the running instance  Can be easily integrated into languages other than Java.  Examples: – GET http://my_host/framework/bundles/representations – POST http://my_host/framework/bundles – GET http://my_host/framework/bundle/5/state – GET http://my_host/framework/services/representations/(objectClass=org.osgi.*)  This is work in progress (RFC 182)  http://www.osgi.org/download/osgi-early-draft-2012-10.pdf 12
  • 13. © 2012 IBM Corporation OSGi as a Cloud Platform 13
  • 14. © 2012 IBM Corporation Architecture 14 Framework Instance Framework Instance Framework Instance REST http://mycloud.com:8080/instances/20132 WebSocket
  • 15. © 2012 IBM Corporation HTTP Service++  State of the art  Pluggable web applications  Elastic web portal 15 Component A Component B Component C Bundle A Bundle B Bundle C
  • 16. © 2012 IBM Corporation Authentication and User Management  UserAdmin is flexible enough to represent different concepts – User Identity through OpenID – Authorization through OAuth  Most cloud-implementations would be read-only though. 16 Image: Salvatore Vuono / FreeDigitalPhotos.net
  • 17. © 2012 IBM Corporation Other possible services  Key-Value Store  BlockStorage  Message Queue  …  Problem: common abstraction?  What is the consistency model of my key-value-store? – equivalent to /dev/null? – ACID? – Can I read my own writes? 17 Image: Renjith Krishnan / FreeDigitalPhotos.net
  • 18. © 2012 IBM Corporation Conclusions  Modularity as in OSGi solves a major issue with architecting elastic applications for the cloud.  It helps to structure applications in a more flexible way.  It enables platform support for making software more dependable.  Existing standards like ConfigAdmin, RemoteServiceAdmin, UserAdmin can be used with no or little modifications  Other standards like HttpService are not yet fit for the cloud and need to be reworked.  The REST API is an important addition for bootstrapping cloud deployments. 18 What would you like to see in the cloud?