Bay Area Startups and Technologies Marina's Web Scale Coral Reef

Sunday Nov 30, 2008

Code Camp '08

This year's Code Camp attracted somewhere between 700-900 developers, much bigger compared to the last year one. I had a chance to present on both days of the event. The Sun, Yahoo, and Bebo panel focused around discussion on Scaling Platform with Bebo, Sun, and Yahoo on Saturday Nov 8 that has been recorded and posted. The idea behind this panel is to outline some of the key criteria for building scalable and reliable Web 2.0 applications. Steve Cohen, a head of engineering for the Bebo platform, outlined MVC based Java framework enabling the Bebo site. It was pretty exciting to see Java as a key technology powering up one of the top Social Networking site, that has around 40Mln users across the globe. As you can see in the podcast, Steve outlined their core architecture, benefits, and challenges that they're facing with increasing the scalability requirements. On the Sun side, I had a chance to to present some of the key aspects of building, deploying, and scaling a Web 2.0 application. Sun's tools and technologies including NetBeans, Glassfish, AMP Stack on OpenSolaris, MySQL, xVM, OpenSolaris, DTrace, and ZFS are essential componets of the Web 2.0 application development and deployment environment. Tom Huphes-Croucher, a tech evangelist from Yahoo, outlining open developer APIs and providing some insights on Yahoo scalability story. We had great questions from the audience on how to optimally manage, test, and prepare for the large scale.

Saturday Nov 29, 2008

Cloud Computing Bootcamp

Silicon Valley Cloud Computing gurus, SOA experts, and Virtualization vendors had a chance to explore and share the technology insights during the Cloud Computing Expo event in November. I attended the Cloud Computing Bootcamp, led by Alan Williamson, as well as preview products and offerings at the expo floor. The bootcamp was quite informative and started with the definition of Cloud Computing term. Well, there is no formal definition commonly shared in industry, unlike Web 2.0, and it is very broadly defined as on-demand provisioning of application, resources, and services, that allow resources to be scaled up and down.  Wikipedia's definition, authored by Sam Johnston, specifies a six layer stack that encompasses Client, Services, Application, Platform, Storage, and Infrastructure. That was the basis for the bootcamp session, with individual layers explored in depth with regards to their nature, pros & cons, and players in each space. I'd like to summarize just a few of the layers and mention Sun technology in each category.

Layer #1
is the Infrastructure Layer. It consists of an operating system on demand, i.e. cpu/memory/processing. Some of the vendors in this space include Amazon EC2, FlexiScale, GoGrid, AppNexus, and Joyent. Sun partners with a number of hosting vendors to enable OpenSolaris as part of the deployment platform, which is available with Amazon EC2 and Joyent among others. With OpenSolaris, you can leverage DTrace, optimized AMP stack, and ZFS. Additional value add for Sun Startup Essentials members is FREE one year hosting available for Facebook, Bebo, and OpenSocial application developers on Joyent.

If you are a hosting provider, Sun offers all the building block for setting up the hosting environment. Starting with servers, storage, virtualization, OS, management components, AMP stack, you can leverage many of the proven Sun technologies to build up a cloud environment.

On the Infrastructure layer management side, RightScale and ElasticServer are the top two players that help you to monitor your site, provision new instances, and manage your environment. Similar to other layers and vendors in the space, there is no out of the box interoperability among the infrastructure providers. Therefore, your application stack should be very portable so that if you decide to move from one hosting environment to another, you can do so.

Layer #2 is the Storage Layer, which includes file or object based data storage. Users are billed based on the bandwidth and consumed storage. Amazon S3, Nirvanix, Mosso, Amazon's SimpleDB, Google's BigTable, Azure Storage are among storage providers in this space. With growing number of Web 2.0 companies offering media based applications, e.g. content aggregation, image searching and processing, these services are quite popular. On the down side, there are no common storage data access API shared among the vendors; also, there are limitation on the size of the data. As your storage consumption growth, the bandwidth cost of the service provider may become higher than the cost of the custom managed storage infrastructure. Thus, it's important to monitor and provision storage in a way that is cost effective for your business.


Sun has introduced recently Sun Storage 7000 series, and with Sun Storage 7210 Storage Array (SS7210) in either striped or mirrored configuration you can stream over 700MB/sec video content with 90% CPU utilization.

On the storage management side, Jungle Disk  (acquired by Rackspace), ElephantDisk, PutPlace.com are a few popular service providers.

Layer # 3
Platform Layer comprises a complete software stack and an IDE for the cloud. This layer is responsible for the load balancing and resource provisioning. A few players include Google App Engine with support for Python, Force.com (SalesForce), MS Azure for .NET developers, Heroku.com for Ruby On Rails gurus. The latter one is built on Amazon's EC2.


In this layer, Sun offers to developers Zembly platform that enables building and deploying Facebook, OpenSocial, Meebo and iPhone applications.


With great benefits offered by each of the providers, there are still deployment differences, vendor lock in, and limitations to the underlying language support.

Cloud Computing paradigm became a de facto deployment environment for many startups, but before jumping on on its bandwagon, it is important to keep in mind your application requirements from the infrastructure, platform, database, performance, and scalability standpoint. The greatest value of the Cloud Computing is reduced TCO for application deployment and management, thus many companies take advantage of a cloud particularly for the initial launch of their sites. Once user based grows, some companies realize that for their specific application and data usage, cloud many no longer be the most effective alternative from the cost perspective. Aside from that, Cloud Computing may not offer the same server configuration, security, and SLA's critical to the business, as you may setup in your datacenter. Cloud provides you with a sandbox for your application deployment, thus flexibility is limited.

Wednesday Nov 12, 2008

Bebo DevNite

Bebo hosted a developer event last night with presenters covering topics on building Bebo apps, monetizing the apps, porting Facebook apps to Bebo. The good news for FB developers is that Bebo platform is the F8 compatible, so if you have FB apps you can easily port them to Bebo and with Bebo user demographics primarily being in Europe you can expand your userbase across to the European community. Blake Commagere, the creator of Zombies, Vampires, and Werewolves games on Facebook gave an interesting talk on migrating to Bebo platform. It took him only 9 hours to migrate 4 FB apps to Bebo.

During the event Sun announced free Bebo application hosting with Joyent, so if you're building Bebo app, don't forget to take advantage of this one year free hosting offer. Bebo announced a developer context for the most engaging app, check it out.

 Here is a complete recap of the event posted by Sudha Jamthe

Monday Nov 03, 2008

Bebo DevNite is coming up at AOL campus with exciting talks, demos, and social extravaganza accompanied by pizza and Wii. I'll be presenting on how to develop a reliable and scalable Bebo application using Sun's open source technology. Just in case you're new to the Bebo world, Bebo is a social networking site that has been quite popular in Europe and now gaining momentum in the US. Now you know what Bebo is all about, you can take a look at Bebo APIs, which are supported in Java, PHP, and Ruby, so you can use to develop a Bebo application. Using those APIs and Sun's technologies including MySQL, OpenSolaris, Glassfish among others you can build a social networking  application that appeals to your Bebo friends and the web audience in general.