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

Caching


Caching is used to temporarily store data that is frequently requested in an in-memory data store with low latency access, reducing round-trip access to the primary application data store(s). This makes retrieving cached data far quicker.

Caching is usually, but not necessarily, transient. This means that periodically, the data expires and needs to be rebuilt, but at a much reduced cost compared to continuously querying for the data from the data stores.

ElastiCache

ElastiCache is a fully managed service that provides Redis and Memcache. With ElastiCache, you can deploy, run, and scale these services. This helps you to build data-intensive apps or to add caching capability to your application using these in-memory data stores.

Using ElastiCache, you can create a managed cluster with all of the properties of a managed service:

resource "aws_elasticache_cluster" "example" {
  cluster_id = "cluster-example"
  engine = "memcached"
  replication_group_id = "${aws_elasticache_replication_group...