HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.
This is the Rough Cut version of the printed book.
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.
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 &nb