[Satosa-dev] Microservices installation

Ioannis Kakavas ikakavas at protonmail.com
Wed Nov 8 14:24:18 CET 2017


Hello,

> Hi,
>
> Thanks Ivan for starting this dialogue.
>
>> - have each microservice be its own python package and selectively
>> install it using pip
>>
>> My concern with that approach is that most of my deployments use
>> multiple microservices (sometimes as many as 4) and so it would be a bit
>> cumbersome to install SATOSA and then 4 additional microservices. It
>> would be simpler to just have the microservices be a complete package by
>> itself.
>>
>> On the other hand there is the issue of a microservice having unique
>> dependencies, like the LDAP Attribute Store has on ldap3.
>>
>> I do not have a good answer.
>> - have the microservices repo be a package itself and use pip to install it
>> - have microservices repo as a git module under satosa (not suggested)
>>
>> I agree. That is not a good idea.
>> - have microservices as something completely external and fetch using
>> http/git (as shown below). This could mean a lot of different things -
>> ie, should microservices use code from satosa? if so, satosa is a
>> dependency to microservices and as such this makes microservices a
>> package with dependencies, etc.
>> - (more options?)
>>
>> Skoranda mentioned that
>>
>>> If you need the LDAP Attribute Store microservice you must also install ldap3 using pip:
>>
>> This indicates that certain microservices have their own dependencies.
>> Users cannot guess what dependencies are needed for a certain
>> microservice. This information should be explicit and automatically
>> resolved by the microservice installation process.
>> This leads me to think to having each microservice as a separate
>> (python) package, with its own dependencies and deployment process, is
>> the way to go.
>>
>> I think I agree. A deployment that uses many microservices would find it
>> a bit cumbersome, but not that much since pip does make it fairly
>> straightforward. This is probably the best compromise.

I agree with Ivan and Scott here. I would prefer to explicitly install any microservices I need as long as it takes care of all the dependencies. I don't think this makes it too cumbersome, and automated provisioning/deployment tools take away that complexity too.
The only issue I would see is the possibility to end up with a huge compatibility matrix to describe which satosa version works with which versions of each microservice, but the interface is rather simple and I don't foresee any breaking changes there in the future.

Ioannis

>> Thanks,
>>
>> Scott K
>
> ---------------------------------------------------------------
>
> Satosa-dev mailing list
> Satosa-dev at lists.sunet.se
> https://lists.sunet.se/listinfo/satosa-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sunet.se/pipermail/satosa-dev/attachments/20171108/49a72e63/attachment.html>


More information about the Satosa-dev mailing list