development

Middleware wisdom

July 28, 2004 12:53:39.060

Sean McGrath makes a comment on the wisdom of using static languages in middleware:

My position on this is simple. Anyone coding middleware in a statically compiled language, working in a commercial environment where time is money, has rocks in their head.

Clearly, I agree with that. How do Java folks update their servers without taking them down and up? How do C# developers? In Smalltalk, I do this all the time, and as a result, my servers tend to run 24x7x365. Yes, I test things out locally before I upload them :)

Comments

Middleware wisdom

[] July 28, 2004 13:45:37.000

Simple: Because they have more than one production middleware server and it's load balanced.

To upgrade: 1) Stop the load balancing. 2) Have all IP requests go to one server. 3) Upgrade the second server while there is no load on it. 4) Switch the load to have all IP requests go to the upgraded server. 5) Upgrade the server that has no load on it. 6) Turn on load balancing again.

That decoupling of client and middleware is the main reason for the tiers and middleware. They view upgrades as a hardware issue.

My question then becomes... "Why does such a solution become "thinking outside the box" for a Smalltalk programmer?"

Remember, the more hardware server installations your software architecture solution requires to solve a problem (DoS, viruses, spam, security layers, license mgmt., network mgmt., password mgmt., streaming multimedia, etc.) the more OS licensed installations you sell.

Middleware wisdom - sells hardware & more software

[Socinian] July 28, 2004 13:48:53.000

Simple: Because they have more than one production middleware server and it's load balanced.

To upgrade:
1) Stop the load balancing.
2) Have all IP requests go to one server.
3) Upgrade the second server while there is no load on it.
4) Switch the load to have all IP requests go to the upgraded server.
5) Upgrade the server that has no load on it.
6) Turn on load balancing again.

That decoupling of client and middleware is the main reason for the tiers and middleware.
They view upgrades as a hardware issue.

My question is why does such a solution become "thinking outside the box" for a Smalltalk programmer?

Remember, the more hardware server installations your software architecture solution requires to solve a problem (DoS, viruses, spam, security layers, license mgmt., network mgmt., password mgmt., streaming multimedia, etc.) the more OS licensed installations you sell.

Re: Middleware wisdom

[ Troy Brumley] July 28, 2004 14:01:05.000

Comment on Middleware wisdom by Troy Brumley

Why is such a solution difficult for the Smalltalker to embrace (the multi step load balancing thing)? Because it's a bit tedious :) Simple things should be simple. Besides, we don't need as many boxes to deploy a Smalltalk app as the curly brace crowd requires.

Re: Middleware wisdom

[ Socinian] July 28, 2004 14:17:36.000

Comment on Middleware wisdom by Socinian

Sorry. The preview and post buttons are in reversed positions from your site in a forum that I frequent. I'll use BottomFeeder from now on.

Where's that edit button? :-)

Re: Middleware wisdom

[ Socinian] July 28, 2004 14:35:18.000

Comment on Middleware wisdom by Socinian

But the curly brace crowd simply automate it with a version control/distribution solution built into .NET, Eclipse, etc.

Ta da - No longer tedious!

Isn't filing in and out selected interdependent object fragments as code text files to multiple images tedious? Is it possible to automate it, since each image is a world unto itself?

Re: Middleware wisdom

[ Socinian] July 28, 2004 14:50:39.000

Comment on Middleware wisdom by Socinian

Remember as well... a formal review/test/approval distribution system with security checks and logs is often very desirable in the business world for business process reasons and security reasons... not just technical reasons.

Sometimes simple things are too simple in the hands of someone with intent to harm, especially when your business operates in a globally visible forum.

You can never take back anything you say or post on the Internet, including prices.

Re: Middleware wisdom

[ James Robertson] July 28, 2004 15:10:00.248

Comment on Middleware wisdom by James Robertson

I manage my updates in a simple fashion:

  • place new version of loadable component on server (so that if there's a restart, due to a long power outage, things start up with the latest)
  • Have server load new version of said component

If I had multiple images load balanced (easy enough, I just don't need that), then I'd have a script for doing this across the lot of them. The point is, I don't need to do a complex dance of popping applications down and up in the proper sequence - because nothing ever goes down. And there's an issue your setup doesn't really handle - object schema changes that need to be propagated across all app servers at the same time? I can do that in Smalltalk with no downtime.

heck, if I had multiple app servers to deal with, I'd likely have a specified 'updates' directory that the servers looked at periodically. I do this manually because I can run all the blog servers on a single Smalltalk image. I don't need to set up multiple load balanced images to solve that problem.

Re: Middleware wisdom

[ Troy Brumley] July 28, 2004 16:18:35.339

Comment on Middleware wisdom by Troy Brumley

Jim, you are explaining Jedi mind tricks to Storm Troopers :)

 Share Tweet This
-->