May 30, 2008 | Comments: (0)
Put my data in the cloud? Let me think about that...
It was brought home to me recently, once again, how vulnerable we are to data loss. This time, it isn't a local hard disk crash: it is most likely a problem with a hosting provider's accounting system. In any case, the provider locked my (pro bono) client out for non-payment and scoffed at the client's receipts from PayPal. My client thinks they've paid; the provider thinks they haven't: it's a mess.
I won't post any names at this point, because we haven't yet gotten to the bottom of this. But my client can't get to its public Web site, private Web site, or content management system. If the organization weren't on a summer break, and I didn't have a local backup of most of the information on the site, it would be a disaster.
That brings up the whole issue of cloud computing. If I put my application on Google App Engine, Bungee Connect, Amazon EC2 and S3, or any other cloud, I'm likely to be storing hundreds of GB of data in the cloud. It's basically the same problem as with any hosting provider, only more so.
What happens if Amazon or Google decides they don't like my large-scale client, for some reason known only to themselves? What options would my client have? What guarantees continuity of service and data integrity?
What do you think?
Posted by Martin Heller on May 30, 2008 01:05 PM
May 21, 2008 | Comments: (0)
Bungee Connect: Platform-as-a-Service
On Tuesday, I had a long telephone conversation with Lyle Ball, VP of Marketing, and Brad Hintze, Director of Product Marketing of Bungee Labs, who also gave me a Web demo of Bungee Connect. I've been on the Bungee Connect developer beta since March, so it wasn't all new to me, and we were able to skip over the basic "What is it?" questions. Instead, we did a deep dive into the development process and took a broad look at the business model. Today I want to tell you a little about it at a high level.
The elevator pitch for Platform-as-a-Service is: "A single environment delivering the entire software life-cycle as a service. Cloud-based integration creates increased productivity, open collaboration, shortened time-to-market and reduced overall costs." What that means in practice is that you use a Web-based development environment to build, test, and deploy Web-based applications that run either on the Bungee Grid or on a self-hosted virtual appliance. The Bungee Grid has one server farm in the U.S., another in Europe, and uses Amazon EC2 to handle any loads that exceed the Grid capacity.
Everything you need for the entire software lifecycle is built into the Bungee Connect Web IDE: UI, Application Logic, Debugging, Team Development, Deployment, and Maintenance. The IDE itself is a Bungee Connect application. The server programming language is somewhat similar to C#; it is currently stored as XML and interpreted, and can easily connect to XML and RESTful Web services and to PostgreSQL and MySQL databases. The server talks to the UI over the wire using optimized packets that tell the UI what to do. The UI is implemented as JavaScript controls. The whole thing performs surprisingly well on a moderately good PC as long as you have a good broadband Internet connection.
In some ways, Bungee Connect is the antithesis of a Rich Internet Application. Rather than pushing most of the computation to the client, which is the way Flex, Silverlight, Curl, and Ajax work, Bungee Connect uses the client only for the display layer, but uses a beefy Grid of servers and optimized communications.
What about pricing? Using Bungee Connect for development is completely free, but running deployed applications does cost money. There are two pricing models. If you run on Bungee's Grid, the price is $0.06/user-session hour; if you run self-hosted Virtual Appliances, the price is $500/month per image. Compared to buying development tools and servers, this seems like it'll be dirt cheap, unless your application is heavily used and wildly popular.
Bungee Connect is currently in an open beta phase. Major improvements to the implementation are planned for the end of the summer, and Bungee Connect should go into general availability by the end of the year.
Posted by Martin Heller on May 21, 2008 02:10 PM
May 14, 2008 | Comments: (0)
How badly do you want a MacBook Air?
At least partially in response to my coverage of TopCoder last week, I have been getting a spate of programming contest and community announcements. ZocDoc is an API for doctor appointments. Appistry Enterprise Application Fabric (EAF) is a grid-based application platform for the development and deployment of scalable applications in Java, Spring, .NET or C++.
Notice what these two have in common:
Tuesday, May 13, 2008
ZocDoc Announces Developer Contest - Win a MacBook Air!
Today, ZocDoc kicked off a contest for software developers to create new applications that help patients book doctor appointments anywhere on the web. ZocDoc users have frequently requested integrations into popular applications and devices such as Facebook and iPhones, among others.
The contest, which runs from now until August 1, 2008, challenges developers to build the application that will most benefit patients looking for a doctor. A new API allows developers to pull data from ZocDoc such as doctor and dentist information, practice locations, pictures, URLs and available appointment times, which can be integrated into custom mashups and applications. The developer of the application that benefits the most users (as measured by appointments made) wins a brand new MacBook Air!
If you are a developer, visit the ZocDoc Developer Center to register for the API.
Join Appistry's Peer2Peer Developer Community and you could win a MacBook Air
Appistry Enterprise Application Fabric (EAF) dramatically simplifies the process of developing, deploying, and managing highly scalable and reliable Java and Spring applications.
Now, with Appistry EAF Community Edition, anyone can experience the benefits of Appistry EAF for FREE. Your Peer2Peer membership allows you to:
- Download Appistry EAF Community Edition at no cost
- Utilize it on up to 5 servers or 10 CPU cores for an unlimited amount of time (no expiration)
- Use it for development, testing, even production deployment of applications
It's easy to get started - join the Peer2Peer Developer Community today to download the free software and access developer resources such as tutorials, on-line documentation and support forums.
You could win a MacBook Air when you join Peer2Peer
Hmm. This is the computer that my high-school classmate Steve Levy (or possibly his wife) accidentally threw out with the newspapers.
Posted by Martin Heller on May 14, 2008 11:11 AM
May 06, 2008 | Comments: (0)
Rails, and now Java, in the cloud
I had a conversation today with David Abramowski, CEO of Morph Labs. We were supposed to talk about how Morph Application Platform, which uses Amazon EC2 and S3 for on-demand cloud computing and storage along with its own routing and provisioning infrastructure, compares with Google App Engine, which uses Google's own cloud infrastructure. That part of the conversation was short, though, because beyond the fact that they're both on-demand cloud computing platforms, the two have nothing in common. I was put in mind of Shakespeare sonnet 130, My mistress' eyes are nothing like the sun.
Google App Engine, as I've discussed previously, currently supports only Python for an implementation language and BigTable for a (join-less) database, with Django and a simpler Python Web framework developed at Google both on offer to structure a Web application. I can't yet speak to what deployment is like on Google App Engine, as I signed up too late to get into the beta.
Morph currently uses Ruby on Rails as its framework, and PostgreSQL as its database. Today's announcement at JavaOne was for a beta release of Morph Application Platform for Java, developed in collaboration with Webtide. Abramowski expects the beta to fill up in a couple of days.
I was actually more interested in the Ruby version of the Morph Application Platform than the Java beta for my own projects. I've signed up for a free developer account. I've run into a snag subscribing to the DevCenter service that will let me access an "AppSpace," but I imagine that will be fixed before long, and I'll be able to say something about the service first-hand. It almost has to be better than the Rails hosting experience I had at TextDrive, now called Joyent.
Meanwhile, two user quotes from the Morph Web site:
"Morph is a great service. Deployment is simple. I give them lots of points for ease of deployment. They can help you scale as they are using Amazon's services on the back end."
- Justin Ball from www.justinball.com
"Morph AppSpace is the best experience we've ever had for Rails deployment. We can scale to as many app servers as we want in minutes, and then scale back as demand changes. We are also happy about the effortless deployment and the amazing client support. The Morph guys were helpful before, during, and after. From now on, we'll be using Morph AppSpace in releasing all our new applications."
-Jim James, www.mytripscrapbook.com
Posted by Martin Heller on May 6, 2008 01:03 PM
April 09, 2008 | Comments: (0)
Wait-listed for Google App Engine
I made a teensy-weensy mistake when I started to look at Google App Engine: I downloaded and installed the SDK and read through the Getting Started Guide fairly thoroughly before signing up for an account. As a result, I've been wait-listed. I think that means that more than 10,000 others have already signed up for the free App Engine beta. Oh well, I can still develop locally until my invitation comes through.
As about a million other bloggers have already discussed, Google App Engine feels like a direct competitor to Amazon's three Web services (EC2, SimpleDB and S3) all rolled into one Python framework.
I think it would be really nice to be able to target the Google infrastructure "cloud" for a Web application at need, just as it's really nice to be able to target the Amazon infrastructure and the SalesForce.com infrastructure at need. I can see different uses for the various platforms as currently constituted; I can also see why the choice might confuse people.
I like the choice of Python as the first implementation language, unlike many other bloggers who seem to be whining about the lack of Ruby and PHP support. I also like the way Google has given us a local server for development, and given us access to most of Django (a Web-development framework), WebOb (which provides objects for HTTP requests and responses), and PyYAML (a parser) as well as most of the standard Python runtime libraries. I think I can learn GQL without a problem: it's basically a subset of SQL.
I'll pass over the way the HuddleChat demo ripped off the 37Signals Campfire real-time chat application, for two reasons. First, about half a million other bloggers have already complained about it; second, Google has already bowed to the pressure and pulled the app.
I wonder what the 10,000 others who have already signed up for the free App Engine beta are going to do with it. In fact, I wonder what I'll do with it when I eventually get access.
What's a potentially profitable Web server application that needs great scalability, doesn't need table joins, and hasn't already been done to death?
Posted by Martin Heller on April 9, 2008 12:02 PM
TOP STORIES
ADDITIONAL RESOURCES

- Remote Access: Maintain Security and Decrease the Burden on IT
- Beyond AntiVirus: Symantec Endpoint Protection
- What Every Enterprise Needs to Know About VDI

- Monitor the core and troubleshoot the access layer
- Disaster Recovery in Minutes
- Protecting Microsoft(R) Applications




