Agile Development Infrastructure—on Premises or in the Cloud?


The advantage of renting the cloud infrastructure is that it helps you minimize capital expenses and lower upfront costs since you do not have to buy hardware, software, and other components. Effectively the infrastructure (e.g., servers, software, etc.) becomes more of an operating cost instead of a capital expenditure. Another advantage of this approach is that you do not have to establish and manage the infrastructure. This includes not having to hire and manage IT staff for maintenance and upgrade work. However, with this being said, it is important to have people on your staff that knows how portable the data is that is being hosted and how easy (or challenging) it is to get it off the cloud should the service provider go out of business.


This infrastructure will include the same type of infrastructure and network components that a locally owned infrastructure would include and in some cases have servers that have some of the database and tools already installed. This approach can be particularly advantages when you are a start-up organization that has not yet released a product or are early in the product business. It may not be right for mission critical applications and in a situation where data is highly confidential. In general, the size and newness of company and product line is a factor where renting the cloud can be advantageous.


A distinct advantage for those who are agile proponents is that the cloud infrastructure provider approach enables users to only use what they need; this is directly in line with agile. This "Use what you need" approach minimizes infrastructure debt and allows the product team to adjust and scale to their need in a just-in-time manner.


The biggest disadvantage is that there may be security, control, and privacy concerns. Remember, when renting space in the cloud via a provider service, all of your product code, data, and documents will effectively be sitting on someone else's systems (e.g., the service or platform provider). It is important to ensure there is security related software, network, and protocol that support this service from authentication to access control. Interestingly enough because cloud service providers know this is a concern for many,

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.