The proliferation of edge devices and the rapid growth of edge data challenged the traditional cloud computing. The high costs of cloud services and the network latency caused by data transportation outweigh the high performance cloud can provide. Edge computing emerged to solve the problem. In edge computing, edge devices and edge servers are considered as important resources that can help with computation and data storage; data generated on edge devices is processed locally to avoid network latency. This can greatly reduce application response time which is especially important for time-sensitive edge applications. Also, many edge devices generate data concerning user privacy. The data is more secure to be stored on local devices than on a shared cloud.