Saturday, 21 January 2012

A geeky stream of consciousness follows, on the technological direction of enterprise software, that powers companies and corporations. Do not take these words too seriously, they are somewhat tongue-in-cheek and there is exaggeration, sensationalism and over-simplification, it's just a bit of fun.
When business systems grow in complexity you get new stuff. What's continually happening is that there is loads more data than ever before and more CPU cycles and cores to process it than ever before. And the old rules stop applying, So in some special cases of reporting (where "Big Data" is involved) even processes such as Software Coding to User Acceptance testing to Deploy to Production are no longer apt, which is almost unthinkable. You're having to develop against live data, a nightmare scenario.
The extra CPU and memory means that you have VMs all over the place, it's madness and this is changing how systems are developed. To put it flippantly, you don't give a tester an exe file any more, you give them a VM, and entire operating system :-)
All this is new, and it doesn't really have an analogue to before.
Yes, all runs on silicon and beneath it all, Linux is ticking away, but we have new levels of abstraction and we are seeing emergent behaviour where new structures are coming out of nowhere. Amazon, a book seller, is beating Microsoft at selling computing power and doing what Microsoft tried and failed to do, succeed with a rental computing model. MS are playing catch-up.
We have engineers talking about platforms as a service, and all that did not exist before. Yes you can map it, and say, well, it's not really new, it's like this, or its like that, but all this stuff doesn't really map any more, it's just going in new directions. It's a bit like the days of the Internet changed everything, and relatedly, "Web Services", like SOAP, where you could have all these different systems talking to each other in a standard way. All these new tools appeared to help build systems with these powers.
The web services hype was immense, but when people realised how clunky they are, the hype died, but the web services tick along in various systems in a more modest fashion than envisaged. The one thing that is constant is the need to write "business logic", the stuff that is the engine of how to do business.
When you can have an entire system zipped up as a file, including an OS, that's new. When you have terabytes of data, data so huge and so much flowing in real time. that's new. You cannot index that data fast enough, so a relational database is not the answer. All this is mind blowingly novel. Faster computers do not solve all our problems, (like, hey we now run our accounts so fast we can save money). No, they cause problems - (what can we do with these new powers?) - and complexity goes up and up and up.