From Cloud to Edge Computing