Performance optimization of big data computing workflows for batch and stream data processing in multi-clouds