Recently, I noticed that the in last couple of months the amount of of time that I spend on cloud computing (Microsoft Azure in particular) is increasing quite rapidly. I am currently involved in a few initiatives/projects around Microsoft Azure and I suddenly realized that cloud computing has a positive impact on the way we think about Application Lifecycle Management (ALM). When we think about cloud computing from a project delivery or operations perspective (and not only from a technical perspective) there are absolutely interesting advantages that cloud computing can bring us.
[For more information about the way we think about ALM and a better understanding of the image I am using below, have a look at this post]
From a project delivery perspective, a cloud project has the advantage that we don’t have to buy the hardware and software that we need during for the development, testing and running the application in production (because we use the compute and storage power from the cloud). Of course we have to pay for using the Azure platform but these costs are likely less compared to buying bare metal and licenses for the complete lifecycle of the application. Another advantage of using a cloud platform is the time it takes to get our environment approved and up and running which potentially decreases the time to market of the application. If we have a look at the image below which represents the lifecycle of an application we can see that less hardware and an environment that doesn’t take long to get it up and running have a positive impact on the application lifecycle of the application. From a project delivery perspective lower costs (less hardware and licenses) for the project and a decreased time to market have a positive impact on the complete lifecycle of the application (represented by arrow 1 in the image below).
Further, one of the important goals of ALM (at least in our opinion) is increasing the added value of the application for the business user. Cloud computing enables some very interesting scenarios that potentially bring a lot of value to the business user. For example, the unlimited scalability of the platform (at relative low costs) makes it possible to deliver completely new (business) services for markets that couldn’t be reached that easily in the past. Also integration between companies, networks, applications, etc. becomes much easier with applications running in the cloud. The new scenarios that we can deliver by using cloud computing potentially add extra business value to the applications we are delivering and therefore have a positive impact on the complete lifecycle of the application (represented by arrow 2 in the image below).
From an operations perspective, the fact we have less hardware and software to maintain (back-up, monitoring, patching, etc.) also has a positive impact on the lifecycle of the application (represented by arrow 3 in the image below).
So, besides all the technical challenges of cloud computing that I am very interested in, I like to think of cloud computing as “just another delivery form” for our software development projects with a very interesting positive impact on the application lifecycle of the application that we deliver.