In IT, Beware of Fad Versus Functional
Lemeowski writes: Cloud, big data, and agile were three of the technology terms that were brandished the most by IT leaders in 2014. Yet, there could be a real danger in buying into the hype without understanding the implications of the technologies, writes Pearson CTO Sven Gerjets. In this essay, Gerjets warns that many IT executives drop the ball when it comes to "defining how a new technology approach will add value" to their organization. He says: "Yes, you can dive into an IT fad without thinking about it, but I can promise you'll look back and be horrified someday. The only time you can fully adopt some of these new methods is when you are starting from scratch. Most of us don't have that luxury because we are working with legacy architectures and technical debt so you have to play hand you've been dealt, communicate well, set clear and measurable outcomes, and use these fads to thoughtfully supplement the environment you are working in to benefit the ecosystem."
So over my nearly 20 years in IT/CS, I've seen a few:
I worked for a large retailer. We migrated from an old frame-relay leased-line network to a much more capable multihomed IP-over-VPN configuration to connect all of our retail locations around the country back to HQ. This new system worked well. Our CIO retired, and a new one was brought in. CIO Magazine a year or so later had an article about "Satellite Internet, The Future?" Our CIO then "spontaneously" started lobbying to get us to scrap our efficient, inexpensive, high-bandwidth network for a satellite system.
I can't tell you how many projects I saw rewritten in Ruby on Rails just because that was the new hotness, only to be abandoned later when everyone realized that Ruby is awful.
I myself wrote a bunch of stuff in Erlang not because it was the best language but because that was the new hotness.
Two unchanging things I've noticed are:
A lot of time, the new hotness makes common problems go away or common tasks easier, but ends up making more complex things harder. This isn't necessarily a bad thing, but people tend to get stuck in the model of thinking that the new technology has to be used for everything, and they end up shoehorning their complex projects into frameworks that aren't the best choice.
No matter what the new technology is, and no matter how fantastic it is, it's not going to replace C/C++ for systems-level work, and Python and Perl aren't going anywhere. Truly successful technologies have long tails.
...but it's being eaten...by some...Linux or something...
Well, there's your problem - you don't understand the term, or why the concept is so powerful. Cloud is a lot more than "store my shit on someone else's server."
"Cloud" encompasses horizontal scale-out, application redundancy (for HA and disaster recovery events), load-balancing optimization, operational flexibility (often using Software Defined servers, storage, networks, etc.), and I'm sure I'm missing plenty. If you think standing up an FTP server and having people push files to your FTP server means you've implemented a "cloud", you're a fucking dolt, and are 99% of the problem with "cloud."