Microsoft Azure offers nearly infinite scalability, virtually unlimited capacity, blazing performance and extremely quick provision times. However, to take advantage of these great benefits, teams need to plan ahead and understand all potential pitfalls and challenges. One of the more significant differences between development of on-premise applications and cloud applications is a rather direct correlation between choices made during construction of an application and its support costs after deployment. Because of the Microsoft Azure pricing model, every inefficient architectural decision and every inefficient line of code will show up as an extra line item on your Azure invoice.