The transition is happening faster than I had expected.
The transition from hiring a team of Java developers and Linux sysadmins to sit down for a few months and develop an application to a world where you can just provision a platform on a compute cloud just became more of a reality. And, from this desk, it seems to be happening faster than one could have predicted.
Here’s the announcement, Salesforce for Google Apps. This isn’t related to the Django-based Google app engine idea introduced two weeks ago, rather this is the Google apps that you can use today GMail, Google Docs, Gtalk, Google Calendar. Today’s integration isn’t the real news to me, the real news is that both companies are working on generic hosted application development platforms. Continue reading after the video for the real impact on developers.
googleApps.add( salesforce )
Wait, I’m a developer, who cares…
Both Salesforce and Google are working on general development platforms for hosted applications, add a year or two to the system and you’ve got more fodder for the idea that application development is right on the cusp of a rapid evolution. When you can fire up Eclipse and deploy a custom application to Salesforce to have it show up for your users in the context of Google Apps (Gmail, GTalk, Google Calendar, Google Docs), your own in-house applications may start to look a little pale. Five minutes later when the damn thing shows up on your boss’ iPhone and the CEO’s blackberry, you are going to sound crazy when you tell them that it is going to take your development team a few more months to integrate your legacy applications with mobile devices. They are both going to look at you and say, “well can’t you just get the data into Google Apps?” Hopefully, when this happens to you in about a month or two, you won’t be surprised and you’ll have an answer ready.
I guess what I’m trying to say is this…. you are going to find it very difficult to compete with continued integration between salesforce, google, ec2, and the twenty or thirty other companies that are going to join the industry. If you are working for a company that is paying you to develop some custom reporting and customer management application in a framework like Struts, Rails, Wicket, .NET, etc., you are going to have to confront this growing pressure to integrate with offerings like this or compete with them directly. I’m convinced that in two year’s time, the entire discussion of development is going to be fundamentally affected by Platform-as-a-Service. We’re not going to be talking as much about the 30+ web frameworks in the Java stack as much as we are going to be talking about which cloud provider we are using.
If you’ve been following efforts like Shindig over at a Apache, you might just think that Opensocial Widgets are for silly little social network applications like “What German Philospher are You?” or (the now in legal trouble) “Scrabulous”. These applications are just the testbed for a new paradigm of development. When projects like Shindig, Caja, and OAuth mature, we’re going to see real business applications developed in such a way that they can be executed with similar “gadget engines”. The future seems to be one of hosted, multi-tenant applications that run within one of several application execution platforms being mashed-up and combined in ways unpredictable to the original application developer.
EC2 Adds Persistent Storage
EC2 is adding persistent disks. If you’ve considered using EC2 in the past, you’ve known that the fleeting nature of a disk on EC2 is probably the biggest sticking point. It is tough to get your mind around the idea of using a machine with a disk that doesn’t survive a reboot. The solution up until this point has been to use S3 to store persistent data or use Amazon’s new SimpleDB service to store data.
Here’s the quote from the Amazon Web Services blog that matters. Note my emphasis:
These volumes can be thought of as raw, unformatted disk drives which can be formatted and then used as desired (or even used as raw storage if you’d like). Volumes can range in size from 1 GB on up to 1 TB; you can create and attach several of them to each EC2 instance. They are designed for low latency, high throughput access from Amazon EC2. Needless to say, you can use these volumes to host a relational database.
Right, there it is. Very soon, you’ll be running your application on EC2. For me, the game changer is the ability to just run a database on a machine within EC2. I understand that I could’ve changed my application to work with SimpleDB or run a series of clustered MySQL instances on multiple EC2 machines with a frequent snapshot to S3….. No. I, like most of you I’d guess, just want to be able to run a database.
EC2 just became obvious with this announcement.
If you want to tie the EC2 announcement back to the Salesforce and Google Apps announcement, you should note that the blog post before the EC2 announcement discusses a company named Appirio using S3 as a storage mechanism from a Salesforce application.