[katello-devel] Organization deletion bug, orchestration, testing
Martin Bacovsky
mbacovsk at redhat.com
Mon Dec 17 09:52:33 UTC 2012
On 12/13/2012 04:37 PM, Lukas Zapletal wrote:
> On Thu, Dec 13, 2012 at 04:14:33PM +0100, Miroslav Suchy wrote:
>> User story:
>> As a dev, I want foreign keys, so db watch integrity for us.
> +1
>
Missing foreign keys in Katello were the first thing that scared me when
I started on the project. I didn't yet accustomed to the idea that the
rails way is the right way in this case, so +1 from me.
Since when I tried to understand and debug our orchestration for the
first time I have a feeling that it is a bit unclear and fragile way to
handle communication between services. Today I came across article about
messaging [1] and to me it seems a way to go. I know it would be a *big*
change, but I think it is worth to at least consider it, especially when
we have messaging broker (QPID) already set up in katello.
Pros I can see:
- decoupling of our codebase - easier to maintain and test, separate
modules, consistent orchestration for all subsystems
- debugging - with the right tools we can have detailed orchestration
monitoring for free
- consistency - support for transactions, proven messaging patterns
would help us to keep data consistent across subsystems. Like DB server
is good at keeping data healthy (FKs, constraints, transactions),
similarly message broker is good at keeping communication between
system parts healthy. (lets learn from our previous mistakes)
- scalability - adding new components doesn't pollute our backend that
much; adding more instances of Foreman would be possible; Katello
distributed on more physical machines would be easy
Cons I can see:
- probably big changes in the code
- probably not enough experience with messaging in the team
Ideas?
[1]
http://www.rubyinside.com/why-rubyists-should-care-about-messaging-a-high-level-intro-5017.html
More information about the katello-devel
mailing list