With the increasing attention on Machine Learning applications and rapid growth of distributed edge devices, utilizing numerous edge devices becomes increasingly important. Federated Learning is a distributed learning technique which enables model training in a large decentralized network without sharing sensitive local user data. However, there are several challenges associated with current Federated Learning systems, such as communication efficiency, training and testing set separation, components failure, etc. These challenges may potentially result in unavailable service, bad model performance or security issues in an industrial learning system.