Should A High-Profile Media Website Abandon Java?
"It is all hugely expensive to license and to run, and it's not very scalable. We'd like to up our userbase from several tens of thousands to ten times that number - but the cost of scaling the Java/Solaris infrastructure is not trivial, because the Java servlet architecture costs too much in memory and execution time (creating several 100Ks of in memory objects for each logon is expensive stuff!). On current hardware we can support only 1200-1500 concurrent logins and scaling up requires a new app server (eg 1 processor + 1GB RAM) and a $20K software license for each additional 600-750 concurrent logged in users. And in today's 'cost per active subscriber' economics it doesn't add up - we cannot justify the present cost structure, by any rational measure, even before we try to scale it up.
So we're thinking of chucking it out and replacing it with a largely static site that is generated (written out to cache) from a new, simpler content management system. The few dynamic elements would be assembled using simple PHP scripts, frontending our existing Oracle DB server. We reckon we could serve vastly higher numbers, ten to a hundred times as many, of users on the same (or cheaper!) hardware: and it would be simpler by far to build and maintain and support.
I, personally, believe that the benefits of the Java system (rapid prototyping, development) are not important when large scale deployment is the issue. I am (as a user) fed up with large, poorly performing Java-based websites. My beef is not about Java the language though - it's a question of appropriateness. Fifteen years ago we'd prototype in Smalltalk and then code for deployment in C, and I feel the same applies here. The economics of the noughties do NOT support spending massive amounts of money on web infrastructure, unless the transactional revenue justifies it. Of course, most businesses generally don't justify it, in my opinion.
Our outsourcing partner who supports and maintains the architecture thinks we are crazy. Putting their potential loss of revenue aside they are hugely concerned that we'll not be able to support what we create. They are seriously against this idea.
I remember, prior to Java & the like, supporting simple CGI websites with tens & hundreds of thousands of users off of cheap FreeBSD systems, and we didn't have to pay an outsourced partner to do it.
So what does Slashdot think? What would you do if you, were in the same boat?"
The guy is obviously on some political kick where his group is fighting the Java guys, and he's looking for standard slashdot peanut gallery "Java Sucks" commentary to score some points at the next backbiting meeting. Boring.
(Too bad for him, it looks like he ain't getting it.)
My guess is that he's in the system admin group and he's getting fingers pointed his way asking why the Java app runs so slowly. So, he's deflecting by pointing to PHP ('Personal Home Page') which so aptly powers his 10 hit/day blog.
Sad thing, he's probably right -- some salesman sold his company some expensive piece of crap app server, and they only use 5% of functionality. Dumbass PHP scripts could probably easily blow it out of the water -- for how they are currently using it.
So the real question, assuming he gives a crap about solving the problem at all, is if they are going to make full use business of the CMS or if they are going to route around it. That's question is probably above our questioning friend. But, certainly a straight JSP solution would perform in the same ballpark as any PHP stuff and still be PHB approved.
Learning what you're blabbing on about. You seem to be a complete neophyte when it comes to actually doing something with Java. Are you a PHB by any chance (a particularly geeky type of PHB who reads slashdot...)?
It's just so typical for people who don't have a clue about web application development to make stupid claims like:
1) J2EE is for rapid development/prototyping of web apps. - J2EE is far slower than anything else I've used. The advantage of Java is that if you use it properly, it lets you create robust, scalable, maintainable applications. It is *precisely* for large applications that Java is king.
2) The site is slow and creates 100's of kilobytes of data per user - Well, duh, if you wrote it to do that it will do it. If your software engineer had his head so far up his ass that he couldn't design the application better, fire him right now and hire a better one! Don't blame design problems on Java, blame them on the designer! Java allows very, very high quality designs, but you still need a quality designer!
3) The licence costs are prohibitive. - What's that got to do with Java? Fire whoever bought such a stupid licence and get a better one. It's not like there isn't enough choice, ranging from free JBoss to the more expensive (but better documented and supported) alternatives. If you run PHP on a win2003 advanced server with a per-user cost of $whatever will you blame php too???
Just from the cost cut of firing these incompetent people you can probably pay your licence costs (before you upgrade them to something more appropriate).
If you crash your car into your garage wall, will you also blame the steel the car is made of, or the stupid driver??
'nuff said.
Daniel
Carpe Diem