This paper proposes the VirIoT platform that enables virtualization of IoT systems, formed by virtual things and brokers. Our goal is to decouple developers of IoT applications from providers of things. VirIoT allows owners of IoT infrastructures to share them with many IoT application developers, which can simply rent the virtual things and the brokers their applications need. VirIoT can be useful for small stakeholders whose applications require large-scale IoT infrastructures, who are nevertheless unable to handle the infrastructure deployment. VirIoT can also be useful for owners of IoT infrastructures, in order to create isolated development environments where to run experimental services, before final deployment in the production system.