I would like to introduce the ultimate technology breakthrough, so to speak the holy grail, the one so many architects have been looking for through all these years, the final truth which solves any IT problem that could ever come around.
The name of this divine thing is: TEA.
And TEA means: Telepathy Expecting Architecture. Let me tell you the story behind it, so you know the history of this world moving element.
Once upon a time, in an early project phase, I've been talking to a customer about his non-functional requirements. As usual, he didn't want to think about them, and kept on telling me he would like to ignore them all since he's thinking totally pragmatically, and that I would just waste his time with that Cosmic Debris.
Me, I've learned to ignore arguments like that and to keep on doing my job. So at one moment, we are at the point where I ask him about how long it should take for a follow-up page to come up after the user has submitted the previous form - averaged. And he tells me: immediately.
I say: ok, what is "immediately"? 5 sec.? 10 sec.? He says: not even 1 sec. Even immediately.
I say: hey, we're on the web, stay realistic, man.
He says: but we can buy better servers. Mr. Smith - our inhouse architect - has told me it's no problem.
Mr. Smith, huh... I ask him: did Mr. Smith also tell you about things like network latency and stuff?
He says: yes, and there's absolutely no problem - with bandwidths these days, you know
I ask: can you please tell me how he measured the facts for his keen statements? I mean, have things like different "weight" of different functions in the platform or seasonal business been taken in account and so on?
He says: measure? Hey, it's waste of time. We don't use your scientific methods. We work pragmatic - get down to it and get it done.
I say: well, that's very laudable. And did Mr. Smith also tell you that it's going to be pretty expensive to get started like that - with a huge chance of failure? I mean, you throw a couple of monster servers and a fat cable pipe at a completely new solution without having an idea of how it behaves in production over a considerable time period, during load peaks etc. You don't know anything about the future code quality, bottle-necks in there, the middleware bugs, external attacks that hit you every minute and slow you down like hell, about your partners who save hard links to sticky sessions and thus kill your load balancing - if Mr. Smith plans load balancing at all. You have no idea about all that, and you and Mr. Smith, you both are sure you need and will have 1 sec. gross response time per any action in your web platform?
He says: Mr. Smith told me, our users need the performance and don't accept anything slower than 1 sec. per action. And I believe him, because he works for us for now 20 years and has already proven his loyalty, which is more than I can say about you.
I say: I see. In this case, I think I know which architectural pattern or approach Mr. Smith has picked for your new solution, and I'm sure it will work for you! Not many companies have used it before since it's not very popular - not many believe it's successful. But you seem to do.
The name of this approach is TEA - Telepathy Expecting Architecture. It absolutely guarantees that any action between the user click on a button on the client and a new page showing up on his screen takes an absolute minimum of time - much less than 1 sec. How it works?
Very easy: through telepathy. A telepathic component built into the client part of the application (web browser) talks over any huge distance to the corresponding telepathic component on the other side on the server which sends data back - also through telepathy. Easy. Fast. No overhead. No latency. No physics. No chemistry. Data just... appears here and there. Cool, huh?
What's the catch? Well, you only need to build the both telepathic components - that's the only challenge.
He says: .......................................
TEA - it rules. Coffee - it sucks - it's just a too long name.
No comments:
Post a Comment