Considering Your Options
Unlike the past, where organizations and product lines spent considerable time and large amounts of capital to establish local infrastructure, the future presents us with other options. They include (but are not limited to) renting infrastructure in the clouds (e.g., in the internet), owning the server and renting space in the clouds (hosting service provider), and owning everything locally and on-premises (within your company).
All of these options come with a set of advantages and disadvantages. While there are many factors in determining the best choice for an organization, there are two deciding factors. The first is how much budget exists for the product team. This includes the ability to purchase the infrastructure that is needed including servers, software, data center space, and staff. The second factor is how much control a product team or organization wants to have on their infrastructure. This includes how much perceived sensitivity there is to the product under development and data therein, and how much direct control is desired over access to the infrastructure. Based on your budget and ability to buy infrastructure and the control level you want, it will provide input to the more suitable approach.
With the advent of agile methods, there is now a third driving factor that may influence the choice. I have seen many agile projects, particularly those focused on brand-new product lines, struggle with getting their infrastructure up and running. Much of the reason is the time and effort that is needed to get infrastructure established far exceeds the time it takes to start development using an agile method, effectively the first iteration. With these new cloud infrastructure and co-location options, the "establish product infrastructure" game has been changed.