Saturday, April 26, 2008

Sun, Yahoo play on increasingly crowded PaaS field

Yahoo! CTO Ari Balogh presented a new strategy that they are terming Y! OS. Aside from the unification of user profiles across all Yahoo! properties, (more on that later), and the social-networkification that they want to achieve by that, I was struck by what they were terming the Yahoo! Application Platform.

TechCrunch is painting this as a direct competitor to Google App Engine, but I see it more like Facebook. Yahoo! is on board with OpenSocial now, and the apps that Balogh seemed to be talking about were more of that Facebooky, Yahoo-API-mashup kind of thing. Who knows though. He did talk about the ability to host apps, and that TechCrunch article talked about the platform being PHP based, but I didn't hear Balogh say that in the presentation. Maybe I just missed it...

I just started checking out Sun's Project Caroline. Unlike the vaporous Yahoo! offering, this one has actual API documentation, in Javadoc of course. This does look like it is pointed squarely at Amazon, as this article suggests. Will be interesting to see how far along this is, when they will start selling it, etc. What's weird is that apparently there was a presentation at JavaOne last year about this? Must have been all the JavaFX excitement affecting my memory, (cough... cough...), but I recall no coverage of that. There was a presentation though, go figure. Maybe it will get more prominent treatment this year now that PaaS hype is in full affect.

Oh, two more things on the Yahoo! announcement:
  1. Unification of all the profiles. That is going to be an insane PITA. I've worked before, and am currently working on, a single-sign-on, namespace-flattening, centralized authentication/authorization/profile management type of thing and can speak from experience that it is a huge problem, and one that most people do not appreciate the full complexities of when first considering it. Yahoo! has immense resources and talented people, however, so by no means impossible that they can pull this off -- technically.
  2. What are the chances of a big strategy like this actually getting executed though in the current environment?

Wednesday, April 23, 2008

Dropbox DOA

The nascent Dropbox service isn't even out of their limited beta when Microsoft drops, (haha, pun intended), details of their new Live Mesh service.

This can't be good news for the Dropbox guys' funding potential...

Will be interesting to see how the API for Live Mesh shakes out. Some more details here.

We have serious problems

The fact that this story is on Reuters and not the Onion says something. How is this possible in 2008?

Thursday, April 17, 2008

AWS Announces Executive Assurance Program, Prints $$$

Amazon just announced new premium support options.

My first reaction is sticker-shock. Monthly plans are calculated thus:

SilverPlan = (totalUsageCost * 0.1 > $100) ? totalUsageCost * 0.1 : $100

GoldPlan = (totalUsageCost * 0.2 > $400) ? totalUsageCost * 0.2 : $400

The 20% goes down to 15% and then 10% as your monthly costs increase on the gold plan.

I can see this being useful as FUD-defense, (and a warm cuddly blanket for nervous executives), but not sure if I can see anyone paying this tax if they are actually spending real money on AWS.

I welcome criticism if you think I'm reading this wrong...

Monday, April 14, 2008

PaaS evolution accelerating

As Tim O'Brien puts it, "transition is happening faster than I had expected."

To summarize, I said the following last post:

"The particulars of Amazon's platform, such as the lack of truly persistent storage outside of S3 make the task of running a database even more challenging."

Yeah, scratch that.

And now Google and Salesforce are getting together. Very interesting...

Friday, April 11, 2008

The PaaS Spectrum

There is not going to be one form that this Platform-as-a-Service wave is going to take. If you look at the current trio of offerings from Amazon, Google and Salesforce they seem to fall along a spectrum of "full-serviceness" or restrictiveness, depending on your perspective.

On the one end is Amazon, who provides a very loosely coupled collection of services and the API to access them. Use what you want, leave the rest. They provide documentation, but it is up to the developer how to wire things together, what languages and tools to develop in, etc. EC2 makes no assumptions about what you are doing, other than that your VMs can be packaged as an AMI.

On the other end of the spectrum is Google and Salesforce. Both restrict applications to a particular language and development stack that are more or less proprietary. Google is saying that their sandboxed Python implementation is only the first of presumably many language options but we'll have to wait and see. Salesforce has their own Java-like Apex language and SQL subset.

It's actually a more complicated comparison that that. Google doesn't provide a relational database but their own persistence abstraction. Amazon's SimpleDB is a similar approach, but you don't have to use SimpleDB, of course. There is nothing stopping you from installing and running your own RDBMS on EC2 instances, but that freedom comes at a cost. Not drinking the Amazon kool-aid means that you are taking on the ops responsibility of setting up and managing that database; responsibility that you were trying to get rid of by going with a PaaS in the first place, right?

The particulars of Amazon's platform, such as the lack of truly persistent storage outside of S3 make the task of running a database even more challenging. There are third parties attempting to pick up the slack, like these guys. That's another differentiator among PaaS offerings, the degree to which the provider obstructs or encourages an economy surrounding their technology but outside their direct control. Amazon has shown this to be their desired direction I think. They could have created JungleDisk but instead consciously limited themselves to infrastructure over customer-facing applications. It is yet to be determined where Google and Salesforce fall on that.

As the PaaS offerings of the current crop of competitors develop and gain wider acceptance we'll see the direction that ends up being the most successful. I'm of the opinion that there is no "correct" approach. I like the flexibility of Amazon's offerings but see the value in a more limited stack for applications that fit the requirements that the given platform is trying to service.

As more competitors enter this space the field will surely get more nuanced. Hopefully the variability of options will just drive everyone to producing better platforms all around.

The Future Is Coming... Be Ready

There is a never-ending debate among web programmers, Java developers are particularly susceptible but by no means unique. It's a debate not-dissimilar to religious or political arguments, or even to the nowadays quaint emacs/vi battles of yore, (a battle I'm feeling somewhat nostalgic for after fighting with Eclipse for the last couple of days, but I digress...). The debate I'm speaking of is about web frameworks. Which is best? What should we use on the new project? Have you checked out XYZ? You can do in N lines of code what took N-squared in ABC... and on and on it goes.

For some reason the web framework "problem" seems never to be solved adequately. It's not alone in this. The same can be said for object/relational mapping frameworks or even email clients, as this one's slogan freely admits. I'm not saying that this debate is really going to go away, but the parameters of it are in a big, game-changing way.

We're entering into a new generational shift in computing. I'm not speaking of generations of people but rather an uplift of paradigmatic abstraction as has occurred so many times before. This is not a shift from static to dynamic languages, although that trend will surely continue. It's not that Java developers are all going to start using Rails or everyone is going to switch from template to component-based ways of developing webapps. The new debate is not going to be between X and Y framework but between X and Y platform, and if platform used to mean Mac-Windows-Linux, the shift I'm talking about is: 's/Mac-Windows-Linux/Google-Amazon-Salesforce/'

There has been an undeniable series of developments in the hosted-platform, managed-environment, I-don't-even-know-what-you-call-it, SaaS? that have until now resisted full-blown, critical mass, hype-factor. I think that that all changed on Tuesday with Google's App Engine announcement.

Like Apple, no matter what Google does it gets attention, and App Engine is undoubtedly going to get lots of it. People will love or hate the choice of Python, love or hate the persistence API, or lament the lack of filesystem access, or OS access, or inability to link to C libraries. All of that is irrelevant though, because the real story is that they will have done for this new hosted-app space what IBM did for the PC-space years ago, which is push it over the top into general acceptance. It validates the concept.

It is widely assumed that Google is taking aim at Amazon and their suite of web services. I think that that's true, but Amazon should be thanking them for it since it will probably bring more attention to their offerings than for some reason they have been getting thus far.

It's weird actually. If you've been paying attention to what Amazon has been doing it's really quite impressive. The model they are pursuing is that of a utility. Everything is metered for pennies, pay for what you use, do anything you want with it. It's like the webtone concept. Don't worry about machines, disk space, bandwidth, power, (or an ops team). We'll take care of it, and we're Amazon, so you know we're not going down.

Google has been doing a similar thing with their Google Apps with some success. I for one have long since abandoned the concept of running a mail server. Google does it for me, better, for free. The App Engine though is the next progression and the acknowledgment that people need more software than they can possibly produce, but don't want the headaches of running all the infrastructure.

The third leg in this emerging trio, (and there will no doubt be others to follow), is Salesforce. They have been doing some very interesting things lately that I for one haven't been paying enough attention to. Unlikely as it sounds, they may even have the advantage, since they speak the language that the suit-types understand. It's all about reducing IT costs. Faster time to market, ROI, yadda yadda yadda...

The technology is there though. A friend of mine was at the Salesforce conference in Chicago yesterday and had this to say afterwards:

"Unless you're the most close minded developer in the world, there's no way that you are going to go to a Salesforce conference feeling good about the stability of your own job."

Now maybe that's hyperbole, but it brings up a good point, the web development world is not stable, and if you are a web developer your job is not stable. That's not to say that you're getting fired and everything is going to India, or that non-technical personnel are suddenly going to be able to write applications. What it does mean is that staying relevant requires effort. Knowing what's going on in the industry, knowing what the trends are; these are important concepts to keep at the front of your mind lest you be left behind.

The Future Is Coming! Rejoice in the Good News of Hosted App Platforms!


Still doubting Salesforce? You know they are integrating with the iPhone, right?