This post is comes in response to a blog post that was sparked from a twitter post. The blog post “My wish for 2015 – better tooling to provide better insight” by Frank Denneman. The tweet, from what I can see, started by @josh_odgers included the meme below.
I will not regurgitate what was said by Frank because I agree with his points of view. In general, you should know as much about your infrastructure as possible but it can’t end there. Infrastructure design and configurations are rarely the same. Having the tooling that gives greater insights into your infrastructure is only part of what’s needed when new or updated applications are deployed. While I to wish for better infrastructure insight, I also wish for ways to exercise applications.
Another reason to not have the application developer or service owner dictating infrastructure details is because more gains can be had by tuning the application or service. This is where they should focus their time! I’m not a programmer but I think many would agree that the user experience is key. Applications can either “fly or die” depending on the application experience from the users point of view.
One thing I see missing from most deployments processes is a way to exercise the application or service before it is released into production. If you can’t generate or simulate load how can you, with any amount of accuracy, provide infrastructure requirements. Functional testing is necessary but it’s useless to the infrastructure team. Too many times have I seen applications deployed into production only to perform poorly or cause downtime. Or on the flip side, too much infrastructure was purchased to support the application or service. Both scenarios are bad.
I understand that this request does not come easy. I also understand that this won’t fit all application deployments because the cost, time and resources, may be to great. My question though is why? I would think having this would strike the right balance between spending too much on infrastructure and time wasted troubleshooting performance issues.
My hope in 2015 is that we find better ways of exercising our applications and services preproduction while capturing better insights at the application and infrastructure layers so that we deliver stronger end to end solutions to our customers.