Puakma: Under the hood

I'm Brendon Upson, jack-of-all-trades, master of one or two. I'm talking about life running a small ISV tackling business issues and leaping technology hurdles in a single bound.

webWise Network Consultants is based in Sydney, Australia and develops the groundbreaking Tornado Server technology.

The real story of Puakma

Filed under: by Brendon Upson on 2006-07-20

I have been thinking long and hard about telling this story for so many reasons. Damien Katz has repeatedly tried to convince me to tell it, so, finally here it is...

"Maori Chief Tamata Puakma lived in a Pa in the Rotorua area, near the middle of the north island of New Zealand. In a neighbouring lake lived a terrible and ferocious taniwha. The taniwha would leave the lake each evening and raid Puakma's village, eating sheep, chickens and other livestock. The only source of drinking water was the lake and from time to time villagers would be taken by the taniwha as they collected the water.

The villagers felt their needs were simple and decided it was a little unreasonable for the taniwha to simply take whatever it wanted. Their problem was how to get rid of the rampaging taniwha, for it was a large angry animal that the villagers feared greatly.

Chief Tamata Puakma was the son of a long line of distinguished warriors. As chief of the Pa the duty fell to him to rid the village of this menace.

Puakma's plan was simple. He would hide near the chicken coop that night until the taniwha appeared, then attack and kill it. But he had a problem. There was no way he could defeat such a large animal with his wooden spear and greenstone mere. The elders assembled and unlocked a very old wooden chest. Inside the chest was the thigh-bone of a Moa. The Moa was an ancient flightless bird which stood some 10 feet tall. The Moa had been killed by one of Puakma's ancestors many years before and the thighbone kept as a symbol of bravery. Some say it possessed magical powers and gave the holder untold strength.

That night Chief Tamata Puakma hid in the dark waiting for the taniwha to rise from the lake. Puakma heard the crunching of branches and the choked scream of a young lamb. He stayed hidden until the taniwha was feasting on the lamb, then leapt from the darkness and struck the monster down with three mighty blows from the bone." 

Bollocks. All of it. I invented the story on a train ride from the city one night in early 2002. I had a few people ask if "Puakma" was a New Zealand "thing" so invented the legend to hide the real story. As one polite reader pointed out late in 2002, Puakma is not possible in the Maori language. Pukuma or Pukama is, but not a word with "km" in the middle. Here's the real story.

A contractor friend had been operating a shelf company for a number of years and around 2000 decided it was time to give his company a real name. A number of emails were sent between us all with suggestionson company names, from the serious to the zany to the ridiculous. One email he sent suggested "PUAKMA Pty Ltd"; "Pucker Up And Kiss My Ass". 

About a year later I had begun my "experiment" to build a better mousetrap (Tornado Server) and once the coding had started I needed to call things names and put them in packages. I had a momentary flashback to those emails and used "puakma". Over time more code was written and the name was used more and more. By now I was well past the point of no return and the brand was born.

Unfortunately as more people started to use the software, I quickly discovered noone knew how to pronounce "puakma" (Poo-ack-muh) nor spell it. Damn. So, for the last year I have been making a concious effort to move to talking about the product names "Tornado Server", "Vortex", "Web Booster" and "Web Booster ESSO" rather than the more generic "Puakma".

The name lives on and I have a little laugh each time I hear it :-) ...now the secret's out.

Measuring Web Booster

Filed under: by Brendon Upson on 2006-07-19

With edge caching in Web Booster, we had never formally measured the benefit of it. I knew it worked as it was supposed to: to temporarily store http content from a back end server in memory on Web Booster so that subsequent hits would be served from the Booster cache - but never really knew how well it worked in a production setting. Until now.

The configuration we have here is Web Booster and Tornado running in the same server instance. Tornado runs on one port (uncompressed) while Web Booster serves all requests on port 80. This also allows us to access our Domino mail server on port 80 too - we just use a different domain name and Booster sorts out whether the request will go to Tornado or to Domino. Perfect.

Last week we released Tornado under a GPL license, it got a wee bit of press and visitors from www.theserverside.com came piling in. This seemed like as good a time as any to measure the effectiveness of edge cacheing in a production setting. Boy was I surprised! We recorded 59,087 hits on port 80 (Web Booster) and only 42,184 hits on Tornado. This means Web Booster saved 28% of the hits going through to Tornado. Not bad at all. 

Next job was to troll through the compression logs and measure the effectiveness of dynamic gzip compression. A randomly selected day showed a 27% saving in bandwidth. The best compression we measured was a hit to the Tornado log (/system/admin.pma/Log?OpenPage). The original page size was 82,446 and the compressed size transferred by Web Booster was 4,411 - compressed to 5% of its original size! Text (eg html) transfers by far compress the best, regularly achieving ratios as low as 20% (or less) of the original size.

For those of you running personal blogs on DSL connections, grab a copy of Booster and boost your site - it's free :-) You can also see how your site will run with Web Booster by testing it now .

...and the hounds were released

Filed under: by Brendon Upson on 2006-07-17

Dipping the toe in the publicity waters last week we released our first Tornado press release. It was met very well. Too well in fact! Our connection to the net was swamped with visitors from www.theserverside.com (Hello if you're reading!). So we had a mad dash to move the server from a rack in the office to a higher capacity location. So far so good.

One comment I read on a referring site was our press release seemed like too much "marketing" speak. I apologise for that, but I thought it read quite well ;-) Another comment was that there was no easy guide to Tornado architecture, something we fixed today with a pdf download.


Single Sign On and OpenSource Tornado Server relea

Filed under: by Brendon Upson on 2006-07-06

Release the hounds!

Tornado Server is now GPL and released. We have given the website a few minor tweaks and updates where neccessary. We sincerely hope you enjoy using Tornado Server as much as we have creating it. To go with the new Tornado release is a matching Vortex with .dmg installer for Mac OS X and a .jar installer for all other platforms.

Web Single Sign On for WebSphere and Domino
Today we also released the public evaluation version of Web Booster ESSO, this had previously been a "by request" download, but is now available to all. Grab a copy now and see how much your users will love you for removing that annoying password prompt on their web applications :-) You can even install it along side your production infrastructure and trial ESSO without affecting the production environment.


Food poisoning and J2EE

Filed under: by Brendon Upson on 2006-07-05

Last week saw me in Brisbane for 3 days scoping out a new project. The client insists on WebLogic (J2EE) which is fine by me (no accounting for taste ;-) ) and will provide a great opportunity to compare the platform with Tornado. This is something I have wanted to do for a while but without an actual project it really lacked some excitement. I did spend one morning investigating how WebLogic went about things and now have a good feel for the key differences between Tornado and J2EE. The biggest difference is the means of getting data from the database and displaying it in a web page (and vice versa). The J2EE approach seems to be abstracted behind and abstracted abstraction. I have no doubt a Tornado app will be far quicker to develop (and update and debug), but I guess J2EE is great for consulting companies who work on an hourly rate!

While in Brisbane last week, I managed to get a nice dose of food poisoning from the cafe at the company where I was working. This occurred on day two so I had an unpleasant day three getting over its effects. Not a good way to remember the trip. All better now. The alcohol from the buck's night on Saturday night seemed to sort out the last few traces ;-) 

Please welcome a new blogger on the block  Martin Novák . Martin works for us in the Czech Republic developing the Vortex IDE for creating Tornado applications. There's a bunch of techy info over there so go take a look!