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.
How would you like to view the presentation?
Troubleshoot Java/.NET performance while getting full visibility in production
Combining Inspections, Static Analysis, Testing to Achieve >95% Defect Removal Efficiency
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
I've enjoyed his previous presentation also. Nice intro to Clojure.
I found this intro easy to follow and very informative. I would to see more Clojure material published on InfoQ, all is excellent material.
The reason why Object Oriented programming became a model for solving problems with software is not so strange. The reason is because a large class of programs are very much like a simulation. For example, think about what is involved in an inventory software for a store. A large part of this software is simulating what is actually happening in the real world (items being removed or put on the shelves - sold and bought). The same is true for several other types of programs (software for a bank, flight reservation, ...).
In fact despite the functional programming hysteria OO is still a good way to structure software. The verbose syntax of Java is not intrinsic to OO. In fact some OO languages are less verbose.
For me the productivity gains of moving to OOP from procedural programming have been impressive and I think the best attitude about this is to remain open to new techniques and to use them when appropriate.
I'm sorry for some of the "ums" and "ahs" ... I was very badly jet-lagged. I'm glad they included the questions (and edited out the worrying period waiting for the first question!).
It's not a question of modeling so much as a question of how state & properties of objects are stored and how the are operated upon. Java-style OO uses individual classes and almost universally encapsulates mutable data in private fields backed by public accessor methods ... and it's so dogmatic that people's heads' spin if you have a Java class with public fields. Clojure may do a better job of modeling these properties because the immutability embraces the idea that any set of properties is a snapshot of one instant within a continuum of time.
I understand the problems with the way state is managed in "traditional" OO languages like Java. I was just pointing out some reasons why OOP languages became so dominant despite their imperfection. You seemed puzzled by that in your presentation pointing out the fact that Simula was a language for simulation. My point is that this is a very good reason to select languages similar to Simula (a lot of programming is simulation).
Thanks for great introduction to a new language. I noticed that programming seems to be following prefix expression style (en.wikipedia.org/wiki/Polish_notation).
I am still not sure why would one switch to this language, unless you are working on open source projects and want to replicate/create frameworks that are available in other languages. While for every new project, one discusses which technology stack to use, langauge choice never comes up. Most orgranization/departments are already committed to one language, and it pays off to stick with that choice considering the fact that code has to be maintained for atleast few years to get some ROI.
Regards,
Srikanth
Interestingly Cobol also has a built in sort function ....
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.
8 comments
Watch Thread Reply