SlideShare a Scribd company logo
1 of 27
Download to read offline
www.paremus.com
Transforming the Way
the World Runs Applications
Copyright © 2012 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
www.paremus.comParemus July 2012
Modularity, Microservices and Containerisation
info@paremus.com
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Docker reigns supreme…
• Also:
• Rocket (CoreOS)
• Solaris Zones
• FreeBSD Jails
• etc
Containers
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Reduce the pain of shipping apps to production.
• Kill off “It Works for Me” syndrome.
• Increased security.
What Containers are Claimed to Solve
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Reduce the pain of shipping apps to production.
• Consistent way to ship and run applications.
• You already know how to run any image.
• Increased security.
• Hugely powerful for opaque, 3rd Party parts of your app:
• MySQL, ZooKeeper, Hadoop, …
What Containers Actually Solve
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Configuration approaches vary widely.
• Dependencies still exist!
• OS kernel version, CPU, GPU
• Network
• Dependent Services
• Orchestration (solutions are nascent).
What Containers Don’t Solve
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Modularity!
• Application code is untouched by containerisation.
• Greatest strength and greatest weakness.
• All too easy to build containerised monoliths.
• Just as hard to maintain, evolve.
What Containers Don’t Solve
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• “… an approach to developing a single application as a suite of small
services, each running in its own process and communicating with
lightweight mechanisms, often an HTTP resource API. These services are
built around business capabilities and independently deployable by fully
automated deployment machinery. There is a bare minimum of centralized
management of these services, which may be written in different
programming languages and use different data storage technologies.”
• From the Gospel of Martin Fowler ;-)
Microservices
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Small services
• Own process
• Lightweight communications
• Independently deployable
• Automated deployment
• May be written in different languages
Microservices
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Separate processes add overhead.
• Security risks: every service adds to attack surface.
• Sometimes worth it, sometimes not.
• This is an implementation choice.
• Should not be required by the architectural definition.
Microservices
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• OSGi is a great implementation tech for both of these patterns.
• First: Microservices
An OSGi Approach
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• OSGi Services == Microservices
• Lightweight communications, independently deployable, yada yada.
• Defer the decision to go remote.
• Service boundaries are hard to anticipate
• (From 11+ years OSGi development experience!)
OSGi Microservices
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
Scale Out…
Consumer Provider
Consumer Provider
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
Consumer Provider
… and Scale In
Consumer Provider
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• OSGi Remote Services Admin.
• Transparent discovery and distribution for OSGi Services.
• Better (but not limited to) OSGi at both ends.
Options
Provider
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• OSGi Remote Services Admin.
• Transparent discovery and distribution for OSGi Services.
• Better (but not limited to) OSGi at both ends.
Options
ProviderConsumer
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• REST.
• Layered over OSGi Services (whiteboard).
• RFP-173: JAX-RS Services — OSGi Enterprise R7 (hopefully).
• Interim: hstaudacher/osgi-jax-rs-connector works well*.
Options
* But careful of CDDL/GPL on Jersey.
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Begin your microservices application in OSGi.
• Just write interfaces and components!
• As the need arises, separate into processes.
Summary
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Second: Containers
An OSGi Approach
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Containers are implementation agnostic.
• OSGi gives us internal modularity.
• Turtles all the way down.
• Reuse APIs and component from your Repository.
• Use the Resolver to assemble container content, minimise image size.
• Bndtools 3.1+ may support “export as Docker image”.
• Easy deployment for Ops people familiar with Docker.
OSGi Inside
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Paremus Packager — announced at EclipseCon, Boston 2013.
• Integrates lifecycle of external apps into OSGi.
• Originally used custom process launcher.
• Rewritten early this year to support Docker.
• (non-Dockerised processes still supported).
• Bundles can depend on containerised services.
• Resolver can solve and provision these dependencies.
OSGi Outside
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
OSGi Outside
Consumer
Require-Capability:
com.paremus.packager.pkg.MySQL Endpoint
resolve
Paremus Service Fabric
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
Consumer
Require-Capability:
com.paremus.packager.pkg.MySQL
MySQL
Package
Wrapper
Provide-Capability:
com.paremus.packager.pkg.MySQL
resolve provision
Paremus Service Fabric
Endpoint
Start or Attach
Container
OSGi Outside
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
Consumer
Require-Capability:
com.paremus.packager.pkg.MySQL
MySQL
Package
Wrapper
Provide-Capability:
com.paremus.packager.pkg.MySQL
resolve provision
Paremus Service Fabric
Endpoint;
uri=jdbc:mysql://192.168.0.1:3306
Start or Attach
Container
OSGi Outside
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
• Temporal Dependencies
• Packager knows when the container is running and available.
• Publishes the URL of that service to the distributed app:
• e.g.: jdbc:mysql://192.168.0.20:3306
• Using OSGi Remote Services (yay standards)
• Injectable by any OSGi component.
• Including other Packager wrappers!
OSGi Outside
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
WordPress
Require-Capability:
com.paremus.packager.pkg.MySQL
MySQL
Package
Wrapper
Provide-Capability:
com.paremus.packager.pkg.MySQL
resolve provision
Paremus Service Fabric
Endpoint;
uri=jdbc:mysql://192.168.0.1:3306
Endpoint;
uri=http://192.168.0.20:80;
app=WordPress 4.1
OSGi Outside
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
OSGi Outside
DEMO
www.paremus.com
Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved.
Paremus Service Fabric Overview November 2009
Packager
Paremus Packager and Demos at docs.paremus.com

More Related Content

What's hot

Kubernetes Ingress to Service Mesh (and beyond!)
Kubernetes Ingress to Service Mesh (and beyond!)Kubernetes Ingress to Service Mesh (and beyond!)
Kubernetes Ingress to Service Mesh (and beyond!)
Christian Posta
 
Building a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaSBuilding a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaS
WSO2
 
Policy Based SDN Solution for DC and Branch Office by Suresh Boddapati
Policy Based SDN Solution for DC and Branch Office by Suresh BoddapatiPolicy Based SDN Solution for DC and Branch Office by Suresh Boddapati
Policy Based SDN Solution for DC and Branch Office by Suresh Boddapati
buildacloud
 

What's hot (20)

AWS re:Invent 2016 Fast Forward
AWS re:Invent 2016 Fast ForwardAWS re:Invent 2016 Fast Forward
AWS re:Invent 2016 Fast Forward
 
Istio service mesh: past, present, future (TLV meetup)
Istio service mesh: past, present, future (TLV meetup)Istio service mesh: past, present, future (TLV meetup)
Istio service mesh: past, present, future (TLV meetup)
 
Consul: Service Mesh for Microservices
Consul: Service Mesh for MicroservicesConsul: Service Mesh for Microservices
Consul: Service Mesh for Microservices
 
Cloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A ServiceCloud Foundry, the Open Platform As A Service
Cloud Foundry, the Open Platform As A Service
 
CloudCamp London 3 - Zeus - Owen Garret
CloudCamp London 3 - Zeus - Owen GarretCloudCamp London 3 - Zeus - Owen Garret
CloudCamp London 3 - Zeus - Owen Garret
 
Kubernetes Ingress to Service Mesh (and beyond!)
Kubernetes Ingress to Service Mesh (and beyond!)Kubernetes Ingress to Service Mesh (and beyond!)
Kubernetes Ingress to Service Mesh (and beyond!)
 
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
Microservice 4.0 Journey - From Spring NetFlix OSS to Istio Service Mesh and ...
 
Building a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaSBuilding a Cloud Native Platform with WSO2 Private PaaS
Building a Cloud Native Platform with WSO2 Private PaaS
 
Chaos Debugging for Microservices
Chaos Debugging for MicroservicesChaos Debugging for Microservices
Chaos Debugging for Microservices
 
Application Rollout - Istio
Application Rollout - Istio Application Rollout - Istio
Application Rollout - Istio
 
Multi-cluster service mesh with GlooMesh
Multi-cluster service mesh with GlooMeshMulti-cluster service mesh with GlooMesh
Multi-cluster service mesh with GlooMesh
 
Migrate the Mission Critical Application to AWS Cloud
Migrate the Mission Critical Application to AWS CloudMigrate the Mission Critical Application to AWS Cloud
Migrate the Mission Critical Application to AWS Cloud
 
Cloud-Native Application Debugging with Envoy and Service Mesh
Cloud-Native Application Debugging with Envoy and Service MeshCloud-Native Application Debugging with Envoy and Service Mesh
Cloud-Native Application Debugging with Envoy and Service Mesh
 
Building Cloud Native Software
Building Cloud Native SoftwareBuilding Cloud Native Software
Building Cloud Native Software
 
JBoss Architect Meetup - December 2013 - JBoss Fuse in Vodafone’s Global Inte...
JBoss Architect Meetup - December 2013 - JBoss Fuse in Vodafone’s Global Inte...JBoss Architect Meetup - December 2013 - JBoss Fuse in Vodafone’s Global Inte...
JBoss Architect Meetup - December 2013 - JBoss Fuse in Vodafone’s Global Inte...
 
The elegant way of implementing microservices with istio
The elegant way of implementing microservices with istioThe elegant way of implementing microservices with istio
The elegant way of implementing microservices with istio
 
Open Source Networking Days- Service Mesh
Open Source Networking Days- Service MeshOpen Source Networking Days- Service Mesh
Open Source Networking Days- Service Mesh
 
Policy Based SDN Solution for DC and Branch Office by Suresh Boddapati
Policy Based SDN Solution for DC and Branch Office by Suresh BoddapatiPolicy Based SDN Solution for DC and Branch Office by Suresh Boddapati
Policy Based SDN Solution for DC and Branch Office by Suresh Boddapati
 
20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes
 
Shedding Light on LINE Token Economy You Won't Find in Our White Paper
Shedding Light on LINE Token Economy You Won't Find in Our White PaperShedding Light on LINE Token Economy You Won't Find in Our White Paper
Shedding Light on LINE Token Economy You Won't Find in Our White Paper
 

Viewers also liked

Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
mfrancis
 
Microservices: The OSGi way A different vision on microservices
Microservices: The OSGi way A different vision on microservicesMicroservices: The OSGi way A different vision on microservices
Microservices: The OSGi way A different vision on microservices
Miguel Pastor
 
Intro to OSGi – the Microservices kernel - P Kriens & T Ward
Intro to OSGi – the Microservices kernel - P Kriens & T WardIntro to OSGi – the Microservices kernel - P Kriens & T Ward
Intro to OSGi – the Microservices kernel - P Kriens & T Ward
mfrancis
 

Viewers also liked (11)

Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
Dynamically assembled REST Microservices using JAX-RS and... Microservices? -...
 
Microservices and OSGi: Better together?
Microservices and OSGi: Better together?Microservices and OSGi: Better together?
Microservices and OSGi: Better together?
 
Microservices: The OSGi way A different vision on microservices
Microservices: The OSGi way A different vision on microservicesMicroservices: The OSGi way A different vision on microservices
Microservices: The OSGi way A different vision on microservices
 
Microservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karafMicroservices OSGi-running-with-apache-karaf
Microservices OSGi-running-with-apache-karaf
 
Intro to OSGi – the Microservices kernel - P Kriens & T Ward
Intro to OSGi – the Microservices kernel - P Kriens & T WardIntro to OSGi – the Microservices kernel - P Kriens & T Ward
Intro to OSGi – the Microservices kernel - P Kriens & T Ward
 
QCon Sao Paulo Keynote - Microservices, an Unexpected Journey
QCon Sao Paulo Keynote - Microservices, an Unexpected JourneyQCon Sao Paulo Keynote - Microservices, an Unexpected Journey
QCon Sao Paulo Keynote - Microservices, an Unexpected Journey
 
The Dark Side of Microservices
The Dark Side of MicroservicesThe Dark Side of Microservices
The Dark Side of Microservices
 
Do you really want to go fully micro?
Do you really want to go fully micro?Do you really want to go fully micro?
Do you really want to go fully micro?
 
MicroServices, yet another architectural style?
MicroServices, yet another architectural style?MicroServices, yet another architectural style?
MicroServices, yet another architectural style?
 
Building Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 ASBuilding Services with WSO2 Microservices framework for Java and WSO2 AS
Building Services with WSO2 Microservices framework for Java and WSO2 AS
 
REST and Microservices
REST and MicroservicesREST and Microservices
REST and Microservices
 

Similar to Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baum

Breaking Up the Monolith with Containers
Breaking Up the Monolith with ContainersBreaking Up the Monolith with Containers
Breaking Up the Monolith with Containers
Amazon Web Services
 
Asynchronous Services – A promising future for OSGi - T Ward
Asynchronous Services – A promising future for OSGi - T WardAsynchronous Services – A promising future for OSGi - T Ward
Asynchronous Services – A promising future for OSGi - T Ward
mfrancis
 
Architecting an ibm sametime 9.0 audio visual deployment
Architecting an ibm sametime 9.0 audio visual deploymentArchitecting an ibm sametime 9.0 audio visual deployment
Architecting an ibm sametime 9.0 audio visual deployment
a8us
 
Tech sametime-deployment-enablement
Tech sametime-deployment-enablementTech sametime-deployment-enablement
Tech sametime-deployment-enablement
a8us
 
Ibm sametime deployment planning open mic webcast
Ibm sametime deployment planning open mic webcastIbm sametime deployment planning open mic webcast
Ibm sametime deployment planning open mic webcast
a8us
 
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T WardCloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
mfrancis
 

Similar to Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baum (20)

OSGi for Enterprises
OSGi for EnterprisesOSGi for Enterprises
OSGi for Enterprises
 
Enterprise Applications With OSGi and SpringSource dm Server
Enterprise Applications With OSGi and SpringSource dm ServerEnterprise Applications With OSGi and SpringSource dm Server
Enterprise Applications With OSGi and SpringSource dm Server
 
Cloud Delivery: The Path from Simple to Sophisticated
Cloud Delivery: The Path from Simple to SophisticatedCloud Delivery: The Path from Simple to Sophisticated
Cloud Delivery: The Path from Simple to Sophisticated
 
Developing Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS Summit
Developing Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS SummitDeveloping Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS Summit
Developing Intelligent Robots with AWS RoboMaker - SVC205 - Anaheim AWS Summit
 
MongoDB @ Fiverr: The Road to Atlas
MongoDB @ Fiverr: The Road to AtlasMongoDB @ Fiverr: The Road to Atlas
MongoDB @ Fiverr: The Road to Atlas
 
Breaking Up the Monolith with Containers
Breaking Up the Monolith with ContainersBreaking Up the Monolith with Containers
Breaking Up the Monolith with Containers
 
Oracle SOA Tips & Tricks
Oracle SOA Tips & TricksOracle SOA Tips & Tricks
Oracle SOA Tips & Tricks
 
Automating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and botoAutomating Oracle Database deployment with Amazon Web Services, fabric, and boto
Automating Oracle Database deployment with Amazon Web Services, fabric, and boto
 
Asynchronous Services – A promising future for OSGi - T Ward
Asynchronous Services – A promising future for OSGi - T WardAsynchronous Services – A promising future for OSGi - T Ward
Asynchronous Services – A promising future for OSGi - T Ward
 
Architecting an ibm sametime 9.0 audio visual deployment
Architecting an ibm sametime 9.0 audio visual deploymentArchitecting an ibm sametime 9.0 audio visual deployment
Architecting an ibm sametime 9.0 audio visual deployment
 
Tech sametime-deployment-enablement
Tech sametime-deployment-enablementTech sametime-deployment-enablement
Tech sametime-deployment-enablement
 
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
 
Web Assembly (on the server)
Web Assembly (on the server)Web Assembly (on the server)
Web Assembly (on the server)
 
JMP205 From Zero To Mobile Hero - IBM Sametime 8.5.2 Mobile Access Server Ins...
JMP205 From Zero To Mobile Hero - IBM Sametime 8.5.2 Mobile Access Server Ins...JMP205 From Zero To Mobile Hero - IBM Sametime 8.5.2 Mobile Access Server Ins...
JMP205 From Zero To Mobile Hero - IBM Sametime 8.5.2 Mobile Access Server Ins...
 
Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016
 
EMC Atmos for service providers
EMC Atmos for service providersEMC Atmos for service providers
EMC Atmos for service providers
 
Ibm sametime deployment planning open mic webcast
Ibm sametime deployment planning open mic webcastIbm sametime deployment planning open mic webcast
Ibm sametime deployment planning open mic webcast
 
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T WardCloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
Cloudy with a Chance of Bundles (and non java components) - R Nicholson & T Ward
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWS
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 

More from 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
 

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

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Recently uploaded (20)

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
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Modularity, Microservices and Containerisation - Neil Bartlett, Derek Baum

  • 1. www.paremus.com Transforming the Way the World Runs Applications Copyright © 2012 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. www.paremus.comParemus July 2012 Modularity, Microservices and Containerisation info@paremus.com
  • 2. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Docker reigns supreme… • Also: • Rocket (CoreOS) • Solaris Zones • FreeBSD Jails • etc Containers
  • 3. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Reduce the pain of shipping apps to production. • Kill off “It Works for Me” syndrome. • Increased security. What Containers are Claimed to Solve
  • 4. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Reduce the pain of shipping apps to production. • Consistent way to ship and run applications. • You already know how to run any image. • Increased security. • Hugely powerful for opaque, 3rd Party parts of your app: • MySQL, ZooKeeper, Hadoop, … What Containers Actually Solve
  • 5. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Configuration approaches vary widely. • Dependencies still exist! • OS kernel version, CPU, GPU • Network • Dependent Services • Orchestration (solutions are nascent). What Containers Don’t Solve
  • 6. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Modularity! • Application code is untouched by containerisation. • Greatest strength and greatest weakness. • All too easy to build containerised monoliths. • Just as hard to maintain, evolve. What Containers Don’t Solve
  • 7. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • “… an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.” • From the Gospel of Martin Fowler ;-) Microservices
  • 8. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Small services • Own process • Lightweight communications • Independently deployable • Automated deployment • May be written in different languages Microservices
  • 9. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Separate processes add overhead. • Security risks: every service adds to attack surface. • Sometimes worth it, sometimes not. • This is an implementation choice. • Should not be required by the architectural definition. Microservices
  • 10. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • OSGi is a great implementation tech for both of these patterns. • First: Microservices An OSGi Approach
  • 11. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • OSGi Services == Microservices • Lightweight communications, independently deployable, yada yada. • Defer the decision to go remote. • Service boundaries are hard to anticipate • (From 11+ years OSGi development experience!) OSGi Microservices
  • 12. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 Scale Out… Consumer Provider Consumer Provider
  • 13. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 Consumer Provider … and Scale In Consumer Provider
  • 14. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • OSGi Remote Services Admin. • Transparent discovery and distribution for OSGi Services. • Better (but not limited to) OSGi at both ends. Options Provider
  • 15. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • OSGi Remote Services Admin. • Transparent discovery and distribution for OSGi Services. • Better (but not limited to) OSGi at both ends. Options ProviderConsumer
  • 16. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • REST. • Layered over OSGi Services (whiteboard). • RFP-173: JAX-RS Services — OSGi Enterprise R7 (hopefully). • Interim: hstaudacher/osgi-jax-rs-connector works well*. Options * But careful of CDDL/GPL on Jersey.
  • 17. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Begin your microservices application in OSGi. • Just write interfaces and components! • As the need arises, separate into processes. Summary
  • 18. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Second: Containers An OSGi Approach
  • 19. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Containers are implementation agnostic. • OSGi gives us internal modularity. • Turtles all the way down. • Reuse APIs and component from your Repository. • Use the Resolver to assemble container content, minimise image size. • Bndtools 3.1+ may support “export as Docker image”. • Easy deployment for Ops people familiar with Docker. OSGi Inside
  • 20. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Paremus Packager — announced at EclipseCon, Boston 2013. • Integrates lifecycle of external apps into OSGi. • Originally used custom process launcher. • Rewritten early this year to support Docker. • (non-Dockerised processes still supported). • Bundles can depend on containerised services. • Resolver can solve and provision these dependencies. OSGi Outside
  • 21. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 OSGi Outside Consumer Require-Capability: com.paremus.packager.pkg.MySQL Endpoint resolve Paremus Service Fabric
  • 22. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 Consumer Require-Capability: com.paremus.packager.pkg.MySQL MySQL Package Wrapper Provide-Capability: com.paremus.packager.pkg.MySQL resolve provision Paremus Service Fabric Endpoint Start or Attach Container OSGi Outside
  • 23. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 Consumer Require-Capability: com.paremus.packager.pkg.MySQL MySQL Package Wrapper Provide-Capability: com.paremus.packager.pkg.MySQL resolve provision Paremus Service Fabric Endpoint; uri=jdbc:mysql://192.168.0.1:3306 Start or Attach Container OSGi Outside
  • 24. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 • Temporal Dependencies • Packager knows when the container is running and available. • Publishes the URL of that service to the distributed app: • e.g.: jdbc:mysql://192.168.0.20:3306 • Using OSGi Remote Services (yay standards) • Injectable by any OSGi component. • Including other Packager wrappers! OSGi Outside
  • 25. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 WordPress Require-Capability: com.paremus.packager.pkg.MySQL MySQL Package Wrapper Provide-Capability: com.paremus.packager.pkg.MySQL resolve provision Paremus Service Fabric Endpoint; uri=jdbc:mysql://192.168.0.1:3306 Endpoint; uri=http://192.168.0.20:80; app=WordPress 4.1 OSGi Outside
  • 26. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 OSGi Outside DEMO
  • 27. www.paremus.com Copyright © 2009 Paremus Ltd. May not be reproduced by any means without express permission. All rights reserved. Paremus Service Fabric Overview November 2009 Packager Paremus Packager and Demos at docs.paremus.com