Building Applications in the Cloud: Concepts, Patterns, and Projects [NOOK Book]

Overview

Following the familiar “Design Patterns” format, expert cloud developer Chris Moyer introduces proven patterns for cloud platforms from Amazon, Google, and other providers. Moyer demonstrates these patterns at work through extensive example code and case study applications for Amazon Web Services (AWS). As you increasingly move to the cloud, you’ll constantly encounter the challenges this book solves. You’ll rely on it for years–whenever you need a cloud solution you can trust.

...
See more details below
Building Applications in the Cloud: Concepts, Patterns, and Projects

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac

Want a NOOK? Explore Now

NOOK Book (eBook)
$27.99
BN.com price
(Save 12%)$31.99 List Price

Overview

Following the familiar “Design Patterns” format, expert cloud developer Chris Moyer introduces proven patterns for cloud platforms from Amazon, Google, and other providers. Moyer demonstrates these patterns at work through extensive example code and case study applications for Amazon Web Services (AWS). As you increasingly move to the cloud, you’ll constantly encounter the challenges this book solves. You’ll rely on it for years–whenever you need a cloud solution you can trust.

Read More Show Less

Product Details

  • ISBN-13: 9780132107945
  • Publisher: Pearson Education
  • Publication date: 5/2/2011
  • Sold by: Barnes & Noble
  • Format: eBook
  • Edition number: 1
  • Pages: 400
  • File size: 2 MB

Meet the Author

Chris Moyer is a recent graduate of RIT, the Rochester Institute of Technology, with a bachelor’s degree in Software Engineering. Chris has more than five years experience in programming with a main emphasis on cloud computing. Much of his time has been spent working on the popular boto client library, used for communicating with Amazon Web Services. Having studied under the creator of boto, Mitch Garnaat, Chris then went on to create two web frameworks based on this client library, known as Marajo and botoweb. He has also created large scaled applications based on those frameworks.

 

Chris is currently Vice President of Technology for Newstex, LLC, where he manages the technological development of migrating applications to the cloud, and he also manages his own department, which is actively maintaining and developing several applications. Chris lives with his wife, Lynn, in the New York area.

 

Read More Show Less

Table of Contents

Preface     xv

About the Author     xx

 

Introduction     1

What Is Cloud Computing?     1

The Evolution of Cloud Computing     2

   The Main Frame     3

   The PC Revolution     4

   The Fast Internet     5

   The Cloud     6

   HTML5 and Local Storage     7

   The Dawn of Mobile Devices     9

Threading, Parallel Processing, and Parallel Computing     10

How Does Cloud-Based Development Differ from Other Application Development?     11

What to Avoid     13

Getting Started in the Cloud     14

Selecting a Cloud Pattern     16

Implementing a Cloud Pattern     17

 

PART I:  CONCEPTS

 

Chapter 1  Fundamentals of Cloud Services     21

Origins of Cloud Computing     21

What Is a Cloud Service?     23

   Compute     24

   Storage     24

   Connectivity     24

The Legacy Pattern     25

Just Because It’s in the Cloud Doesn’t Mean It Scales     26

Failure as a Feature     27

Consistency, Availability, and Partition Tolerance     28

   Consistency     29

   Availability     30

   Partition Tolerance     30

Eventual Consistency     31

Summary     32

 

Chapter 2  Making Software a Service     33

Tools Used in This Book     34

   Signing Up for Amazon Web Services     34

   Installing boto     35

   Setting Up the Environment     36

   Testing It All     38

What Does Your Application Need?     39

Data Layer     40

   Introducing the AWS Databases     41

Application Layer     47

   Using Elastic Load Balancing     47

   Adding Servers to the Load Balancer     49

   Automatically Registering an Instance with a Load Balancer     51

HTTP and REST     53

   The Header     53

   The Body     57

   Methods     58

Authorization Layer     62

Client Layer     64

   Browser-Based Clients     65

   Native Applications     66

Summary     67

 

Chapter 3  Cloud Service Providers     69

Amazon Web Services     69

   Simple Storage Service (S3)     71

   CloudFront     77

   Simple Queue Service (SQS)     80

   Elastic Compute Cloud (EC2)     83

   Elastic Block Storage (EBS)     88

   Elastic Load Balancing (ELB)     91

   SimpleDB     93

   Relational Database Service (RDS)     95

   Simple Notification Service (SNS)     102

   Virtual Private Cloud (VPC)     106

Google Cloud     108

   AppEngine     108

   Google Storage     111

Rackspace Cloud     112

   CloudFiles     112

   CloudServers     113

   CloudSites     113

Summary     114

 

PART II:  PATTERNS

 

Chapter 4  Designing an Image     117

Prepackaged Images     119

   Overview     119

   Reasons for Usage     119

   Description     120

   Implementation     120

   Example     122

   Summary     125

Singleton Instances     127

   Overview     127

   Reasons for Usage     127

   Description     128

   Implementation     128

   Example     128

   Summary     130

Prototype Images     131

   Overview     131

   Reasons for Usage     131

   Description     132

   Implementation     132

   Example     133

   Summary     135

 

Chapter 5  Designing an Architecture     137

Adapters     139

   Overview     139

   Reasons for Usage     140

   Description     140

   Implementation     140

   Example     141

   Summary     146

Facades     147

   Overview     147

   Reasons for Usage     148

   Description     148

   Implementation     148

   Example     149

   Summary     152

Proxies and Balancers     153

   Overview     153

   Reasons for Usage     153

   Description     154

   Implementation     154

   Example     155

   Summary     158

 

Chapter 6  Executing Actions on Data     159

Queuing     161

   Overview     161

   Reasons for Usage     162

   Description     162

   Implementation     163

   Example     163

   Summary     170

Command      173

   Overview     173

   Reasons for Usage     173

   Description     174

   Implementation     174

   Example     175

   Summary     179

Iterator     181

   Overview     181

   Reasons for Usage     181

   Description      182

   Implementation     182

   Example     183

   Summary     185

Observer      187

   Overview    187

   Reasons for Usage      188

   Description     188

   Implementation     188

   Example     189

   Summary     191

 

Chapter 7  Clustering     193

The n-Tier Web Pattern     195

   Overview     195

   Reasons for Usage     196

   Description     196

    Implementation     197

   Example     198

   Summary     210

Semaphores and Locking     211

   Overview     211

   Reasons for Usage     211

   Description     212

   Implementation     212

   Example     213

   Summary     218

Map/Reduce     219

   Overview     219

   Reasons for Usage      220

   Description     220

   Implementation     220

   Example     222

   Summary     226

 

PART III: PROJECTS

 

Chapter 8  A Simple Weblog     229

Storage     229

   Creating a Domain     231

   The User Object     232

   The Post Object     234

   The Comment Object     237

Application     240

   A Brief Introduction to WSGI     241

   The DB Handler     243

   The User, Post, and Comment Handlers     248

   Spam Classification     249

Presentation     253

   Setting Up the HTTP Proxy     254

   Posts     255

   Comments     266

Deploying     272

   Starting the Base Instance     272

   Installing the Software     273

   Installing the Application     275

   Installing Apache      276

   Bundling the Image      277

   Creating the Proxy     279

Summary     279

 

Chapter 9  A Weblog Using Marajo     281

Initializing the Environment     282

   handlers     283

   resources     283

   static     283

   templates     283

Creating the Resources     284

Creating the Handlers     286

Configuring the Application      287

Creating the Templates      288

Running the Application     289

Creating Custom Templates     289

   The List Template     289

   The Edit Template     292

Summary     296

 

Glossary     297

Index     307

 

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)