Architectural Requirements for Cloud Computing Systems: An