What Is Fog Computing? Elements, Examples, And Greatest Practices