Biting The Bullet, Book Writing Commences

I’ve decided to go for it.  I’m going to write a book and today is the day that marks the beginning of this journey.  I’ve read up and asked for advice from writers that have undertaken the technical book effort before.  John Papa, provided some great information in the past, and even wrote a new blog entry related to some of those past efforts More Tips for Writing A Technical Book.  The previous entries are great material too;  10 Things to Consider Before Writing a Book and 6 Great Tools for Writing a Book.  I’ve read through these and am taking heed of the advice John gives.

Another blog entry I’ve come upon recently is by Bart Czernicki titled Technical Book Sales Insight Through Real-Time Amazon Rankings Analytics.

One of the things I’ll be doing, is blogging some of the notes, book sections, and other things to see if ordering, writing, and other bits work according to you the blog readers.  With that in mind, I present my first table of contents.  It’s a rough draft, but what do you think so far?

Title:  Windows Azure Cloud Computing
Subtitle: From Enterprise to Startup, A Clear Path
Chapters:
1. The History & Ideas of Cloud Computing
   a. Literal History of Cloud Computing
      i. Yesterday.
      ii. Today.
      iii. Tomorrow.
   b. Modern Cloud “Services” Focus
      i. SaaS
      ii. PaaS
      iii. IaaS
   c. Why Jump Into The Clouds
      i. First, The Disadvantages
      ii. Now, The Advantages
   d. The 60k Ft. View of Cloud Architecture
      i. Public & Private Clouds
      ii. Enterprise, Startups, and More
      iii. On Premises
2. Starting Windows Azure Development
   a. What you’ll need, what you’ll want.
   b. Other languages; Java, PHP…
   c. Build a Cloud Site & Service with…
      i. C#
      ii. Java
      iii. PHP
3. The Platform Elements of Windows Azure
   a. Web Role
   b. CGI Role
   c. Service Role
   d. Storage
      i. Blob
      ii. Table
      iii. Queue
   e. …OTHER BITS
4. Architectural Patterns for Windows Azure
   a. Queuing Patterns
   b. Storage Patterns
   c. Instance Patterns
   d. Mixed On-Premises or Private and Public Cloud Patterns
   e. Cloud to Cloud Patterns
5. Cloud Security
   a. Physical Security of Facilities
   b. Device & Data Security
   c. Cracker & Social Engineering Security
   d. Strategies for Additional Security
6. Business, Ideas and the Future of Cloud Technology
   a. Super Computing for Anyone
   b. SaaS is Ideal, but PaaS and IaaS are core.
   c. Enterprise, Startups, and the Drivers of Cloud Computing
7. Closing – Summary & Appendixes

10 thoughts on “Biting The Bullet, Book Writing Commences

  1. Adron,

    Content about SQL Azure, AppFabric (Service Bus and Access Control Services), and Worker Roles appears to be missing.

    Assuming a 300-page book, the chapters will be longish.

    Good luck,

    –rj

    1. Yeah… I’ll need to break those down more. The SQL Azure… hmm, I’m pondering my approach to that whole can of worms. It hasn’t made a lot of friends of the Cloud Purists… AppFabric I’m really looking forward to putting together material… and I thought I had worker roles in there!! Thanks for the pointers Roger! I appreciate it.

  2. Yup, a comment from myself per @ploeh’s Twitter comment.

    Adding a section on TDD against the cloud.

  3. The entire Windows Azure Platform “hasn’t made a lot of friends of the Cloud Purists” whose catechism is Linux and an Open-Source Stack or nothing.

  4. Thanks for the shout out in your article.

    I would strongly suggest you rethink the entire process of the book. I ONLY buy books because of the content they provide. What I mean by that is I don’t want to buy a book that is an MSDN re-write or intro book.

    Look at most ASP.NET or Silverlight books. They go something like:
    Chapter 1 – What is Silverlight?
    Chapter 2 – Silverlight architecture
    Chapter 3 – XAML
    Chapter 4 – Data binding

    By chapter 11 I have learned NOTHING new.

    This is why I wrote my book the way I did…I tried to skip all the fluff and go straight for the meat. This will make your book more succesful because you will attract a higher class audience and not just average developers. It is really hard to provide great content people will pay for…my book is up on 10 illegal book sites (that I have counted) and there is little I can do. Average developers or people that will only want a high level interest in your book…will NOT pay for the book.

    In summary treat your book NOT likea high school report (where you go to the library and regurgitate knowledge from other people), but treat it like a PhD or Master’s Thesis where its 75% or more ORIGINAL ideas and ORIGINAL content.

  5. Bart Czernicki – Thanks for the input. That’s a good firm kick like I need. I do want to provide something that isn’t out there on the shelves, or prospectively on the shelves already.

  6. I strongly recommend investing at least a chapter for things like: how really scalable solutions should be built, consistency boundaries, why azure queues do not guarantee only-once and in-order processing and how to work with this etc.

    And probably another one for the specifics and problems of Azure as a young cloud computing platform (which it has tons of).

    HTH.

  7. So far, I think you are moving in the right direction. I suggest that you search out what other books are in the pipeline.

    I have to disagree slightly with Bart. If you focus your book on just the advanced developer, you will not sell very many copies. Keep the History, Intro, etc. so that you can lure in the intermediate folks.

    Congratulations on taking this ‘big step’ and welcome to the world of teachers and mentors.

  8. Hi Adron, first congrats! One thought – make sure your spouse/SO and family know what you’re getting into. It can be many months when they don’t see much of you. 😉

    As for content, like everyone else had already said, original content is always the critical success factor. If I were to embark on a similar journey today, I’d focus a lot more on Azure AppFabric as that is a key enabler technology but not much is written about it. Another aspect that I don’t see a lot of coverage on is what really is cloud computing? Most people think it’s similar to outsourced hosting, and development topics don’t get into much details about what cloud development really means. IMO, cloud development represents a different software development paradigm, one that focuses on distributed computing best practices and includes considerations around:
    – asynchronous, parallel processes
    – de-normalized, partitioned data
    – shared nothing architecture
    – optimistic concurrency
    – fault-tolerance by redundancy and replication
    – idempotent operations (handle duplicity)
    – etc.

    In a nutshell, there’s a lot more to cloud development than simply writing software as we have before in on-premises architectures. They also work in Azure, but the true benefit of clodu computing can be realized when we write software using the new paradigm, such as the ability to scale a solution up to hundreds of millions of users but still perform blazingly fast (as that’s not a typical ASP.NET using relational databases type of conversation).

    Best! -David Chou (Microsoft)

Comments are closed.