In “The Chance for Peace” (1953)
Every gun that is made, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed.
This world in arms is not spending money alone.
It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children.
The cost of one modern heavy bomber is this: a modern brick school in more than 30 cities.
It is two electric power plants, each serving a town of 60,000 population.
It is two fine, fully equipped hospitals.
It is some 50 miles of concrete highway.
We pay for a single fighter with a half million bushels of wheat.
We pay for a single destroyer with new homes that could have housed more than 8,000 people.
This, I repeat, is the best way of life to be found on the road the world has been taking.
This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron.
These plain and cruel truths define the peril and point the hope that come with this spring of 1953.
This is one of those times in the affairs of nations when the gravest choices must be made, if there is to be a turning toward a just and lasting peace.
It is a moment that calls upon the governments of the world to speak their intentions with simplicity and with honesty.
In 2004 I had finally edited down everything that I wanted from my infrastructure into a single sentence and then reused this phrase in a lot of the proposals during the early years of Joyent.
I simply wanted to run applications well and keep data well. And needed
A highly available, redundant and modular setup with a determinable QoS, easily administered, scaleable, and can be right-sized and geographically distributed without issue.
Simple. The “determinable QoS” is the hard, unknown part. And by unknown, I mean that no one in the world actually knew now to do it. The redundancy requirement over the years has shifted into better parts.
The task then became a single question too.
How do I physically and logically design a scalable, cost-effective datacenter independent of knowing what I’m going to run on it and still manage to run these unknown applications well?
Cost-effective is synonymous with “don’t over-engineer it”.
Then it turned out that there wasn’t a vendor in existence that we could buy this from.
This post is one in a series discussing storage architectures in the cloud. Read Network Storage in the Cloud: Delicious but Deadly and Magical Block Store: When Abstractions Fail Us for more insight.
Resilient, adjective, /riˈzilyənt/ “Able to withstand or recover quickly from difficult conditions”.
In patients with a cough, you know what commonly causes them to keep coughing? Coughing.
Nearly 4 years ago I wrote a post titled “Why EC2 isn’t yet a platform for ‘normal’ web applications” and said that the “No block storage persistence” was a feature of EC2: Making it fine for such things as batch compute on objects in S3 but likely making it difficult for people expecting to use then-state-of-the-art databases.
Their eventual solution was to provide what most people are familiar with, basically a LUN coming off of a centralized storage infrastructure. Thus the command of /mount comes back into use and one can start booting /root partitions from something other than S3. While there was the opportunity to kill centralized SAN-like storage, it was not taken.
Today Facebook took the great step of openly talking about their server and datacenter designs at the level of detail where they can actually be replicated by others. Another reason why I call it “great?” Well, it’s interesting that the sourcing and design of these was done by Facebook and with Taiwanese component makers. Nothing new for many of us working in the industry, but it’s something that’s often not discussed in the press when talking about US server companies.
If you take a look at the Facebook Open Compute server page and listen to the video with Frank Frankovsky you’ll hear a few company names mentioned. Many of them might not be familiar to you. Frank is the Director of Hardware Design and Supply Chain at Facebook, and used to be at Dell DCS (the datacenter solutions group) where he was the first technologist. One last piece of trivia: He was the technologist that covered Joyent too. We’ve been lucky enough to have bought servers from him and Steve six years ago and went out for sushi when he was down here interviewing.
So who made the boxes?
Bruno Fernandez-Ruiz (Yahoo! Fellow, VP and Platform Architect) wrote about his concerns around the current tight coupling between node.js and V8. Feel free to take a moment and read the original article: “NodeJS: To V8 or not to V8”.
A reply doesn’t fit into a twitter response, and an update mentioning my reply would be great.
I haven’t had a chance to meet Bruno, we’ve only exchanged a couple of emails in the past. Bruno forgot or doesn’t know a couple of key things about node.js and Joyent. I’m always happy to talk about development process at Joyent.
Because I actually have answers to his questions, comments and concerns, I’m going to reply below. They are trimmed down and if I’ve missed one in particular, please let me know in the comments.
Update: Bruno took the time to follow-up with responses to my queries, while former Yahoo Principal Engineer (and current “Desperado at Facebook“) Peter Greiss has waded into the debate as well.
This is still a technology blog, so nothing wrong with geeking out over tools: Among my favorite cooking utensils are the digital thermometer and heat proof spatula. Both of these are very handy when making truffles. The themometer gives you some basic instrumentation so you know if and when the cream and chocolate are the same temperature. The heat proof spatula provides very good containment from transferring heat or taking away heat from the mixture.
Having good instrumentation allows any chef to ensure the coherence of the product be it truffles or code. Having isolation from outside variables ensures it’s less prone to errors. On occasion I’ve wanted to get the very last bit of the cream or chocolate out of the measuring cup and add that to the truffle ganache. Yes, I have done this in a past life. This would inject cold liquid in a mostly consistent ganache, resulting in non uniform ganache. Rest assured I didn’t do that for the past few truffles creations. Any detected lumpiness or tempered coco-butter striations were due to over mixing ganache!
Photo by Kristen Taylor.
Although the Joyeur blog is open to any Joyeur who’s got something to say, many of our newer recruits were bloggers before they came to Joyent.
Our school of Fishworks engineers can be found on dtrace.org:
And naturally, we’re not alone!
After my first 26km of “fun,” enjoying a deliciously addictive blend of alkaloids and carcinogens.
It’s all about people here at Joyent. And creative approaches to performance optimization, among other things. Both of which I’ve taken to heart on a personal level by reducing my own wetware form factor by 15 percent since I started here. Granted, the system was pretty bloated by legacy architecture, so eradicating a few chronic bugs was all it really took. But still: Measurable, significant evidence supporting the thesis that improved diet and rigorous exercise yields positive results. Who knew?
Seriously, I realized shortly after arriving that I needed a lot more energy to keep up at the office, and that eating my way through three discount frozen dinners in a row for lunch like I’d been known to do when working part-time from home probably wouldn’t be the most appropriate behavior in public — much less with Ironman triathletes cruising the hallways.
Of course, this self-improvement stuff is a slippery slope. Having gotten just fit enough to be dangerous, my next mistake was signing up for the company’s endurance team knowing that I’d have to do something ridiculous like compete in a sprint-distance triathlon in 2011. My next mistake was trying to complete one at the gym on Boxing Day to see exactly what I was in for.
Jasun Wurster of Joyent’s support team has started creating a series of screencast videos to help you get up and running on your Joyent SmartMachine. These are a bit rough around the edges, we’re still getting the hang of this. More polished edits (and more videos) coming soon!
Welcome to Your Joyent SmartMachine