Could Amazon become the Mosaic of Cloud Computing?

Posted: February 25th, 2009 | Author: Trevor Orsztynowicz | Filed under: General | 3 Comments »

Regardless of whether or not you were using a Mac or a PC, your early days of the web were probably spent browsing using Netscape Navigator, really the first widely distributed browser. What most people don’t know is that Netscape Navigator was based on another breakthrough product, called Mosaic.

Developed at NCSA, Mosaic was the first browser that was easy to use and install. It was also ported to several different systems including the PC. Being the first browser to support in-line images, it suddenly made browsing “sexy”, or as sexy as it could be in 1993. Suffice to say Mosaic was a great success. A game changer. It led directly to the development of Netscape Navigator, and was even licensed and sub-licensed until it found its way into the kludge we know as Internet Explorer. The thinking, design, and overall functionality originally included in Mosaic still exists in most browsers today. But nobody uses it, and most people have never heard of it. In fact, nobody uses Netscape either. The once might and popular browser, which was based on Mosaic technology is nothing but a nostalgic geek memory.

amazon-vs-mosaic

This is a pattern that tends to repeat itself when it comes to technology. The process of natural selection process applies itself here too. Usually not new, sometimes not the best, but the timing, strategy, and execution will be enough to make a technology or solution the dominant one. However – like any large creature – it is burdened by its own weight. Unable to keep up to date with new markets, methodologies or innovations it may no longer be able to use its size to effectively ward of predators, and succumbs to the forces of nature.

Amazon is currently the biggest creature at the moment. Many hosting providers, and companies fear the impressive size, momentum and presence of such a magnificent beast. After all, how could someone hope to stop a business with such a successful, innovative product.

But as you pay attention to the technology choices and draw their lineage into the future you notice a few dead ends, and more importantly see a lot of opportunities. Amazon doesn’t do a lot of things, and some of the things it doesn’t do well enough. These little pain points, minor though they may be, represent opportunity for some enterprising statup, entrepreneur, or group of consultants to build something better. Something even easier, more secure, flexible. Something that can evolve itself using the rudimentary building blocks of internet infrastructure.

15 years from now will we still talk about Amazon as the defacto cloud? Or will it just be another Mosaic, an evolutionary stepping stone to a smarter, more robust, nimble species.


Cloud Computing is Easy. Period.

Posted: February 23rd, 2009 | Author: Trevor Orsztynowicz | Filed under: General, cloud | 1 Comment »

For a year and a half we’ve been hearing a lot about how Cloud Computing is going to save companies millions of dollars, make it cheap for Startups and small businesses to compete with the big guys, and solve other countless problems which I won’t even start to name. You’d think, considering all the hype, that it was the second coming of Christ, not a lofty marketing term which pretty much everyone has co-opted. At first glance it appears as though Cloud Computing is the next Internet, and who wouldn’t want to be involved in that? The problem is that because the whole industry has take this term and made it mean whatever they want, it now means nothing. More accurately, it means whatever the people who use the term “Cloud” want it to mean, and that’s extremely dangerous.

At a conference I attended awhile ago we broke off into several teams to discuss what we thought cloud computing was. This was doomed for failure, but what I noticed and what seemed to be lost on everyone in the crowd was that everyone came up with an answer that solved the problems they have to deal with in their profession, day after day. We didn’t come up with a magical definition, and this exercise has since become kind of a pastime at Cloudcamps / Conference, etc because nobody has ever come up with a good answer, and nobody ever will.

Until we stop thinking about the Cloud as a product, and start thinking about it as a concept, we’re all wasting precious time

It’s time for me to append my opinion to what is already a littered landscape of ontology. Honestly this is the best thing I’ve ever heard someone say about cloud computing, and it didn’t come from an engineer, the marketing department, a blogger, a techie, a social media consultant, or someone on twitter. It came from a Barista at my local Starbucks. She asked what I did, and I told her, and she was more curious about what it meant, so I begrudgingly went into a few details and she quickly replied back with “So it’s just easy”.

That’s it. It’s just Easy.
Cloud Computing is Easy.

Easy is why Joyent is great – You get a powerful system and signing up is quick, simple and Elegant.

Easy is why Amazon is kicking everyones ass. You can get 100’s of virtual machines crunching away at your data by running a single command.

Easy is why platforms and services that do Billing, Advertising, Customer Feedback, Authentication, Store your Data and Backup your Files are successful. Because it took the effort of a small group of people to build something that could be re-used over and over and over again by the masses, made so easy that having a credit card is the hardest part.

I recently asked people on Twitter “if they couldn’t call their magic “Cloud Computing” for one day, what would they call it”. The purpose was to make people think about it for one second. What do you ACTUALLY do. You don’t actually build cloud computing environments do you? No. Do you build hosting environments? Do you host software? Do you build or run platforms? Do you do anything like this? If you can tell me what you do without using the word “Cloud” then we can have a discussion, and if the power you provide can be made as easy as clicking a button or including a library, then maybe, MAYBE, you’ll have the right to wrestle it back.


Why Serverside Javascript Matters

Posted: February 5th, 2009 | Author: Trevor Orsztynowicz | Filed under: Geek, cloud, javascript, sysadmin | Tags: | 4 Comments »

Javascript is a popular scripting language that comes embedded in most browsers. It’s usually what’s responsible for making your browsing experience as rich as it is, and for this reason we tend to categorize it in the realm of client-side development. In fact, running javascript on the server is odd enough for the phrase ‘Server-side Javascript’ to have been coined in the first place, but it isn’t exactly a new idea. Livewire, Netscape’s Enterprise Server product included server-side javascript functionality in 1996. But it hasn’t really caught on. Writing server-side code in PHP, Ruby, Python and Perl, ASP.Net and Java has been the “way we do things” and javascript remained something you messed around with once you wanted to spoil your users with a  richer experience. Before I explain server-side Javascript adoption, we need one important piece of background information.

There are economic concepts that dictate how you use services and hosting on the internet.

Do tell.

Computing is really cheap. Think about all the email that Gmail handles in a day. It’s so cheap that advertising can pay for it. But the “Network is the computer” after all, so we have to think about what it takes to get that information in and our of these clusters of cheap computing, and that’s the rub. Amazon charges $0.17/gig to get your data out of EC2, which is equivalent to almost two hours of their cheapest computing instance. This is a good scenario if the task you send to your cheap compute cluster can be defined in a very small package, and yields a relatively small result but typical web services and applications don’t work this way. The point is: Its cheaper to move the computing than it is to move the data.

So what?

This all clicked for me when I messed around with Freebases development environment, “Acre”. Acre is great. It lets you create, edit, and host your applications through a browser. Not only had I been messing around with Acre, but I’d also been toying with the idea of using Freebase as a mechanism for validating and normalizing data. The problem is asking Freebase for a bunch of information on say, “every city on the planet” is pretty expensive. Not only do you incurr a network transfer cost, but you then have to process the information. Not exactly ideal. But what if I could pose a question to an application running at Freebase? What if, instead of pulling out all the information about every movie and creating your own Freebase-based IMDB, you could host it right next to the data source. You get all the benefits of transferring the ‘heavy stuff’ over the WAN, and the browser gets the good stuff, but only when it asks for it.

This is why server-side javascript is perfect

Hosting Ruby, PHP, Python, etc is kind of a pain in the ass. Well its easier than it used to be but it could be a lot better. If I had to choose something relatively lightweight to interface to my data-source and create that rich browsing experience, you’d probably pick Javascript. My initial impression is that depending on your data-source, scaling it would be easy, too. Running computing close (as in LAN close) to the data-set means a few things

1. You can create cheaper mashups

2. You can eliminate all the cruft from your data before it gets sent over the wire

3. You can create nifty applications and ask them short questions that yield short answers but require huge amounts of data to determine

ZOMG How do I start?

You’ll have to learn javascript, and as a hosting or service operator you’ll have to choose an application for running it server-side. There are a few options. Trusty Wikipedia has a lengthy list of Server-side Javascript implementations. I’d recommend checking out the following:

Rhino

Spidermonkey

V8

AppJet

Jaxer

-Trevor