Pud is the Anti-Stack - Windows, CFML, Dropbox, Xeround, JungleDisk, ELB
Pud of f*ckedcomany.com (FC) fame, a favorite site of the dot bomb era, and a site I absolutely loved until my company became featured, has given us a look at his backend: Why Must You Laugh At My Back End. For those whose don't remember FC's history, TechCrunch published a fitting eulogy:
[FC] first went live in 2000, chronicling failing and troubled companies in its unique and abrasive style after the dot com bust. Within a year it had a massive audience and was getting serious mainstream press attention. As the startup economy became better in 2004, much of the attention the site received went away. But a large and loyal audience remains at the site, coming back day after day for its unique slant on the news. At its peak, FC had 4 million unique monthly visitors.
Delightfully, FC was not a real-names kind of site. Hard witty cynicism ruled and not a single cat picture was in sight. It was a blast of fun when all around was the enclosing dark.
So when I saw Pud's post I was quite interested to see what he was up to. I was not disappointed. It's suitably idiosyncratic:
- Windows Server 2008 - likes the GUI, nearly as cheap as Linux on AWS, does all the stuff you need
- IIS 7 - does all the stuff you need
- ColdFusion Markup Language - does all the stuff you need
- Xeround.com for the database - looks interesting
- 5 EC2 micro instances - each server is $20/mo. Found that micros performed as well as the xlarge instances for less money. Plus you get 5x redundancy. Can plug-in the elastic-sauce when needed.
- Elastic Load Balancing - used to connect the 5 micro instances together.
- Dropbox - when a code change is made all servers are synced using Dropbox. Changes are synced almost immediately to all boxes. Don't forget, Amazon's Werner Vogels also uses Dropbox. Coincidence or brilliance?
- Backup - DropBox keeps an offsite backup by default. JungleDisk also runs every night and emails the results.
Defiantly, anticipating the antipathy, Pud closes with:
- The apps run themselves and are scalable.
- It's OK not to be cool.
A lot of people in the comments and on Reddit and HackerNews are reveling in the suckitude of this stack. But does it really suck?
- He knows the stack.
- He got it to work.
- It works for the intended purpose.
- He has time to work on more imortant things.
- He makes money.
A natural process is clearly at work in Pud's architecture and that shows. It wasn't defined using best practices or reference designs, it clearly unfolded based on need and capability. I see a lot of wabi-sabi in this setup: A beauty that is "imperfect, impermanent, and incomplete". Characteristics of the wabi-sabi aesthetic include asymmetry, asperity (roughness or irregularity), simplicity, economy, austerity, modesty, intimacy and appreciation of the ingenuous integrity of natural objects and processes.
So does it suck? Absolutely. For me. A thousand What Ifs come easily to mind. But it works and that's the real art of it.
P.S.
Even if this is all some elaborate joke, the conclusions still apply. Pick any stack and you can go through the same discussion, just arguing different points.