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 Abel Avram on Mar 23, 2011
The Mozilla team wants to switch Firefox development to a schedule-driven process to speed up releases. Firefox 4 has been recently released with many improvements, while the roadmap outlines plans for versions 5, 6, and 7.
The Mozilla team has used a feature-driven process for Firefox development. That means the product is in development as long as decided features are not yet ready, leading to long release cycles. For example, Firefox 4 was 1 year in development. The team intends to move to a schedule-driven process, according to a blog post published by the company, so they have specific dates when a new version must be released without regard to the fact that some features might not be ready yet. The idea behind the new process is “to provide regular improvements to users without disrupting longer term work.” According to the roadmap, Mozilla plans to ship four versions of Firefox this year, namely 4, 5, 6, and 7. Firefox 4 was just released, the others are going to be released on a 16 weeks cycle.
Like Google, Mozilla is going to use four channels for development. They are called: mozilla-central – nightly builds with all the new features even if they don’t work properly, accessed by approximately 100K users, fx-exp – experimental channel with regular releases (1M users), some features might not work, fx-beta – receiving features that are to be included in the next release (10M users), and Firefox – the public release. Each channel has its own Mercurial repository. A new feature is always introduced to the mozilla-central channel and goes through subsequent channels before being shown in the final product. Features can be disabled along the way and reintroduced later if deemed necessary. The channels and the time release cycle is depicted in the following picture:
The dark blue color represents features that change channels until they make it into the final product. The other two colors represent features that are not ready in one iteration and need to stay longer in their respective channel. The blog post contains detailed information on what is to be done in each week of the cycle, and how the Firefox team will transition from the feature-driven process to the schedule-driven one.
There are several issues the Firefox team needs to address in order to change the development process, as outlined by the Firefox roadmap:
- we must provide binary compatibility for Add-ons
- we must support older branches with maintenance fixes
- intermittent oranges are unavoidable
- scaling localization
- we cannot predict the effect of our changes without large scale beta testing
- all code needs formal code review
- every contributor knows how to obtain code review expediently
- every contributor gets equal say on issues of user interface design and technology prioritization
The long awaited Firefox 4 has been recently released. Some notable new features are:
The roadmap for the future mentions the following new features, among others:
Firefox 5
Firefox 6
The horizon is a bit blurred for Firefox 7, the only features specified by the roadmap being “e10s? deXBLification?”, so we need to wait and see what else will be included in that release.
Agile Maturity Model Applied to Building and Releasing Software
Continuous Delivery: Anatomy of a Deployment Pipeline
Adopting Git for the Enterprise: Risks and Considerations
Branching & Merging Efficiently: A Guide to Using Process-Based Promotional Patterns
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