I recently self published my first book: Keeping Software Soft.
To do this I used Leanpub to “Publish early, publish often”. The idea behind this is that you can write a book in increments and publish in-progress versions as you add new content. For example, you could publish a new version of your eBook every time you add a new chapter.
You write your book manuscript using Markdown which is a plain text formatting style allowing the specification of headers, lists, etc.
When you publish a new version, Leanpub takes this Markdown and produces 3 eBook formats: PDF, EPUB, and MOBI.
Readers of you book can download any or all of these DRM free formats.
Once your book is complete, you can upload these formats to other distribution channels such as Amazon Kindle and NOOK& iBookstore via a service such as Lulu.
Check out my book Keeping Software Soft on either the Leanpub storefront or the Amazon Kindle store. (iBookstore and NOOK distribution are currently pending via Lulu)