Cloud Architecture Patterns book has been released!!
[07-Jan-2013] Update: Added mention of iTunes/iBook version and Amazon UK.
[28-Dec-2012] Update: Added link to free Sample Chapter.
[21-Dec-2012] Update: Added links to the online reviews I was able to find – these are listed under the heading Book Reviews found on the Web.
I am thrilled that my Cloud Architecture Patterns book is available for immediate order from online booksellers such as these:
- Amazon USA (paper) or Amazon (USA) Kindle store (ebook)
- Amazon (UK) (paper) or Amazon (UK) Kindle store (ebook)
- O’Reilly (USA) (paper or ebook)
- Barnes & Noble (USA) (paper) and Nook (USA) (ebook)
- Apple iTunes (Books) (“This book is available for download on your iPhone, iPad, or iPod touch with iBooks and on your computer with iTunes. Books must be read on an iOS device.”)
- You can also access it through Safari Books Online (this is also where you can access Chapter 4: Auto-Scaling Pattern for FREE)
This is a 182-page book written for technologists interested in architecture and/or the cloud. There are 15 content chapters (4 primers and 11 patterns) and an appendix.
Basically, the book describes a series of important architecture patterns for building modern cloud applications, including the problems they solve and how they work. Each of the patterns has its own chapter. For each pattern, there is additional discussion of how one would realize that pattern using Windows Azure cloud platform services. A common sample application used throughout the book – the Page of Photos (or PoP for short) application. I will publish the source code to PoP (gradually – still working on it) since it is a great sample application that is simple to understand but can benefit from all of the book’s patterns. The book covers a total of eleven patterns, plus four primer chapters which clarify background concepts and terminology useful for understanding the patterns that follow. Note that the patterns are architectural – so you will learn when to use and and which cloud platform services will help you (and what you application needs to do) – but few code-level details are provided, as the focus of the book is architectural.
Book Reviews found on the Web
I am extremely grateful to those who have taken the time to review my book! These are reviews I found on the web and have listed them in the order they were published. A link back to the source and a 2-3 sentence excerpt are provided.
- First public review I saw on Internet by Eric on DiscoPosse Blog (@discoposse) – first two sentences:
“This book is a great read for any Systems Developer, Systems Admin and technology lover alike. Bill Wilder has presented a great level of detail which could be regarded as 101 to 301 all in the same guide.” 17-Oct-2012
- Review by DaTopDog (@datopdog) – final three sentences:
“The patterns are explained and real world scenarios presented. Great theoretical presentation of the concepts and ideas. I totally recommend this to anyone involved in Information technology.” 07-Nov-2012
- Review by M Sheik Uduman Ali from Aditi (@udooz)- first two sentences:
“Bill Wilder who is a MVP in Windows Azure has taken nice initiative in the cloud computing space with cloud architecture patterns. Good collections.” 14-Nov-2012
- First review on Amazon.com (5/5 stars) – first two sentences:
“This book is a wonderful explanation of the fundamental principles that should drive architectures for Cloud-Native solutions. I enjoyed its structure and that patterns are presented in a platform agnostic way focused on pure architectural concerns.” 14-Nov-2012
(This short description text is similar to the text appearing on bookstore web sites.)
The patterns are organized into four major topics, such as scalability and handling failure, and primer chapters provide background on each topic. With the information in this book, you’ll be able to make informed decisions for designing effective cloud-native applications, where cloud-native applications maximize the value of cloud services while also paying attention to user experience and operational efficiency.
Learn about architectural patterns for:
- Scalability. Understand the advantages of horizontal scaling. After a primer on Scalability, the Horizontally Scaling Compute, Queue-Centric Workflow, and Auto-Scaling patterns are covered.
- Big data. Learn how to handle large amounts of data across a distributed system. Eventual consistency is explained, along with the MapReduce and Database Sharding patterns. Both patterns deal with horizontally scalable solutions for dealing with large amounts of data.
- Handling failure. Understand how multitenant cloud services and commodity hardware influence your applications. Following a primer on Multitenancy and Commodity Hardware, the Busy Signal and Node Failure patterns are covered.
- Distributed users. Learn how to overcome delays due to network latency when building applications for a geographically distributed user base. Following a primer on Network Latency, the Colocate, Valet Key, CDN, and Multisite Deployment patterns are covered.
(This chapter contents text is excerpted from the Preface in the book, except for the note about Chapter 4 being available for free viewing.)
- Scalability Primer – This primer explains scalability with an emphasis on the key differences between vertical and horizontal scaling.
- Horizontally Scaling Compute Pattern – This fundamental pattern focuses on horizontally scaling compute nodes.
- Queue-Centric Workflow Pattern – This essential pattern for loose coupling focuses on asynchronous delivery of command requests sent from the user interface to a processing service. This pattern is a subset of the CQRS pattern.
- Auto-Scaling Pattern – This essential pattern for automating operations makes horizontal scaling more practical and cost-efficient. This chapter can also be viewed for free.
- Eventual Consistency Primer – This primer introduces eventual consistency and explains some ways to use it.
- MapReduce Pattern – This pattern focuses on applying the MapReduce data processing pattern. Hadoop on Azure is used in the example.
- Database Sharding Pattern – This advanced pattern focuses on horizontally scaling data through sharding, a technique for horizontally scaling data.
- Multitenancy and Commodity Hardware Primer – This primer introduces multitenancy and commodity hardware and explains why they are used by cloud platforms.
- Busy Signal Pattern – This pattern focuses on how an application should respond when a cloud service responds to a programmatic request with a busy signal rather than success.
- Node Failure Pattern – This pattern focuses on how an application should respond when the compute node on which it is running shuts down or fails.
- Network Latency Primer – This basic primer explains network latency and why delays due to network latency matter.
- Colocate Pattern – This basic pattern focuses on avoiding unnecessary network latency.
- Valet Key Pattern – This pattern focuses on efficiently using cloud storage services with untrusted clients.
- CDN Pattern – This pattern focuses on reducing network latency for commonly accessed files through globally distributed edge caching.
- Multisite Deployment Pattern – This advanced pattern focuses on deploying a single application to more than one data center.
- Appendix A – The appendix contains a list of references for readers interested in additional material related to the primers and patterns presented in the book.
A sample chapter is available on Safari Books Online without an account. This is chapter Chapter 4: Auto-Scaling Pattern.
Comments and Feedback from You?
Feel free to share comments directly on this page, find me on twitter (@codingoutloud), or email me (codingoutloud is also my gmail.com handle). Also, since the book was published by O’Reilly and they’ve set up a page for the book with sections for errata.