ava-innersource / Liquid-Application-Framework-1.0-deprecated

Liquid is a framework to speed up the development of microservices
MIT License
25 stars 13 forks source link

Should we discontinue OnPre? #98

Open bruno-brant opened 4 years ago

bruno-brant commented 4 years ago

Liquid.OnPre is a implementation of Liquid abstractions for an on premises deployment.

Currently, while the project exists and some implementation was made, as we can see from issues such as #95 , #96 and #97, they are pretty raw.

My question is: do we need it? Are there projects using this implementation?

If so, then, what is the proposed architecture for that deployment? FileDb certainly shouldn't be used in production (or anything other than the simplest of tests, as we can see from #95), and messaging is simply not done.

The fact of the matter is that while on Azure, AWS and Google there is usually a single option for each of the services needed, on premises the number is vast. One could be using CouchDb, MongoDb, RavenDb etc. for NoSQL storage, WMQ, RabbitMQ, ApacheMQ etc. for messaging, and god knows how many APM solutions.

Therefore, I think we could either:

dwjobling commented 4 years ago

I've been following the recent exchange. In my experience, even with selecting the most likely and most popular components there is a high probability that it won't be usable as-is for any one instance. But there remains value in having OnPre and so I'm inclined towards option 2. This is also an excellent opportunity for other contributors.

For the implementations we have we should review them and caveat them for use. I'm sure there is a good use case for FileDB somewhere (3rd party configuration?) but a MySQL option may be more useful as an implementation example. We should remove the ones that are simply not implemented or implement them.

guilhermeluizsp commented 4 years ago

While I agree that providing default implementations for this scenario is a good choice, I'm still not convinced that people would use them without replacing at least half of the default services, so, IMHO it's not worth the effort. But I'd love to create extensions (aka cartridges) for them, although I'd not create them inside the Liquid itself (this repository), but rather in separated repositories (just like Serilog does). I'm between option 1 and 2.