Cloud Foundry: Design and Architecture
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Moxie Zhang on Dec 07, 2007
To Zoho, as Raju stated, the reason going offline is very simple:
We believe there are ten percent of online users would like to continue their works when they are offline. We'd like to support those ten percent of web users.
Then, Raju provided some background information about extending Zoho Writer offline:
After decided to move Zoho Writer offline, we took a good look at all the available technical options and platforms, including Adobe AIR, Microsoft Silverlight, even the up coming Firefox 3, which should come with offline capability. However, as a AJAX based RIA web applications provider, we believe a real web application should natively support web standards such as HTML and CSS. The biggest reason we started out with Javascript is that it is native to the web - in the sense its core object model for Javascript is the HTML/CSS Document Object Model. Flash, for all its advantages, sits in a separate space from the browser. In that sense, Flash is not that different from Java-on-the-client. In fact, Flash is Java-on-the-client-done-right. Also, Open Source library support is a big one to us. The depth and variety of libraries available in Javascript just keeps getting better.
So, we decided to develop something on our own, utilizing technologies like SQLLite. Then, just in time, Google Gears was released. It's open source and Javascript based. We particular like the BSD license. We thought, instead of developing something new, why not utilize Google Gears and contribute back to it too. That's how Google Gears became our offline platform and we are very happy about this decision.
Recognizing RIA technologies are enabling the trend of crossing online/offline barriers for web applications, InfoQ.com asked Vegesna what Zoho learned was the best approach for adding offline support:
A phase based incremental approach is very critical to our success. We didn't go all the way offline. In the first phase Zoho Writer was in read only mode when offline. Then we worked on the second phase, which was released recently to enable the offline document editing. In general, Zoho products are server based web applications. Most of the features are from the server side processes. To do it right, carefully designing and incrementally adding features to offline is very important. We wouldn't do it differently.
Zoho is also in the SaaS (software as a service) space where, in addition to end products like Zoho Writer, it's a application development platform via Zoho APIs. On the impacts of going offline to applications developed using Zoho APIs Vegesna replied:
For now, the offline features are disabled as APIs. It means that all third party applications are online only. Even with our Zoho Writer, there are features won't be available offline for now, such as PDF file export. As a web application we focus a great deal on user experience. We don't want to make the product complicated to the user by introducing every feature offline.
On moving forward:
We are committed on using Google Gears. We have two major categories of products, one is file centric apps and another is database centric apps. Zoho Writer is file centric based, and once we've done Zoho Writer, the next thing will be extending other tools in the category to offline. We will go through the same approach on database centric tools such as the CRM product.
In the end, Vegesna gave some insights on their server side environment:
On server side we are a open source shop. We use MySQL to manage the data. The server side processes are all written in Java. The application server is a highly tuned version of Apache Tomcat. We host applications by ourselves on about 400 servers, which are a Linux based 64bit environment.
Zoho, as a office productivity suite tool provider, has been pushing the limit on both user experience and platform development. InfoQ will continue coverage as their platform evolves.
The WebSphere Liberty Profile for Developers: An Introduction
App Server Evolution: REST, Cloud, and DevOps Support in Resin 4
Combining Inspections, Static Analysis, Testing to Achieve >95% Defect Removal Efficiency
Good Relationships: The Spring Data Neo4J Guide Book
Introducing SQLFire: a memory-optimized, high performance SQL database
VMware vFabric SQLFire - Test drive the data management system with memory speed, horizontal scalability and a familiar SQL interface
Derek Collison discusses the goals, the design premises and patterns employed in creating the architecture of Cloud Foundry, VMware’s open source PaaS, unveiling internal architectural details.
Andrew Watson talks about the work of the OMG, where CORBA is alive and well (hint: in your car), UML and UML Profiles vs. custom Modeling languages, DDS and other middleware, and much more.
Sohil Shah discusses creating iPhone and Android enterprise mobile applications based on cloud services using the open source platform OpenMobster.
Paul Sanford presents the transformations supported by data throughout its life cycle, and how that can be better done with Splunk, an engine for monitoring and analyzing machine-generated data.
A common “best practice” for unit tests is to only write a one assertion in each test. I intend to question this advice by showing that multiple assertions per test are both necessary and beneficial.
John Rauser presents the architectural and technological evolution of Amazon retail websites starting with 1994 and ending with adopting Amazon Web Services.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
Every developer has had to integrate with another system, API or component. Tis article provides strategies to handle the change and for he separating system boundaries.
No comments
Watch Thread Reply