Edge Computing: A Primer