[almighty] Major Architectural Question for the Build

Michael Kleinhenz kleinhenz at redhat.com
Thu Oct 27 15:44:02 UTC 2016


Hi Tomas, Andy,

I encountered a foundational architectural question while thinking
about specific TODOs for the build stuff: is our SPI a
"Deployment-SPI" or a "Consumer-SPI"? Let me elaborate:

Deployment-SPI: a 3rd party build provider writes a "plugin", possibly
something scripted that could run in a sandbox, that is deployed on
Almighty. The plugin provides an API defined by us for the build
system. The plugin itself uses the build providers proprietary network
protocol to talk to the actual build provider's systems.

Consumer-SPI: we define a REST api that the build provider has to
implement. The Almighty system just gets the URL of the endpoint plus
the AuthN info.

Advantages Deployment-SPI:
* the build provider "plugin" can be written by a 3rd party different
from the actual build provider.
* the build provider can be "generic" for a software, not a vendor; a
jenkins plugin can be used against any jenkins installation.
* the change requirements for the build provider on his exposed
services are not necessary; providing support for Almighty is just
writing a bit of software that is deployed elsewhere (this may be
cucial for adoption)

Disadvantages Deployment -SPI:
* we need to run software on our systems that are not under our
control; this needs contract-based policies with the build provider
and/or a well working sandbox.

Advantages Consumer-SPI:
* we don't need do deploy anything on our servers, we just use the
remote service.

Disadvantages Consumer-SPI:
* the build provider must change/extend its service offering, what may
need some investment.

Any thoughts?

-- Michael

-- 
Michael Kleinhenz
Principal Software Engineer

Red Hat Deutschland GmbH
Werner-von-Siemens-Ring 14
85630 Grasbrunn
Germany

RED HAT | TRIED. TESTED. TRUSTED.
Red Hat GmbH, www.de.redhat.com,
Registered seat: Grasbrunn, Commercial register: Amtsgericht München,
HRB 153243,
Managing Directors: Paul Argiry, Charles Cachera, Michael Cunningham,
Michael O'Neill




More information about the almighty-public mailing list