You are previewing Resilience and Reliability on AWS.

Resilience and Reliability on AWS

Cover of Resilience and Reliability on AWS by Jasper Geurtsen... Published by O'Reilly Media, Inc.
  1. Resilience & Reliability on AWS
  2. Foreword
  3. Preface
    1. Audience
    2. Conventions Used in This Book
    3. Using Code Examples
    4. Safari® Books Online
    5. How to Contact Us
    6. Acknowledgments
  4. 1. Introduction
  5. 2. The Road to Resilience and Reliability
    1. Once Upon a Time, There Was a Mason
    2. Rip. Mix. Burn.
    3. Cradle to Cradle
    4. In Short
  6. 3. Crash Course in AWS
    1. Regions and Availability Zones
      1. Route 53: Domain Name System Service
      2. IAM (Identity and Access Management)
    2. The Basics: EC2, RDS, ElastiCache, S3, CloudFront, SES, and CloudWatch
      1. CloudWatch
      2. EC2 (et al.)
      3. RDS
      4. ElastiCache
      5. S3/CloudFront
      6. SES
    3. Growing Up: ELB, Auto Scaling
      1. ELB (Elastic Load Balancer)
      2. Auto Scaling
    4. Decoupling: SQS, SimpleDB & DynamoDB, SNS, SWF
      1. SQS (Simple Queue Service)
      2. SimpleDB
      3. SNS (Simple Notification Service)
      4. SWF (Simple Workflow Service)
  7. 4. Top 10 Survival Tips
    1. Make a Choice
    2. Embrace Change
    3. Everything Will Break
    4. Know Your Enemy
    5. Know Yourself
    6. Engineer for Today
    7. Question Everything
    8. Don’t Waste
    9. Learn from Others
    10. You Are Not Alone
  8. 5. elasticsearch
    1. Introduction
    2. EC2 Plug-in
    3. Missing Features
    4. Conclusion
  9. 6. Postgres
    1. Pragmatism First
    2. The Challenge
      1. Tablespaces
    3. Building Blocks
      1. Configuration with userdata
      2. IAM Policies (Identity and Access Management)
      3. Postgres Persistence (backup/restore)
      4. Self Reliance
    4. Monitoring
    5. Conclusion
  10. 7. MongoDB
    1. How It Works
      1. Replica Set
      2. Backups
    2. Auto Scaling
    3. Monitoring
    4. Conclusion
  11. 8. Redis
    1. The Problem
    2. Our Approach
    3. Implementation
      1. userdata
      2. Redis
      3. Chaining (Replication)
    4. In Practice
  12. 9. Logstash
    1. Build
    2. Shipper
      1. Output Plug-in
    3. Reader
      1. Input Plug-in
      2. Grok
    4. Kibana
  13. 10. Global (Content) Delivery
    1. CloudFront
      1. (Live) Streaming
      2. CloudFormation
      3. Orchestration
    2. Route 53
      1. Global Database
  14. 11. Conclusion
  15. Copyright
O'Reilly logo

Chapter 6. Postgres

Ok, if we want to play with bricks, the we’re going to have to build some. This section will show how we approach building flexible, default components that can be used again and again. We require predictable performance and reliable operations. We have to be able to rotate, clone, link, cluster, backup, restore—all in minutes.

Postgres is one of components that we work with every day. Postgres is an open source, scalable relational database system. (The name “Postgres” is actually a shortened form of PostgreSQL.) We’ll discuss the tools we use (SimpleDB, Route 53) and show how we run Postgres to provide high availability. All of the source code is available on pgRDS on github.

As long as Amazon RDS does not support Postgres, there will be people struggling to get it running. The official lamenting to be heard online is that EBS sucks. EBS is said to be slow and unreliable in performance, for example.

As described before, EBS is a new storage technology. It is popularly described as something in between RAID and local disk storage. Because it is different, people have had unrealistic expectations of it. They are disappointed if performance fluctuatees, and start to call EBS unreliable. And they call EBS slow if hardware RAID or SSD feels faster.

But, if we focus on the opportunities EBS brings (many small volumes with sophisticated snapshot capabilities) we can solve this problem as well. We’ll show that Postgres can be made to scale really well, combining the strengths ...

The best content for your career. Discover unlimited learning on demand for around $1/day.