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 Bienvenido David III on Nov 08, 2011
Yahoo! has recently announced Cocktails, a set of technologies that make it easy to develop and host applications that can run on both client and server-side environments. Cocktails is composed of Yahoo! Mojito, an environment-agnostic JavaScript web application framework, and Yahoo! Manhattan, a hosted platform (PaaS) for Mojito-based applications. Cocktails is the technology behind Livestand from Yahoo!, a personalized magazine app for the iPad.

Mojito is a JavaScript web application framework that can run in a browser and on a server, giving developers the ability to maintain a single JavaScript codebase for both client front-end and server back-end. The web framework deploys itself from the server runtime into the browser runtime, allowing developers to write web modules that can be executed within either runtime. For example, a Mojito application will run on the client if JavaScript is enabled. This same application will run on the server if the client is not equipped to run JavaScript. A Mojito application can also be installed as an app on a mobile device.
Mojito applications are built on HTML5, CSS3, JavaScript, Node.js, YUI3 and YQL. Node.js is a server-side JavaScript environment that allows Mojito applications to run on the server. YUI3 provides the environment abstraction and packaging that allows applications to run equally well in a web browser or on a server. YQL provides the data abstraction and caching that allows applications to access data on the server or on the local SQLite. Each MVC "unit" in Mojito is both a module and a widget. It's a module with business logic, and it's a widget with a user interface. From module and widgets came the term "mojits", from where Mojito, and eventually Cocktails, got their names.
Manhattan is a server-side JavaScript cloud hosting environment for Mojito-based applications. Manhattan provides higher-level services like security, scalability, high availability and monitoring on top of the Node.js JavaScript engine. Similar to how Google App Engine provides a cloud platform for running Python and Java applications, Manhattan provides a cloud platform for running server-side JavaScript. Manhattan also allows you to tap into various services like Yahoo! C.O.R.E. (Content Optimization and Relevance Engine) for content personalization and Yahoo!'s ad serving platform.
Livestand from Yahoo! is powered by Cocktails, and is a peek of what Cocktails can do. The Livestand team develops on Mojito using a desktop browser, and packages for the iPad by embedding a web runtime which includes a native shell for managing web views. The same Livestand application that runs on the iPad also runs on Manhattan. This allows the app to offload some of the complex and time-consuming processing to Yahoo!s cloud.
Yahoo! plans to open source Mojito through the Yahoo Developer Network in the first quarter of 2012. Manhattan will be available later in 2012. To take a quick peek of Cocktails, watch the Yahoo! Mojito and Yahoo! Manhattan Demo. There's not a lot of information for developers at this time, but the blog post titled "Yahoo reveals their Node.js Mojito Manhattan cocktail mix - now I can talk about it?" by David Herron, author of Node Web Development, gives us a little information of how things worked before he left the Cocktails team in June.
Tools to unit test your JavaScript
Taming HTML5 and JS: High Performance Mobile, WebKit, FireFox Dev Tools @QCon New York
Building HTML5 Apps in Hours, Not Days
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.
2 comments
Watch Thread Reply