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 Obie Fernandez on Oct 11, 2006
The thing about the web is that if you look at it, it has no object models and it has no APIs. It’s just protocols all the way down. Some of the protocols are loose and sloppy like HTML, and some of them are extremely rigorous like TCP/IP. But if you look at the stack there’s no APIs, there’s protocols all the way down. I think that the thing that you take away from that, is that that is the way to build heterogeneous network locations.Tim Bray managed the Oxford English Dictionary project at the University of Waterloo in 1987-1989, co-founded Open Text Corporation (Nasdaq:OTEX) in 1989, and co-invented XML in 1996-98. Currently, he serves as Director of Web Technologies at Sun Microsystems, co-chairs the IETF "Atompub" working group, and publishes a popular weblog with thousands of subscribers.
A few other things that we learned from the web is that simple message exchange patterns are better; I mean HTTP has one message exchange pattern; I send you a message, you send me a message and the conversation is over. And it turns out to have incredibly good characteristics and so on.
Now, the other thing that came along around the same time was XML, and it provided a convenient lingua franca to put in the messages you’re going to send back and forth. The basic take-away is “Let’s adopt the architectural pattern of the web by specifying interfaces in terms of message exchange patterns, let’s make those message exchange patterns simple, let’s try and make statelessness possible and easy because that’s on the truth path to scaling. I think that idea has legs, it’s really the only way forward. The fact is that 10 years from now there’s still going to be Rails apps here and Java apps there and they’re going to have to talk to each other. The only way to do that is by sending messages back and forth. Somebody said to standardize that. And that led us down this insane trail and the destruction of WS*.
Troubleshoot Java/.NET performance while getting full visibility in production
RDBMS to NoSQL: Managing the Transition
App Server Evolution: REST, Cloud, and DevOps Support in Resin 4
Introduction to WebSphere Liberty Profile
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
Great interview, thanks!
Don't miss it folks ...
Cheers,
Ashley.
It's nice to see SUN has such a heterogenous environment there. On one hand, we have John Crupi who seems to evangelize the ideea of designing and exposing enterprise services basically AROUND of course WSDL and XML Schema (being small or big as he puts it :-)) ) and up one slot (on Infoq) we have Tim Bray who is basically saying that SOA is such a great bunch of bullshit and "... XML schema and WSDL, which are two of the ugliest, most broken and irritating specifications in the history of the universe". That's refreshing. I mean you just have to follow both of the presentations and you don't need anyone to tell you what you need to do. You can sooo easily make your choice. Which's yours ? :-D
I finally managed to watch this to the end but it was really painful because the video stream was interrupted about once every 5 seconds ... buffering ... a a a a ... buffering. I'm on a rather thick pipe so I don't know why this has been so bad.
I have two suggestions for infoq: Please provide interviews as an audio stream. This is about what people say, so there's little use in watching it on video. The second thing is that Flash doesn't seem to be very good at video streaming. I never had any buffering problems with Real or Windows Media...
I agree with Faui: too much pain involved with buffering. I loved the video and found it very informative. In fact, the whole site is awesome, but I will not watch videos very often if I have to take this buffering pain. Floyd, please provide us some downloadable version of the files. If it has to be Flash, I beg you, give us a link to an FLV file in one piece!
Thanks in advance!
I like Tim's no-nonsense attitude, but I think that he is inconsistent in one point: he says that XML was the subset of SGML that made sense. So, would have XML been developed if not for the (initially) unproductive work on SGML? Isn't it the same for WS? I mean maybe people are just trying to find the right way in the dark, and we just have to wait until it becomes clear what part of what they achieved needs to be taken as a useful subset.
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.
6 comments
Watch Thread Reply