Hi Dimuthu,

This is neat design. Few questions to understand your implementation:

* Since the Async command monitor needs to be persistent high available 
service, is it advisable to run it as a Helix Participant or should we run this 
outside of helix system like a API gateway? 

* On a related note, any thoughts on running database also as part of the 
kubernetes cluster? K8s has a mysql example [1] but wondering on any other 
pragmatic experiences. 

* We need to write the event listener preferably in Python since these 
typically run on a compute cluster where java is not so well supported and 
python is more ubiquitous. 

* What is your suggestion on the job description (the message payload in your 
example) format? Can we send in a thrift binary through Kafka and have the 
listener parse out the required information? 

Suresh 

[1] - 
https://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/

> On Dec 4, 2017, at 1:30 PM, DImuthu Upeksha <dimuthu.upeks...@gmail.com> 
> wrote:
> 
> Hi folks,
> 
> I have implemented the support to Async Job Submission with the callback 
> workflows on top of the proposed task execution framework. This supports to 
> both Async Job Submission in remote compute resources using Agents and event 
> driven job monitoring. Using this approach, I'm going to address following 
> issues that we are facing today
> 
> 1. Resolve fault DoS attack detection in compute resources when doing 
> multiple ssh command executions in a short period of time.
> 2. Optimize resource utilization and robustness of Airavata Task Execution 
> Framework when executing long running jobs
> 
> Design and implementation details can be found from [1]. 
> Sources for the main components can be found from [2], [3], [4]
> 
> Please share your comments and suggestions
> 
> [1] 
> https://docs.google.com/document/d/1DIjrkjxZZWo9XiwkKWq9WZiOX-uRD5WO-eB6TLxagAg/edit?usp=sharing
>  
> <https://docs.google.com/document/d/1DIjrkjxZZWo9XiwkKWq9WZiOX-uRD5WO-eB6TLxagAg/edit?usp=sharing>
> [2] 
> https://github.com/DImuthuUpe/airavata-sandbox/tree/master/airavata-kubernetes/modules/microservices/async-event-listener
>  
> <https://github.com/DImuthuUpe/airavata-sandbox/tree/master/airavata-kubernetes/modules/microservices/async-event-listener>
> [3] 
> https://github.com/DImuthuUpe/airavata-sandbox/tree/master/airavata-kubernetes/modules/microservices/tasks/async-command-monitor
>  
> <https://github.com/DImuthuUpe/airavata-sandbox/tree/master/airavata-kubernetes/modules/microservices/tasks/async-command-monitor>
> [4] 
> https://github.com/DImuthuUpe/airavata-sandbox/tree/master/airavata-kubernetes/modules/microservices/tasks/async-command-task
>  
> <https://github.com/DImuthuUpe/airavata-sandbox/tree/master/airavata-kubernetes/modules/microservices/tasks/async-command-task>
> 
> Thanks
> Dimuthu
> 

Reply via email to