The Cloud is new, in whatever guise it chooses to show itself. All the clouds we know today are relatively young. But more importantly, they introduce a new paradigm.
The cloud we talk about in this book is Amazon Web Services (or AWS). AWS is infrastructure as a service (IaaS), but it does not respect these cloud qualifications very much. You can find different AWS services in other types of cloud like PaaS (platform as a service) or even SaaS (software as a service).
In our Programming Amazon EC2 book, we introduced Amazon AWS. We tried to help people get from one side of the chasm to the other. From the traditional viewpoint of administration, this is nearly impossible to do. From the perspective of the developer, it is just as problematic, but reintroducing the discipline of software engineering makes it easier.
Programming Amazon EC2 covers AWS in its full breadth. If you want to know how to design your app, build your infrastructure, and run your AWS-based operations, that book will certainly get you up to speed. What it doesn’t do, however, is explicitly deal with Resilience and Reliability.
That is what this book aims to do. For us, Resilience means the ability to recover. And Reliable means that the recovery is not luck but rather something you can really trust.
First, we will explain how we look at infrastructures and infrastructural components. It is remarkably similar to building in the physical world. Perhaps the main difference is flexibility, but that might be just as much a curse as a blessing. It will require you to take a holistic view of your application and its use of resources.
We will also do an overview of AWS, but beware that this is extremely concise. However, if you are pressed for time, it will familiarize you with the basic concepts. If you need more in-depth knowledge of AWS, there are other books…
A “top 10” of something is always very popular. Memorize them and you can hold your own in any conversation. Our Top 10 Survival Tips are our best practices. You can overlay them on your current (cloud) infrastructure, and see where the holes are.
The rest of the book is devoted to examples and stories of how we approach and engineer our solutions using:
These examples are meant to illustrate certain concepts. But, most importantly, we hope they inspire you to build your own solutions.