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 David West on Feb 03, 2009
"It is a time of challenges for the computing field. We are tired of hearing that a computing professional is little more than a program coder or a system administrator; or that a college or graduate education is unnecessary; or that entering the computing field is a social death. ... We are alarmed by reports that the innovation rate in our field has been declining and that enrollments in our degree programs have dropped 50% since 2001."
The above is taken from the Rebooting Computing Manifesto - part of the lead-in to the recently completed Rebooting Computing Summit 2009. The Summit was organized by Peter Denning and attended by a little over 250 people representing industry, practitioners, and academia. A number of luminaries attended the conference including Alan Kay, Vinton Cerf, Grady Booch, Terry Winograd, and Richard Gabriel. One of the objectives of the conference was to establish a community that can plan and take actions to improve computer science.
Others that have written about the summit include: Alan Zelchick and Mark Guzdial.
Surprisingly, given the manifesto, a large number of participants did not feel that computing was "broken." They believed that better marketing would solve all ills. Other's thought that merely creating a presence in the K-12 educational system would be sufficient. About half of the attendees expressed a belief that something inside of CS itself needed change - but not too radical a change. Alan Kay was one of those in favor of more radical thinking, noting, "Rebooting is the wrong metaphor. We don't want to restart the same old discipline, we really need to recreate what we think computing is all about."
A consistent theme of conversation, if not official action, focused on the differences between what academics believe to be computing and what practitioners feel is central to the discipline. Many noted that most of the topics of concern to practitioners, and to the InfoQ communities, like architecture, agility, SOA, Ruby, and .Net, are essentially non-existent in academic curricula. Only Java has much of a presence in academia, and even then there is little interest except using the language as a vehicle for teaching programming.
Several attendees (and here is where the conference really becomes relevant to our community) advocated the creation of a new discipline that would focus on applications and development plus anything associated with the current idea of software engineering. Citing the ubiquitous Standish Chaos Report these folk asserted that even if it (CS) was not broken, IT definitely was.
The Chaos report is itself somewhat controversial (see InfoQ August 25, 2006 and InfoQ August 25, 2006a. Even so, most practitioners would agree that our ability to deliver appropriately featured working software on time and within budget leaves a lot to be desired.
At the conclusion of the conference, roughly 18 different focus groups were formed and charged with the task of planning concrete actions that would address the central concerns of the Summit. Several groups concerned themselves with K-12 issues, a couple (I am being vague with the numbers, because the last day was very fluid and groups formed and reformed frequently) of groups focused on changing the image of CS and marketing of the degree and profession. One group was very concerned with the formation of "communities" and "cross-disciplinary communities" talking (reinventing) many of the same principles that motivated InfoQ. Sadly, no group followed up on the idea of forming a new applied discipline, be it software engineering, reality construction, generative systems design, or informatics (some of the ideas for naming a new discipline).
The ultimate value of the Summit (and planned future summits) will not be evident for several months or years and may only be directly applicable to academia. One immediate outcome for some of us is the motivation to reflect onwhat we do and why we cannot seem to do it better, consistently better?
Requirements, quality and test management e-Kit
Agile Practices to Improve Project Management Organization (PMO) Effectiveness
Architectures You've Always Wondered About @QCon New York
In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!
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