There are several options... Personally I would use Google for your contacts.
And Titanium to backup and restore apps.
You could use miui backup online but, being Chinese servers, very likely to be very slow.
Using titanium is not a full system backup, but trying to do that... I would even...