I am reading these articles about cloud infrastructure and how much ondemand power you can get for your application and batch processing. So easy and convenient.
Does this raw power at pennies make the programmers less efficient? Lazy?
Does it matter?
I will answer yes to both questions. I think that it makes programmers lazy because you don’t have to face the consequences of your laziness. What does it matter that it takes 10% more time because you did not optimize every line? 50%? 90% when the cost is a couple of dollars a day?
Yes it does matter. I inherited an application that the previous programmer did a very good job at putting up and maintaining while he was with us. Now that I took over I have a hard time seeing all the moving parts but as I have to fix and change things I can see wholes in certain places. Lately I have found the code that produces the last 6 months quick view of performance. It goes through the last 6 months of data and does a daily average. Every day. So the code needs the last 6 months of data to be present on the server to go through it over and over to produce a single file that has a 2 lines difference from the previous day. I takes 4 to 5 hours each day. Can it get any funnier? The management answer to this issue was to throw more disk space at the issue since the batch processing is done at night and does not impact the system. Hard disks are cheap.
Imagine this application in the cloud and management asks for a 12 months history view. Everyone would have said no problem we need to provision an other 300 to 400 Gb of space and change 1 configuration file. The cost is minimal.
I personally want to address it in the code and get this optimized. Do you think I am getting any time dedicated to this issue? I am too costly for that option to make sense.
Because I am on physical hardware in our own data center it does matter and it will get addressed by fixing the application. We are restricted since we can’t had any drive to the server. If this application was in the cloud it would not get any attention?
I can see both sides of the coin and the reasons for the business to make the choice it would but I still think that fixing the application is what need to be done. The technical debt that this has cannot simply be ignored.