Design a Service to Allocate Pool of Resources Optimally — Hard System Design Problem