You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by contactreji <co...@gmail.com> on 2017/01/03 06:26:10 UTC

Springboots vs Osgi // for Camel Apps

Does anyone have any inputs on whether packaging my apps as Springboots
offers more flexibility in terms of scalability, performance and more
importantly stability for an Apache Camel application or does osgi based
platforms like Jboss Fuse / Servicemix have an edge over it in these
aspects?

What is the recommended way to do it? I need my middleware to be well
scalable as the load increases and I am looking at dockerize'ing my
application to host on AWS or Kubernetes platforms. 

I am looking at ELK  stack for log monitoring and Graphite/Grafana for
metrics boarding.

Cheers




-----
Reji Mathews
Sr. Developer - Middleware Integration / SOA ( Open Source - Apache Camel & Jboss Fuse ESB | Mule ESB )
LinkedIn - http://in.linkedin.com/pub/reji-mathews/31/9a2/40a
Twitter - reji_mathews
--
View this message in context: http://camel.465427.n5.nabble.com/Springboots-vs-Osgi-for-Camel-Apps-tp5792083.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Springboots vs Osgi // for Camel Apps

Posted by "Preben.Asmussen" <pr...@dr.dk>.
I would surely recommend spring-boot. 
I't offers a lot of flexibility in terms of testing, deployment options and
auto configuration. The developer experience is awesome, but it takes some
time to get under the hood of all the Spring auto magic. That's something to
be aware off.
In the resent time there has been a move away from app. servers be it osgi
or jee servers, towards more standalone and process oriented deployments,
especially when you plan to deploy to docker and/or Kuberntes.
I would be wary about putting to many containers in containers in
containers.

best,
Preben



--
View this message in context: http://camel.465427.n5.nabble.com/Springboots-vs-Osgi-for-Camel-Apps-tp5792083p5792151.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Re: Springboots vs Osgi // for Camel Apps

Posted by Christian Schneider <ch...@die-schneider.net>.
What do you mean by load? The OSGi services should not affect 
performance at all.

If your dependencies are OSGi ready then the development overhead of 
OSGi is minimal. If the dependencies or behaving badly in OSGi then the 
development overhead can be big.

On the testing side OSGi has the problem that you need OSGi testing like 
pax exam to have meaningful tests. So I agree that testing is more effort.

Christian

On 03.01.2017 14:59, Vitalii Tymchyshyn wrote:
> I concur. Employing OSGI features like service registry adds significant
> load according to our tests. Actually we switched from FUSE to Spring Boot
> during last year.
> The reason is very simple: in our experience OSGI features were rarely used
> and classloader hell / testing problems are real.
>
> Best regards, Vitalii Tymchyshyn
>
> On Tue, Jan 3, 2017, 3:26 AM Christian Schneider <ch...@die-schneider.net>
> wrote:
>
>> The packaging as spring boot or OSGi application should not affect the
>> performance.
>>


-- 
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com


Re: Springboots vs Osgi // for Camel Apps

Posted by Vitalii Tymchyshyn <vi...@tym.im>.
I concur. Employing OSGI features like service registry adds significant
load according to our tests. Actually we switched from FUSE to Spring Boot
during last year.
The reason is very simple: in our experience OSGI features were rarely used
and classloader hell / testing problems are real.

Best regards, Vitalii Tymchyshyn

On Tue, Jan 3, 2017, 3:26 AM Christian Schneider <ch...@die-schneider.net>
wrote:

> The packaging as spring boot or OSGi application should not affect the
> performance.
>

Re: Springboots vs Osgi // for Camel Apps

Posted by Christian Schneider <ch...@die-schneider.net>.
The packaging as spring boot or OSGi application should not affect the 
performance.
You should be able to scale OSGi packagings in the same way as spring 
boot by adding more instances.

One problem with spring boot is that it is more difficult to package 
several integrations into one image. OSGi provides good mechanisms for 
bundles to share the same runtime.
Packaging several integrations into the same runtime safes a lot of 
memory. On the other hand you might experience instabilities when 
throwing too many different things together.

So if you consider spring boot then do the math and predict the number 
of integrations you have and multiply by the memory per runtime. 
Basically spring boot deployments tend to need lots of runtimes. It can 
be quite a problem to manage all these. Often you need a cloud 
environment to effectively manage spring boot deployments. People also 
often underestimate how expensive cloud deployments can be if you need a 
lot of instances and or memory.

Christian

On 03.01.2017 07:26, contactreji wrote:
> Does anyone have any inputs on whether packaging my apps as Springboots
> offers more flexibility in terms of scalability, performance and more
> importantly stability for an Apache Camel application or does osgi based
> platforms like Jboss Fuse / Servicemix have an edge over it in these
> aspects?
>
> What is the recommended way to do it? I need my middleware to be well
> scalable as the load increases and I am looking at dockerize'ing my
> application to host on AWS or Kubernetes platforms.
>
> I am looking at ELK  stack for log monitoring and Graphite/Grafana for
> metrics boarding.
>
> Cheers
>
>
>
>
> -----
> Reji Mathews
> Sr. Developer - Middleware Integration / SOA ( Open Source - Apache Camel & Jboss Fuse ESB | Mule ESB )
> LinkedIn - http://in.linkedin.com/pub/reji-mathews/31/9a2/40a
> Twitter - reji_mathews
> --
> View this message in context: http://camel.465427.n5.nabble.com/Springboots-vs-Osgi-for-Camel-Apps-tp5792083.html
> Sent from the Camel - Users mailing list archive at Nabble.com.


-- 
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com


Re: Springboots vs Osgi // for Camel Apps

Posted by souciance <so...@gmail.com>.
Hello,

I don't have any experience with Spring Boot so my thoughts will be on OSGI
and in particular Karaf. I have  setup similar to what you are asking,
namely we put each single camel application inside Karaf which itself is
packaged in docker and then deployed to AWS or somewhere else.

The trickiest part for me was to get the self-contained karaf distribution
worked. I am not sure what the spring boot equivalent is but in Karaf world
you can create a zip package that contains your Karaf installation as well
as your Camel application. Then inside docker you simply install Karaf and
start it and your Camel apps start on runtime. You don't then need to add
them later as is normally done in a traditional server setup. However this
took some time to figure and setup. That for me is the biggest headache,
namely trying to figure out the different parts of the configuration. Once
it works it is really effective. Off course another issue is the
compatibility of Camel versions with Karaf versions. It isn't always the
case that the latest version of one works with the latest versions of the
other. Then again using a self-contained Karaf package I can test upgrades
easily and see how things work. The dockerization part is easy. I also like
that it is is easy to install external components in Karaf like jolokia and
then run hawtio remotely on our Camel apps. Well I am sure there are more
to be said but a lot depends on your requirements and whether you want to
work in a spring way or not etc.

Best
Souciance

On Tue, Jan 3, 2017 at 7:26 AM, contactreji [via Camel] <
ml-node+s465427n5792083h36@n5.nabble.com> wrote:

> Does anyone have any inputs on whether packaging my apps as Springboots
> offers more flexibility in terms of scalability, performance and more
> importantly stability for an Apache Camel application or does osgi based
> platforms like Jboss Fuse / Servicemix have an edge over it in these
> aspects?
>
> What is the recommended way to do it? I need my middleware to be well
> scalable as the load increases and I am looking at dockerize'ing my
> application to host on AWS or Kubernetes platforms.
>
> I am looking at ELK  stack for log monitoring and Graphite/Grafana for
> metrics boarding.
>
> Cheers
> Reji Mathews
> Sr. Developer - Middleware Integration / SOA ( Open Source - Apache Camel
> & Jboss Fuse ESB | Mule ESB )
> LinkedIn - http://in.linkedin.com/pub/reji-mathews/31/9a2/40a
> Twitter - reji_mathews
>
>
> ------------------------------
> If you reply to this email, your message will be added to the discussion
> below:
> http://camel.465427.n5.nabble.com/Springboots-vs-Osgi-for-
> Camel-Apps-tp5792083.html
> To start a new topic under Camel - Users, email
> ml-node+s465427n465428h31@n5.nabble.com
> To unsubscribe from Camel - Users, click here
> <http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=465428&code=c291Y2lhbmNlLmVxZGFtLnJhc2h0aUBnbWFpbC5jb218NDY1NDI4fDE1MzI5MTE2NTY=>
> .
> NAML
> <http://camel.465427.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>




--
View this message in context: http://camel.465427.n5.nabble.com/Springboots-vs-Osgi-for-Camel-Apps-tp5792083p5792084.html
Sent from the Camel - Users mailing list archive at Nabble.com.