For me cloud native means to fit as well as possible into a typical cloud.
Luckily this currently means k8s as there is not much competition. On top
of course we need the relevant surrounding services like you described.

For metrics the current state of the art seems to be prometheus. A standard
for metrics would be great. We currently use dropwizard metrics in the code
and
export them for prometheus.
I did not yet include opentracing but it makes a lot of sense.
For config I look into felix configurator and the env replacement plugin.
For logging I am not sure what the ideal approach is. The 12 factor
principles say to log to stdout.
For dependency injection stack I currently look into declarative services.
Aries CDI is a very interesting alternative though. Especially if the other
microprofile extensions also fit into OSGi. I guess it makes sense to
provide examples for both.
For packaging I currently use bnd maven plugins for resolving and export.
Some apache based alternative would be great. Looking forward to what you
guys work on.
For building images I currently go with default docker. JIB does not work
with OSGi as far as I know.

Christian


Am Mi., 15. Apr. 2020 um 07:41 Uhr schrieb Romain Manni-Bucau <
rmannibu...@gmail.com>:

> Hmm, here are a few thoughts:
>
> 1. What is "cloud native"? Nothing right? ;). More seriously I guess you
> speak of k8s microservices. If so, pillars are metrics (openmetric),
> tracing (opentracing), config (env, and secret/maps), security (jwt?),
> logging compatible with a docker driver, api exposure (openapi) and
> optionally messaging.
> 2. Assuming we agree on 1, a standard user facing and homogeneous stack can
> be built on top of aries-cdi, jaxrs whiteboard and microprofile (we have
> all that at geronimo).
> 3. Then for the packaging deployment there are two points: the app
> packaging and how to build images. For the first, I agree with jb it shpuld
> be something cloud friendly, winegrower or so. For images I guess JIB is a
> more relevant choice, avoiding docker daemon need on CI and being more
> customizable programmatically if needed.
>
> Hope it makes sense.
>
>
> Le mer. 15 avr. 2020 à 07:23, Jean-Baptiste Onofre <j...@nanthrax.net> a
> écrit :
>
> > +0 for me.
> >
> > Again, it’s interesting, a blueprint/tutorial is possible but I would go
> > with something more concrete.
> >
> > It’s what I started while ago with Karaf-boot and now on Karaf DevX
> branch.
> >
> > Go ahead if you want but my concerns are:
> >
> > - it will be maybe too abstract and complex for non OSGi users
> > (spring-boot guys especially)
> > - as I follow agree with your view about "too much fine grained services"
> > (it’s something that I discussed with Netflix), I think a runtime would
> be
> > welcome
> >
> > So, I’m no against, but I think the DevX approach is more concrete,
> > straight, and addressing non OSGi users.
> >
> > Regards
> > JB
> >
> > > Le 15 avr. 2020 à 07:15, Christian Schneider <ch...@die-schneider.net>
> > a écrit :
> > >
> > > (I first proposed this in felix. Some people hinted that Aries might
> be a
> > > better fit. So I am also starting this discussion here)
> > >
> > > 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