DevOps Zone is brought to you in partnership with:

Kief is a software delivery consultant with ThoughtWorks in London, specializing in tools, practices, and processes for the continuous delivery of software. Kief is a DZone MVB and is not an employee of DZone and has posted 19 posts at DZone. You can read more from them at their website. View Full User Profile

Describing Continuous Delivery (Without Using the Term)

  • submit to reddit

From Tom DeMarco’s article Software Engineering: An Idea Whose Time Has Come and Gone? [PDF]:

You say to your team leads, “I have a finish date in mind, and I’m not even going to share it with you. When I come in one day and tell you the project will end in one week, you have to be ready to package up and deliver what you’ve got as the final product. Your job is to go about the project incrementally, adding pieces to the whole in the order of their relative value, and doing integration and documentation and acceptance testing incrementally as you go.”

DeMarco isn’t recommending specific methodologies like Agile, but this is a pretty good business oriented description of Continuous Delivery without continuous (production) deployment.

Published at DZone with permission of Kief Morris, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)



Fahmeed Nawaz replied on Tue, 2012/06/12 - 11:11am

WriteConcern.SAFE does not wait for data to be flushed on disk, you must use WriteConcern.FSYNC_SAFE for that.
FSYNC_SAFE creates a WriteConcern using WriteConcern( 1, 0, true) which is what you are looking for.
Note that if you use fsync on all writes, and you app is write intensive, it will affect the performance quite a bit.
If so you may want to also look into using journaling on the server.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.