Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Client Libraries for Donut API Server #145

Open
kmehant opened this issue Jul 9, 2020 · 9 comments
Open

Client Libraries for Donut API Server #145

kmehant opened this issue Jul 9, 2020 · 9 comments

Comments

@kmehant
Copy link
Contributor

kmehant commented Jul 9, 2020

About

There is a possibility to use Donut as a micro-service within a huge application, in such scenarios providing client libraries would be helpful for developers for easy integration of Donut within their applications. We can cover relevant Donut features within the client libraries. We can provide these in various language options like JS, python, go, PHP, and others.

@kmehant kmehant added the feature label Jul 9, 2020
@kmehant
Copy link
Contributor Author

kmehant commented Jul 9, 2020

@jaskiratsingh2000 @devesh-verma @vaibhavdaren What do you think about this feature (Client Library: API wrapping).

PS: I have good experience in writing client libraries.

@jaskiratsingh2000
Copy link
Member

Looks amazing to me. Here I would like to have a pointing thoughts from our current GSoCers who are actually working in the same process.
@Rupeshiya and @AuraOfDivinity what do you think about this?

@Rupeshiya
Copy link
Member

Rupeshiya commented Jul 9, 2020

Hi, I think it's good to have but I am not sure how will it be useful for donut platform as it's only like wrapping up the APIs for easy consumption.
Also as DONUT will be a self-hosted platform so if any community wants to use it then they should have to install it on their server instead of integrating it.

@kmehant
Copy link
Contributor Author

kmehant commented Jul 9, 2020

Hi, I think it's good to have but I am not sure how will it be useful for donut platform as it's only like wrapping up the APIs for easy consumption.
Also as DONUT will be a self-hosted platform so if any community wants to use it then they should have to install it on their server instead of integrating it.

@jaskiratsingh2000
@Rupeshiya other than easy consumption we will have many production ready features like rate limiting, timeouts and retry mechanisms.

If donut is planned to be a self hosted server, then it is highly useful to have client libraries. Self hosted does mean having their own copy of server running and integrating it to their application base ( which can be in any language) will surely consume the language specific client libraries. Does it sound useful, @Rupeshiya thoughts?

@kmehant
Copy link
Contributor Author

kmehant commented Jul 9, 2020

@Rupeshiya bridging to the point self hosted I guess we should give necessary infra for the people to use for their on-premise deployments, container images would be a partial work for this (which I have completed ✌️) and there is more configurations to be provided for orchestration, monitoring and alerting systems within the infra. Which would help community to make best use of self hosting of Donut. Where we can discuss the archi and move forward.
PS: I can work on this part too

@vaibhavdaren
Copy link
Member

We can surely do this in the future but my current target is the security layer and caching layer.

@vaibhavdaren
Copy link
Member

Todo:-
[1] Structure code in a way wrapping up is possible.
[2] Write microservices for each module with security.
[3] Set up local logstash and kibana.
...

@kmehant
Copy link
Contributor Author

kmehant commented Jul 9, 2020

We can surely do this in the future but my current target is the security layer and caching layer.

@vaibhavdaren
I have some experience in implementing cache layers for Servers, are you looking at using a key-value store for caching for example using a Redis sentinel or cluster or simply redis single instance?

@jaskiratsingh2000
Copy link
Member

@vaibhavdaren Why can't we go for it now? Maybe we could give away a green flag to him to take this up if he is interested.
I would personally say he should take this up and wok accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants