Book Image

Implementing Cloud Design Patterns for AWS - Second Edition

By : Sean Keery, Clive Harber, Marcus Young
Book Image

Implementing Cloud Design Patterns for AWS - Second Edition

By: Sean Keery, Clive Harber, Marcus Young

Overview of this book

Whether you're just getting your feet wet in cloud infrastructure or already creating complex systems, this book will guide you through using the patterns to fit your system needs. Starting with patterns that cover basic processes such as source control and infrastructure-as-code, the book goes on to introduce cloud security practices. You'll then cover patterns of availability and scalability and get acquainted with the ephemeral nature of cloud environments. You'll also explore advanced DevOps patterns in operations and maintenance, before focusing on virtualization patterns such as containerization and serverless computing. In the final leg of your journey, this book will delve into data persistence and visualization patterns. You'll get to grips with architectures for processing static and dynamic data, as well as practices for managing streaming data. By the end of this book, you will be able to design applications that are tolerant of underlying hardware failures, resilient against an unexpected influx of data, and easy to manage and replicate.
Table of Contents (20 chapters)
Title Page
Dedication
About Packt
Contributors
Preface
Free Chapter
1
Introduction to Amazon Web Services
Index

Chapter 13. Anti-Patterns - Bypassing Inferior Options

Most data anti-patterns are schema design-and application-focused and so are out of the scope of this book. By identifying bottlenecks in data persistence, retrieval, and storage, we find anti-patterns that can be addressed programmatically. We encourage you to review processes within your organization to break out of consequences related to Conway's law (as a quick reminder: systems mirror the communication structures of the organization that designed them).

It is imperative that you try to remain flexible in your solutions—try to use the right tool for the job. In some cases, it's not all that clear cut which tool is the right one as there may be several options; this is where experimentation comes in.

The design of the system should maximize the portability of your data. One way is by adhering to established standards and reducing the amount of vendor lock-in that you have in your system. This will ensure that new technologies can be...