Describir: Distributed Computing: An Overview