Joyent Weblog
100,000 Joyent Accelerators
We just delivered the 100,000th Joyent Accelerator to a customer. That’s a big milestone. Congratulations to the Joyent team. And congratulations to our customers who are doing such interesting things with Joyent Accelerators, everyone from Prince (the artist known as), to all the Facebook developers, to the many enterprise shops removing the barriers of IT from the innovations of smart developers. Onwards to 1,000,000.
Control Yourself
We’re pleased to announce that Control Yourself, Inc. (Montreal, Quebec, Canada), producer of Open Source Twitter alternative Laconica and host of the popular microblogging site identi.ca, launched a private beta of a new microblogging hosting service, status.net. The new service will be hosted on Joyent Accelerators to provide high-availability, highly-scalable microblogging sites to enterprises and Web communities.
“We’re excited to be offering our services based on Joyent’s excellent platform,” said Evan Prodromou, CEO of Control Yourself and founder of the Laconica project. “We’ve really been impressed by Joyent’s ability to meet our specifications and requirements for status.net, and we appreciate their help in designing the architectures and shaping this service.” Prodromou added that Identi.ca, the large microblogging site launched in July 2008, will be the first site moved to the new platform.
Status.net is a new microblogging service that lets anyone set up their own microblogging site, based on Laconica’s functionality. Clients can make private microblogging networks for use by a company or community, or public ones that interface with Twitter, Facebook, and other Laconica-based sites. Control Yourself is accepting applications from enterprises, marketing and publishing organizations, and Web communities to participate in their beta program for the platform they call “status-as-a-service.”
In my opinion, micro-blogging is a resource-intensive site category with very little tolerance for downtime or poor performance. Working with Control Yourself, we have designed a persistent, powerful architecture on the Joyent Cloud that can support microblogging’s high demands. We’re confident that our infrastructure will help Control Yourself satisfy status.net customers.
Welcome to the loving cloud.
Structure 09 in SF
I’m moderating the first panel of the day at Om’s Structure09 conference today.
If you’re at the conference please make sure you say “Hi”.
What I would want a "cloud" to do for me: a functional view
I was on a panel at Enterprise 2.0 yesterday about “Cloud Computing” providers and wanted to take the entire definite of “what is cloud computing?” from a different perspective.
As a consumer, I fundamentally want the entire technology stack for an application to
- Just work
- Just scale
- Just tell me everything
Just works means that I tell an infrastructure that I want my application to have user experience X 99.99% of the time to 99.99% of the my users, and what I want back from that query is a dollar amount. I’ll then make a decision about what I can afford.
Just scales means that I can go from zero to millions of users, one geographical site to twenty geographical sites, and one continent to four continents without a rewrite/rearchitecting.
Just tells me everything means that an API and data source is not only about provisioning machine images or the like, it can be queried for real time and time series data about everything. It let’s me make decisions around latencies and nothing ever just happened for no reason.
When you think about what it would take for these things to come to fruition, it starts to feel like a real step forward in the industry. It’s the collection of these things (in existence or development) that I don’t mind giving a new term to.
Cloud Computing is actually Transparent Computing: there's shouldn't be anything cloudy about it
A little over a year ago Joyent was identified in a Forrester report as one of ten “Cloud Computing” companies to watch. The report was really the beginning of “Cloud Computing” being applied to those of us doing infrastructure and I think marks the point in time when the term really began to appear in marketing materials.
Our inclusion on that list was notable because we were the only privately held company on the list that operates their own server farms and develops their own software stack to instantiate and manage it all.
Since then it’s been cloud cloud cloud cloud cloud cloud cloud cloud and I recall the first time I noticed it showing up as an adjective, I overheard someone actually ask “Is your application cloudy yet?”.
Does one really want a “cloudy” application?
Our premise here has always been that an application should “Just Work” and when it does not, then we should have the means to quickly figure out why and correct it. Importantly, one should be able to figure out the issue(s) within the context of the entire architecture.
The general “gut feeling” though is that something is changing in our industry, and I would say that like how “the network” was flattened, standardized and made into a utility, what people are talking about as cloud computing is the next wave of making data and compute available as utilities or even if entirely owned, one conceptualizes and runs it as a utility. Well that’s part of it. For now, we’re all just calling it Cloud Computing.
Like anything that is a utility, there are initial concerns that fundamentally boil down to trust.
Trust does not emerge from things that are cloudy (opaque). It emerges from complete transparency and the ability to determine what’s is happening or has happened. Trust comes from letting an infrastructure know what’s important to you. I want to query an infrastructure with “This application needs to be available within 1 second to 99.99% of my users 99.99% of the time. How much is that and can you do it?” or perhaps “This 246GB of data you’re about to handle is ‘level 3’ data in our privacy policies. How much is that and can you do it?”.
The hallmark of this “Cloud Computing” needs to be complete transparency, instrumentability and while making it certain that applications just work, the interesting aspects of future APIs aren’t provisioning and self-management of machine images, it’s about stating policies and being able to make decisions that matter to my business.
Summer Sale on in the Joyent Cloud!
Joyent is excited to announce the launch of our Summer Sale. The concept of this Sale is very straightforward. Buy any size Accelerator for one year and get the second year at no charge**.
Typically, when you buy a year long commitment with Joyent you already save significantly compared with 12 monthly charges. But now you get an additional 12 months for free. This means you can save up to 58% over paying two years monthly!
So, if you are looking to get onto the Joyent Cloud or to expand your current infrastructure within the Joyent Cloud why not take advantage of this incredible offer?
Be Joyent!
The Joyent Team
**The fine print: This promotion applies only to new sign-ups and extensions to existing commitments. Joyent reserves the right to alter or cancel the promotion at any time, without notice. This promotion does not apply to any Joyent Virtual Appliances such as the Zeus Accelerator.
More Free Infrastructure for Joyent's Facebook Developer Program!
Joyent’s highly successful program that provides developers of Facebook applications with a free piece of the Joyent Cloud has been expanded. The expansion of the program enables us to better handle the ongoing massive demand for the program. This expansion continues to be supported by our long time sponsors Sun Startup Essentials.
We are now in the process of eliminating the waiting list and will soon be at a point were new sign-ups will be accepted to the program immediately. We also plan to expand the infrastructure that runs the Free OpenSocial and Bebo programs in the same manner, in the near future.
If you are ready to create the next great Facebook application we have the infrastructure you need, free for 1 year! To get started please sign-up here.
We look forward to supporting your success!
Be Joyent!
The Joyent Team
JSConf 2009 post-conference wrap-up
As I mentioned last week, Joyent and Sun Startup Essentials teamed-up to sponsor the JSConf in Arlington, VA last week. I got back from the conference on Sunday, happy to be home, but full of energy from the conference. It was a great two days – lots of interesting people and lots of interesting talks. Chris and Laura Williams did an amazing job of putting on such a great event – the quality of the conference everything surrounding the conference would suggest that they were old hands at arranging things like this – apparently not the case however! Thanks, and well done, again.
The talk about the Smart platform seemed to be well received – it seems that people everywhere are starting to wake up to the fact that JavaScript is not just for browsers anymore, and certainly the people best placed to take advantage of that fact are the people who were at JSConf, the people who already know JavaScript is for more than just rollover images and popups!
Francisco Tomalsky, of 280north, said something during his talk that struck a bit of a chord with me. What he said, roughly, was this: JavaScript is different from the other popular scripting languages, because we don’t control the language itself. We sit and we wait for the language designers – Mozilla, Microsoft, the ECMA and others to fix things that we/they think are broken.
This is all very true, and Francisco & his company’s solution was to implement a fix on top of this with technology. They invented Objective-J and it is quite an amazing piece of tech.
I like technology solutions – I’m a programmer and a bit of a geek, so they come naturally. But before I’m a geek I’m a person (really!), and tend to think that there are problems that need solving that are people problems. The people problem I think that has needed solving is this: who is the “we” in JavaScript.
There hasn’t been, until now, a community of developers, showing off their work, asking for things to be solved or demanding change. It’s been impossible to speak with a single voice, or even just a few voices that represented the user base.
I think that what I found out at JSConf was this: there are a lot of smart people working with JavaScript.
Not particularly surprising I know – there are a lot of smart people all over the place, but at a conference that is for a language that is often stigmatized and mis-labeled I was pleased to see that no-one – not a single solitary person – that I spoke to was out-of-touch, less able, or less willing than at any of the people I’ve met at other language specific conferences.
JavaScript deserves a community of people who know, appreciate, and even like one-another, and that’s hard to foster without personal, face-to-face meetings. Those of us who write stuff in JavaScript – server side, client side, or from the command line – have lots to learn, and lots to share with one-another. A community of people can help solve Francisco’s problem as well.
JSConf represented the first steps of a fledgling community, and some really great first steps at that. I’m proud that myself, and Joyent were a part of it.
JSConf 2009
I remember back in 2006 my good friend Greg McCarroll was involved in setting up the first London JavaScript Night – an evening of technical talks about anything JavaScript related in London. Anyway, it was a great night, well attended – about 50 people, which was way more people than was expected at the time.
Three years later and there is no doubt that JavaScript warrants a larger venue and a bigger crowd. I’m delighted to be heading to Arlington, VA for JSConf 2009 — I go to quite a few conferences. Some I’m resigned to attending, others I’m indifferent about, and there are a few I’m really excited about – this is one of them.
The JavaScript world seems to be in this insanely interesting place at the moment, where new things are coming along every day to be excited about. I’m sure with the lineup of speakers that the organizers have managed to put together I won’t be disappointed.
But that’s not all! There’s more! If you’re around on Saturday night Joyent have clubbed together with our friends at Sun (err, Oracle?) to throw a bit of a bash to end the conference with a bang at the Fly Lounge!
Part 3, On Joyent and Accelerators as Cloud Computing "Primitives"
In the last part of this series we ended by talking about 6 “simple” utilities that software uses on “servers”. They were
1) CPU space
2) Memory space
3) Disc space
4) Memory bus IO
5) Disc IO
6) Network IO
Along with their natural minimums (zero) and maximums.
Providing compute units that do these utilities
What we’ve always wanted to do at Joyent was provide “scalable network appliances”: online servers that just worked for given functions and were capable of both handling bursts and serving as logical lego-like building blocks for new and legacy architectures. Sometimes these appliances might contain our own software, sometimes not. They would be on a network where it would be difficult for a given piece of software to saturate the immediate parts of it.
For most workloads, a ratio of 1 CPU:4GB:2 spindles works pretty well. The faster the CPU (constrained by power) the better, memory is well … memory, and the size and speed of those spindles can be varied depending on what a node is going to be doing (one end of a workload possibility or the other). In other words, 1) CPU space, 2) Memory space and 3) Disc space aren’t terribly interesting or difficult to schedule and manage in most environments (in some ways, they’re a purchasing decision), and 4) Memory bus IO is set in silicon stone by their creators.
Which ones matter?
We’re left with disc and network IO as being the key utilities and the ability to move things on-and-off disc and in-and-out of the network comes from using more CPU. So when an application experiences a surge in activity, it typically results in more use of the CPU, disc IO and network IO. We decided the best approach was to put CPU and disc IO on a fair-share system, and standardize on an overbuilt network (10 Gbps interconnects, multi-gigabit out of the back of each physical node). Our physical servers exclusively use intel NICs in a PCIe format. This way we can have multiple gigabits per node, physical segregation and failover as options, and we can standardize on a network driver and get away from on-board NICs changing from server to server.
The fair share system overall is supposed to provide for short-term (could just be minutes) bursting needed to handle spikes in demand. Spikes that occur too fast for either hardware upgrades or even to spin up new VMs on most systems (and are often too fast to be noticed in 5-10 minute monitoring pings). This allows for you to stop thinking about the servers that you pay for as being these constrained maximums, and start thinking about a “1 CPU, 4GB of RAM” server as being a guaranteed minimum allotment.
This was at least why we stopped calling them “Grid Containers” and started calling them “Accelerators”.
Moving up the stack
The next installments are going to be talking about some kernel and userland experiences and choices, our desire to use ever more “dense” hardware, 32 and 64 bit environments, and rapid reboot and recovery times.
