Performance of surface codes in realistic quantum hardware