Building Infrastructure-as-a-Service (IaaS) applications today is a complex, repetitive and error-prone endeavor, as IaaS does not provide abstractions on top of virtual machines. This paper presents JCloudScale, a Java-based middleware for moving elastic applications to IaaS clouds, with minimal adjustments to the application code. We discuss the architecture, technical features, and evaluate our system with regard to user acceptance and performance overhead. Our user study reveals that JCloudScale indeed allows many participants to build IaaS applications more efficiently, compared to industrial Platform-as-a-Service (PaaS) solutions. Additionally, unlike PaaS, JCloudScale does not lead to a control loss and vendor lock-in.