Howdy Christian, J-B, et al….


I’ve been working on such a thing for the last few weeks in a cloud of
shelter-in-lace frustration, and I believe I can donate what I have if it’s
helpful at all (otherwise, I’ll be very interested in what you have to see
how it differs).  I had that moment of glorious arrival on Friday when my
bundle finally deployed in gogo and the diagnostic print from my activation
routine printed to System.out.



Now, for my stuff, it’s still a bit of what a former Irish company
president of mine would call a “dog’s dinner”, since I have tons of
redundant export-package references and such to remove.  I also am thinking
the well-established packages (like the ones pulled from referencing the
felix obr repository) do really want to remain separate bundles, just
cleanly pulled in and activated at the time of REST/microservice deploy
(which is what mine is doing).



Really, what I did was to consolidate other examples I had, none of which
built or activated properly on Felix 6.0.3 for me and I got frustrated and
created my own.



Also, mine is about 50% Apache Jersey, 50% Felix content/reference-wise.  Do
you want to make it pure felix?  It’s all just pom.xml references otherwise.



And just to be clear, is there anything manifestly “microservice”-y that
would distinguish from a reasonably well-featured REST framework?  I take
it you’re looking to pull in karaf (I haven’t yet, but will, I’m just
learning to go slow because one false/erroneous move can break the entire
thing I’m finding).  I have it up and speaking, I just need to create a
notion of universal deploy-ability (and that includes guidance for
docker-ization, which I’m thinking I’ll do by having container
initialization that drives felix/gogo via commands to do the resolve and
deploy).



In summary, if you’d rather go solo, that’s cool, but I’m all over this
this week and could help if it helps at all, would be happy to contribute.



Regards,

Wayne





*From: *Christian Schneider <ch...@die-schneider.net>
*Sent: *Sunday, April 12, 2020 1:59 PM
*To: *Felix Dev <dev@felix.apache.org>
*Subject: *Re: Proposal for a microservice blueprint



Looking forward to what you come up with. Do you already have something to

look into or help with?



I will try to get along without a special runtime (basically just felix

framework + suitably configured bundles).

For a first application assembly I plan to use bnd maven plugins like in

the enroute example.



There is a lot of possible space for improvements though. I hope there are

some cool tools from karaf we can use to make the assembly and runtime even

better.



Christian



Am So., 12. Apr. 2020 um 19:46 Uhr schrieb Jean-Baptiste Onofre <

j...@nanthrax.net>:



> Hi Christian,

>

> That’s interesting, but I think that people are expecting more than that.

>

> 1. Most of the time, we do things too much complex.

> 2. Assembly again layers is not always easy

> 3. Where’s the runtime ?

>

> Your main point is valid: lot of people went too far in fine grained

> services and now, they are thinking about "smart" micro services.

> That’s exactly the purpose of Netflix using Apache Karaf.

>

> Back on your point, that’s the target of "new" Karaf tool that I restarted

> (re-starting/founding Karaf Boot we discussed while ago that addressed

> exactly the points you mentioned).

>

> So, why not having a blueprint (I still think people wants to create their

> own blueprint), but having tool + runtime is more interesting and that’s

> why I’m working on Karaf "DevX code" PoC.

>

> Regards

> JB

>

> > Le 12 avr. 2020 à 11:58, Christian Schneider <ch...@die-schneider.net>

> a écrit :

> >

> > In recent years we saw a big trend towards micro services and cloud.

> > Lately people discovered though that such services are often made too

> fine

> > grained.

> > The newest trend goes to building bigger micro services on the level of

> > domain driven design bounded contexts.

> >

> > Especially for these services OSGi is a very interesting platform as
they

> > need more internal structure than the more fine grained services.

> > Unfortunately it is quite hard to build a cloud native service in OSGi

> from

> > scratch.

> >

> > So I would like to offer a blueprint for cloud native micro services

> inside

> > the felix community. The goal is to provide all parts of a cloud native

> > system that are usually needed, like:

> >

> > * Declarative services as dependency injection

> > * Aries Jaxrs Whiteboard for REST

> > * Dropwizard metrics exported as Prometheus metrics

> > * Swagger

> > * Halbrowser

> > * Felix healthchecks

> > * Configuration using OSGi configurator + Environment variables plugin

> > * Logging to console

> > * Final application is provided as a runnable jar

> > * Example docker build files

> > * Example kubernetes yaml

> >

> > What do you think?

> >

> > Christian

> >

> > --

> > --

> > Christian Schneider

> > http://www.liquid-reality.de

> >

> > Computer Scientist

> > http://www.adobe.com

>

>



-- 

-- 

Christian Schneider

http://www.liquid-reality.de



Computer Scientist

http://www.adobe.com

Reply via email to