On Wednesday 19 September 2018 10:36:24 Andrei Dulvac wrote:
> Hi guys.

Hi,

> So first of all I acknowledge that conceptually there is some overlap - the
> concepts of health, readiness, liveness themselves overlap.
> When we wrote systemready, we did know of the Sling HCs (at least I did)
> and how they're used. And that was one of the reasons why we decided not to
> use them.
> 
> They're currently used, as Justin put it, for a much broader scope. A
> system can fail a HC and it doesn't mean it's not ready. In one of
> Bertrand's adapt.to presentation from 2013 [0], a security checklist is
> mentioned explicitly - which we use in AEM. It's one of those things that
> requires manual input to turn healthy. The docu also mentions a lot of
> stuff, including susing them as serverside Junit tests [1]. And all those
> things are great.
> 
> > Now the system readyness framework was mostly created to have something
> 
> on Felix level and the capabilities of the Sling Health Checks weren’t
> known.
> 
> Not entirely accurate. We knew of the sling HCs and initially we wanted to
> donate systemready to sling; but it's definitely good it went into felix.
> 
> > The dependencies of Sling HC to Sling are minimal today already: It’s
> 
> Sling thread pool (a felix pendant or just a plain java one can be used)
> and Sling Scheduler (also this can easily be replaced by the standard java
> mechanism).
> 
> In my opinion, that's A LOT. And they're prefixed by "Sling-". Systemready
> has two dependencies: javax.servlet and the osgi API. And it can
> technically run on any framewok. The deps were another reason why we didn't
> use the HCs. Of course, those might grow as it becomes more mature.

both Scheduler and Threads are *Commons* modules and can run without Sling.

Regards,
O.

> > What would make sense is a bridge where a subset of health checks could
> 
> be fed into the readyness framework (i.e. if these X health checks pass,
> the system is considered "ready" and/or "alive").
> 
> > (you just create two tags for readiness and liveness each).
> 
> These don't seem to contradict each other.
> Stefan, did you mean that the SystemReady checks would also become some
> tagged HCs or the other way around? That some tagged HCs would be fed into
> systemready?
> 
> So I'm game for unifying a bit at the felix level and hopefully we don't go
> overboard. I alone just don't have a solution yet that I can say I love
> 100%.
> 
> BTW, Sorry I couldn't make it to the hackathon, it would have been great to
> be part of the discussion.
> 
> - Andrei
> 
> 
> 
> 
> ---
> [0] https://adapt.to/2013/en/schedule/18_healthcheck.html
> [1]
> https://sling.apache.org/documentation/bundles/sling-health-check-tool.html#
> health-checks-as-server-side-junit-tests
> 
> 
> On Wed, Sep 19, 2018 at 1:15 AM Justin Edelson <jus...@justinedelson.com>
> 
> wrote:
> > Hi Georg,
> > Great. It looks like I misread Stefan's notes as being more dramatic than
> > they actually were intended to be :)
> > 
> > Regards,
> > Justin
> > 
> > On Tue, Sep 18, 2018 at 4:48 PM Georg Henzler <slin...@ghenzler.de> wrote:
> > > Hi Justin,
> > > 
> > > there was quite some discussion at adaptTo() around this topic already.
> > 
> > So
> > 
> > > as it stands all requirements to run Sling-based applications in
> > 
> > Kubernetes
> > 
> > > are met already by Sling Health Checks (you just create two tags for
> > > readiness and liveness each). HCs were developed from the first day with
> > > the goal to have them used by load balancers (and not only manual). Also
> > > Sling HCs are more mature in terms of parallel execution, timeout
> > 
> > handling,
> > 
> > > response customizing and special handling like asynchronous checks.
> > > 
> > > 
> > > Now the system readyness framework was mostly created to have something
> > 
> > on
> > 
> > > Felix level and the capabilities of the Sling Health Checks weren’t
> > 
> > known.
> > 
> > > I do agree that it would make sense to have it on Felix level though
> > 
> > (more
> > 
> > > visible to the non-Sling world, as a low level mechanism maybe best
> > 
> > located
> > 
> > > at the lowest framework level). The dependencies of Sling HC to Sling
> > > are
> > > minimal today already: It’s Sling thread pool (a felix pendant or just a
> > > plain java one can be used) and Sling Scheduler (also this can easily be
> > > replaced by the standard java mechanism).
> > > 
> > > > It might make more sense to invert this and identify what the
> > > > readyness
> > > 
> > > framework does (mostly in its OOTB checks and servlets)
> > > 
> > > > and merge that functionality into Sling Health Checks and then move
> > 
> > Sling
> > 
> > > > Health Checks (or solid chunks of it) to Felix.
> > > 
> > > This was the intention, but let’s wait for the feedback from Andrei and
> > > Christian.
> > > 
> > > -Georg
> > > 
> > > Sent from my iPhone
> > > 
> > > > On 18. Sep 2018, at 16:31, Justin Edelson <jus...@justinedelson.com>
> > > 
> > > wrote:
> > > > Hi,
> > > > After reviewing the presentation, this seems like kind of a stretch to
> > > 
> > > me.
> > > 
> > > > IIUC, the System Readyness Framework is (as its name would suggest)
> > > 
> > > solely
> > > 
> > > > concerned with "readyness"  and "liveness" (as seen in the example use
> > > > cases on slide 3) and the API is explicitly designed for this purpose
> > > > without any opportunity for namespace extension (i.e. you can extend
> > 
> > how
> > 
> > > > "readyness" and "liveness" are determined but you can't add new
> > > > categories). Sling Health Checks is concerned with a broader concept
> > > > of
> > > > "health" with no restrictions on namespacing. There are all kinds of
> > > > reasons why a system may be considered "ready" but still fails
> > > > specific
> > > > health checks. In other words, I'm doubtful that there is an overlap
> > 
> > here
> > 
> > > > at a framework level. What would make sense is a bridge where a subset
> > 
> > of
> > 
> > > > health checks could be fed into the readyness framework (i.e. if these
> > 
> > X
> > 
> > > > health checks pass, the system is considered "ready" and/or "alive").
> > 
> > But
> > 
> > > > I'd strongly suggest that the gamut of expression possible with the
> > > 
> > > health
> > > 
> > > > check framework goes far beyond the scope of what the readyness
> > 
> > framework
> > 
> > > > is designed to do. It might make more sense to invert this and
> > > > identify
> > > > what the readyness framework does (mostly in its OOTB checks and
> > > 
> > > servlets)
> > > 
> > > > and merge that functionality into Sling Health Checks and then move
> > 
> > Sling
> > 
> > > > Health Checks (or solid chunks of it) to Felix.
> > > > 
> > > > Or perhaps I've misunderstood the intention of this email/F2F
> > 
> > discussion.
> > 
> > > > But the way this looks is that we are going to take something with a
> > > 
> > > decent
> > > 
> > > > install base and replace it with something a few months old and a much
> > > > smaller functional scope. Just doesn't make sense to me.
> > > > 
> > > > Regards,
> > > > Justin
> > > > 
> > > > On Thu, Sep 13, 2018 at 1:03 PM Stefan Seifert <sseif...@pro-vision.de
> > > > 
> > > > wrote:
> > > >> - currently there is some overlap between sling health checks and the
> > > 
> > > new
> > > 
> > > >> felix system readyness framework presented [1]
> > > >> - the idea is to bring this together within felix
> > > >> - provide a facade for the sling healthcheck API for backwards
> > > >> compatibility
> > > >> 
> > > >> stefan
> > > >> 
> > > >> [1]
> > 
> > https://adapt.to/2018/en/schedule/system-readiness-framework-makes-deploym
> > ent-automation-a-breeze.html

Reply via email to