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 Christopher Goldsbury on Oct 28, 2011
Finance concepts for managing uncertainty and its resulting risk to the value of an asset are finding root again in software development. Derivatives of various stripes have traditionally been used in the financial world to provide some level of insurance against the fluctuation in an asset’s price.
Alistair Cockburn recently questioned the reasoning of “Last Responsible Moment” as it pertains to agile thinking. In so doing he opened up a conversation on how best to handle risk and uncertainty in software development.
A later follow up to this post recognized Chris Matts, Olav Maassen and Karl Scotland for bringing forth real options into debate among the agile and lean communities. The topic is not necessarily new for software development. A quick search on Amazon or Google will show this. But it may be re-awakening as a potential way to help agile scale better. Chris Matts, Olav Maassen wrote about this in 2007 on InfoQ.
With the rekindled interest by the agile and lean communities for real options should we expect to see further evolution of risk management techniques in software development? History would seem to indicate so. As suggested by this blog post, agile techniques were largely a reaction and outgrowth to dealing with risk in one of the key areas of application development: requirements.
Requirements risk has been a consistent theme in software and application development and even the author of this article has written a few posts on the value in reducing risk around requirements through improved gathering techniques.
But at the heart of all these views is the underlying assumption: we can make software development more predictable, and less prone to waste. But can we?
Lean methodology theorists believe so. Jack Milunsky crafted some blog posts in 2009 on the 7 Software Development Wastes, paralleling Lean Manufacturing’s 7 wastes. His view is that these areas cause much of the variability in software development:
But software development is also seen as a craft or creative effort. Those pushing this view often take exception to the Lean crowd’s comparisons to manufacturing. Gary Police wrote an article about art and craftsmanship in software. His position: great work (software or otherwise) come out of experimentation, mistakes, and a drive/passion to do one’s best. This view would seem to suggest that waste is an inherent part of creativity and by extension; software development.
So what’s your view? Can we drive further predictability in software development or by doing so are we destroying the very creative juices that make it so valuable?
Continuous Delivery: Anatomy of a Deployment Pipeline
Improving Software Delivery Cycles: Pre-requisites and Inhibitors
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