Motivated primarily by the problem of efficient assignment of virtual machines to physical host machines in a network cloud, we consider an infinite-server system with several types of arriving customers. Multiple customers can be placed into one server for service, subject to general 'packing' constraints. Service times of different customers are independent, even if served simultaneously by the same server. Customers are placed for service immediately upon arrival, and leave the system after service completion. A key system objective is to minimize the total number of occupied servers. We propose Greedy-Random (GRAND), an extremely simple customer placement algorithm, which is also easy to implement. We show that a version of GRAND is essentially asymptotically optimal, as the customer arrival rates grow to infinity. We also study several versions of the GRAND algorithms by simulations.