You are previewing Implementing Cloud Design Patterns for AWS.
O'Reilly logo
Implementing Cloud Design Patterns for AWS

Book Description

Create highly efficient design patterns for scalability, redundancy, and high availability in the AWS Cloud

In Detail

Whether you are just getting your feet wet in cloud infrastructure or already creating complex systems, this book aims at describing patterns that can be used to fit your system needs.

The initial patterns will cover some basic processes such as maintaining and storing backups as well as handling redundancy. The book will then take you through patterns of high availability. Following this, the book will discuss patterns for processing static and dynamic data and patterns for uploading data. The book will then dive into patterns for databases and data processing. In the final leg of your journey, you will get to grips with advanced patterns on Operations and Networking and also get acquainted with Throw-away Environments.

What You Will Learn

  • Create and maintain server backups

  • Implement scaling policies on schedules, influxes in traffic, and deep health checks

  • Provision servers and data that persist through termination

  • Make complete use of high availability storage and redundancy storage

  • Design content delivery networks to improve user experience

  • Optimize databases through caching and sharding

  • Monitor and queue data for processing

  • Downloading the example code for this book. You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

    Table of Contents

    1. Implementing Cloud Design Patterns for AWS
      1. Table of Contents
      2. Implementing Cloud Design Patterns for AWS
      3. Credits
      4. About the Author
      5. About the Reviewers
      6. www.PacktPub.com
        1. Support files, eBooks, discount offers, and more
          1. Why subscribe?
          2. Free access for Packt account holders
      7. Preface
        1. What this book covers
        2. What you need for this book
        3. Who this book is for
        4. Conventions
        5. Reader feedback
        6. Customer support
          1. Downloading the example code
          2. Errata
          3. Piracy
          4. Questions
      8. 1. Introduction
        1. Introduction to AWS
        2. Cloud computing service models
          1. Infrastructure as a Service
          2. Platform as a Service
          3. Software as a Service
        3. Benefits of moving to the Cloud
        4. Common problems encountered at AWS
          1. Underlying hardware failures
          2. Over-provisioning
          3. Under-provisioning
          4. Replication
          5. Redundancy
          6. Improving the end user experience
          7. Monitoring and log-gathering
        5. Summary
      9. 2. Basic Patterns
        1. Introducing Vagrant
        2. Snapshot pattern
        3. Stamp pattern
        4. Scale up pattern
        5. Scale out pattern
        6. On-demand disk pattern
          1. Volume resize
          2. Change volume from magnetic to SSD
          3. Increase I/O through software RAID
        7. Summary
      10. 3. Patterns for High Availability
        1. Multi-server pattern
        2. Multi-data center pattern
        3. Floating IP pattern
        4. Deep health check pattern
        5. Summary
      11. 4. Patterns for Processing Static Data
        1. High availability storage
        2. Direct storage hosting
        3. Private data delivery
        4. Content delivery networks
        5. Rename distribution pattern
        6. Summary
      12. 5. Patterns for Processing Dynamic Data
        1. Clone server pattern
        2. NFS sharing pattern
        3. State sharing pattern
        4. URL rewriting pattern
        5. Cache proxy pattern
        6. Summary
      13. 6. Patterns for Uploading Data
        1. Write proxy pattern
        2. Storage index pattern
        3. Direct object upload pattern
        4. Summary
      14. 7. Patterns for Databases
        1. Database replication pattern
        2. Read replica pattern
        3. In-memory cache pattern
        4. Sharding write pattern
        5. Summary
      15. 8. Patterns for Data Processing
        1. Queuing chain pattern
        2. Priority queue pattern
        3. Job observer pattern
        4. Summary
      16. 9. Patterns for Operation and Maintenance
        1. Bootstrap pattern
        2. Cloud dependency injection pattern
        3. Stack deployment pattern
        4. Monitoring integration pattern
        5. Web storage archive pattern
        6. Weighted transition pattern
        7. Hybrid backup pattern
        8. Summary
      17. 10. Patterns for Networking
        1. OnDemand NAT pattern
        2. Management network pattern
        3. Functional firewall pattern
        4. Operational firewall pattern
        5. Web application firewall pattern
        6. Multiple load balancer pattern
        7. Summary
      18. 11. Throw-away Environments
        1. Infrastructure as code
          1. CloudFormation
          2. Packer
          3. Fugue
        2. Temporary development environments
        3. Continuous integration
        4. Summary
      19. Index