PrintNumber ErrorLocation Error Correction DateAdded

cover Cover correction: My title at Newstex has changed to "Vice President of Technology", which is correctly reflected in my bio within the book, but not on the back cover.

4/25/2011
1 piv First printing April 2011 TBD 5/16/2011
1 pxv It’s not a guide for how to build an application for the cloud, but instead it’s designed as a reference point for when you have specific questions. It’s not just a guide for how to build an application for the cloud, but also a reference point for when you have specific questions. 5/16/2011
1 pxvi If you’ve never developed any sort of cloud-based application, you may want to go over the example applications in Part III, “Projects,” so that you can see exactly what kinds of applications are best suited for this type of system. If you’ve never developed any sort of cloud-based application, you will want to go over the example applications in Part III, “Projects,” so that you can see exactly what kinds of applications are best suited for this type of system. 5/16/2011
1 pxvi This is an absolute must read for any developer beginning with this book. This is an absolute must read for anyone interested in cloud technologies. 5/16/2011
1 pxvi Chapter 3, “Cloud Service Providers”—Provides some specific examples of services offered by cloud providers.
Chapter 3, “Cloud Service Providers”—Provides some specific examples of services offered by different cloud providers.
5/16/2011
1 p13 You can achieve this by using the proper patterns and design techniques outlined in Part III, “Projects.” You can achieve this by using the proper patterns and design techniques outlined in Part II, “Patterns.” 5/16/2011
1 p25-26 Your typical applications were probably designed for fast machines with a lot of hardware; however, these systems are now run using simple systems that can run on multiple systems simultaneously. Your typical applications were probably designed for fast machines with a lot of hardware; however, these systems can run on multiple machines and typically run multiple simple processes simultaneously. 5/16/2011
1 p29 ...proposed that there are three things that any service can provide two of, but no system can provide all three. ...proposed that there are three quality attributes that any service can provide two of, but no system can provide all three. 5/16/2011
1 p32 Don’t expect to spend only a few weeks and walk out with a fully functioning cloud deployment. Don’t expect to spend only a few hours and walk out with a fully functioning cloud deployment. 5/16/2011
1 p39 After you have the basic requirements for your application and decide what you need to implement, you can then begin to describe what you need to implement this application. After you have the basic requirements for your application and decide what you need to create, you can then begin to describe what tools you need to implement this application. 5/16/2011
1 p40 They also don’t have to invest in any local hardware and can access their information and services from any Internet access. They also don’t have to invest in any local hardware and can access their information and services from any device with Internet access. 5/16/2011
1 p44 SDB sorts and operates by lexicographical comparison and handles only string values, so it doesn’t understand that [nd]2 is less than [nd]1. SDB sorts and operates by lexicographical comparison and handles only string values, so it doesn’t understand that –2 is less than –1. 5/17/2011
1 p55 The If-Modified-Since header takes an HTTP-date, which must be in GMT, and should return a 304 (Not Modified) response with no content. The If-Modified-Since header takes an HTTP-date, which must be in GMT, and should return a 304 (Not Modified) response with no content, if the content requested has not been modified since the date provided. 5/17/2011
1 p59 In general, most proxy systems will time out any connection after a few minutes, so if your result takes longer than a minute, it’s time to implement paging. Additionally, most proxy systems will time out any connection after a few minutes, so if your result takes longer than a minute, it’s time to implement paging. 5/17/2011
1 p65-67 If you use a JavaScript-based client layer, it’s strongly recommended that you use something such as jQuery to handle all your cross-browser issues.

If you use a JavaScript-based client layer, it’s strongly recommended that you use a cross-browser library such as jQuery to handle any browser compatability issues.

Correction caused rewrap.
5/17/2011
1 p72 S3 is also the only AWS cloud service that comes with a service level agreement (SLA). S3 is also the first AWS cloud service that came with a service level agreement (SLA). 5/17/2011
1 p74 This is the only way to be absolutely ensure you’re not going to get a conflict error because there’s almost no reason anyone else would create a bucket using your access key id as a prefix. This is the only way to be absolutely sure you’re not going to get a conflict error because there’s almost no reason anyone else would create a bucket using your access key id as a prefix. 5/17/2011
1 p85 Because this is your development group, just SSH to everyone:
Because this is your development group, just open SSH to everyone:
5/17/2011
1 p93 Originally, SimpleDB only had a high-partitioning mode but has recently been updated to support a consistent mode for systems that require immediate reactions instead of perfect availability. Originally, SimpleDB only had a high-availability mode but has recently been updated to support a consistent mode for systems that require immediate reactions instead of perfect availability. 5/17/2011
1 p110 It’s simple to develop applications for Google AppEngine,
whereas developing an application for either Amazon Web Services or any other cloud provider stake a skilled developer who is familiar with the system to provide a scalable system.
It’s simple to develop applications for Google AppEngine,
whereas developing an application for either Amazon Web Services or any other cloud provider takes a skilled developer who is familiar with the system to provide a scalable system.
5/17/2011
1 p121 Only recently has Amazon begun releasing its own images, but you can still use one of these trusted sources if you want. Only recently has Amazon begun releasing its own images, but you can still use one of these other trusted sources if you want. 5/17/2011
1 p142 Next, download python-twitter. You could grab this from http://code.google.com/p/python-twitter/ and then add in oauth from http://code.google.com/p/oauth-python-twitter, but you already did that and some other minor patching, so just copy it from http://bitbucket.org/cmoyer/python-twitter/. Next, download python-twitter. You could grab this from http://code.google.com/p/python-twitter/ and then add in oauth from http://code.google.com/p/oauth-python-twitter, but I’ve already done that and some other minor patching, so just copy it from http://bitbucket.org/cmoyer/python-twitter/. 5/17/2011
1 p149 Requests came into the central mapper (or Facade) and then modified them to the language that specific module required before sending it down to that module. Requests came into the central mapper (or Facade) which modified them to the language of that specific module required before sending it down to that module. 5/17/2011
1 p153 Before starting to use proxy balancers, man developers instead split users apart manually onto different servers, directing users to contact different servers directly instead of seamlessly transitioning them to the most available server. Before starting to use proxy balancers, many developers instead split users apart manually onto different servers, directing users to contact different servers directly instead of seamlessly transitioning them to the most available server. 5/17/2011
1 p155 Because the Amazon tools are well documented, you can focus on how to use the elbadmin utility.
Most important, elbadmin provides its own help if you don’t provide any arguments when calling it.
Because the Amazon tools are well documented, I will focus on how to use the elbadmin utility.
Most importantly, elbadmin provides its own help if you don’t provide any arguments when calling it.
5/17/2011
1 p157 Now if you press your DNS name, you may expect to be directed to your server but still have one more step. Now if you query your DNS name, you may expect to be directed to your server but there is still have one more step. 5/17/2011
1 p174 Most queues don’t enable more than 1MB to be in any single message, so the bulk of the command object must be serialized elsewhere. Most programming languages offer the capability to package all the related code for a given command, which can then be imported into the remote worker. Most queues don’t enable more than a few megabytes of data in any single message, so the bulk of the command object must be serialized elsewhere. Many programming languages offer the capability to package all the related code for a given command, which can then be imported into the remote worker. 5/17/2011
1 p187 Unlike the queue pattern, observers must modify the original event, or prevent other systems from reading the event. Unlike the queue pattern, observers must not modify the original event, or prevent other systems from reading the event. 5/17/2011
1 p201 The index.xsl filter provided by boto follows: The index.xsl filter provided by botoweb follows: 5/17/2011
1 p232 Next, add in a special function to serialize this object into XML. Although you can use any serialization method to transmit your object data directly to your client, XML enables you to use XSLT filters as middleware to add in authentication outside of your application layer. Next, add in a special function to serialize this object into XML. Although you can use any serialization method to transmit your object data directly to your client, XML enables you to use XSLT filters as middleware to add in authorization outside of your application layer. 5/17/2011
1 p244 In this section, you can implemented the GET HTTP method, which is actually forwarded to the _get function in your handler. In this section, you implemented the GET HTTP method, which is actually forwarded to the _get function in your handler. 5/17/2011
1 p247 response.write(self.fmt_err(404, "Object Not Found")
) return response
response.write(self.fmt_err(404, "Object Not Found")) return response
5/17/2011
1 p266 button onClick="return editPost(this);">Edit</button> <button onClick="return editPost(this);">Edit</button> 5/17/2011
1 p272 To make things simple, build a single-use image. To make things simple, build a prepackaged image. 5/17/2011
1 p304 Ruby Rails (Ruby oin Rails):

Its tempting engine enables you to quickly and concisely create simple CRUD interfaces with little-to-no effort.
Its templating engine enables you to quickly and concisely create simple CRUD interfaces with little-to-no effort. 5/17/2011