Cloud Application Architectures

Book description

If you're involved in planning IT infrastructure as a network or system architect, system administrator, or developer, this book will help you adapt your skills to work with these highly scalable, highly redundant infrastructure services.

While analysts hotly debate the advantages and risks of cloud computing, IT staff and programmers are left to determine whether and how to put their applications into these virtualized services. Cloud Application Architectures provides answers -- and critical guidance -- on issues of cost, availability, performance, scaling, privacy, and security.

With Cloud Application Architectures, you will:

  • Understand the differences between traditional deployment and cloud computing
  • Determine whether moving existing applications to the cloud makes technical and business sense
  • Analyze and compare the long-term costs of cloud services, traditional hosting, and owning dedicated servers
  • Learn how to build a transactional web application for the cloud or migrate one to it
  • Understand how the cloud helps you better prepare for disaster recovery
  • Change your perspective on application scaling

To provide realistic examples of the book's principles in action, the author delves into some of the choices and operations available on Amazon Web Services, and includes high-level summaries of several of the other services available on the market today.

Cloud Application Architectures provides best practices that apply to every available cloud service. Learn how to make the transition to the cloud and prepare your web applications to succeed.

Publisher resources

View/Submit Errata

Table of contents

  1. Preface
    1. Audience for This Book
    2. Organization of the Material
    3. Conventions Used in This Book
    4. Using Code Examples
    5. Safari® Books Online
    6. We’d Like Your Feedback!
    7. Acknowledgments
  2. 1. Cloud Computing
    1. The Cloud
      1. Software
      2. Hardware
        1. The advantages of a cloud infrastructure
        2. Hardware virtualization
        3. Cloud storage
    2. Cloud Application Architectures
      1. Grid Computing
      2. Transactional Computing
    3. The Value of Cloud Computing
      1. Options for an IT Infrastructure
      2. The Economics
        1. Capital costs
        2. Cost comparison
        3. The bottom line
    4. Cloud Infrastructure Models
      1. Platform As a Service Vendor
      2. Infrastructure As a Service
      3. Private Clouds
      4. All of the Above
    5. An Overview of Amazon Web Services
      1. Amazon Elastic Cloud Compute (EC2)
      2. Amazon Simple Storage Service (S3)
      3. Amazon Simple Queue Service (SQS)
      4. Amazon CloudFront
      5. Amazon SimpleDB
  3. 2. Amazon Cloud Computing
    1. Amazon S3
      1. Access to S3
        1. Web Services
        2. BitTorrent
      2. S3 in Action
    2. Amazon EC2
      1. EC2 Concepts
      2. EC2 Access
      3. Instance Setup
      4. Access to an Instance
      5. Security Groups
      6. Availability Zones
      7. Static IP Addresses
      8. Data Storage in EC2
        1. EBS volume setup
        2. Volume management
        3. Snapshots
      9. AMI Management
  4. 3. Before the Move into the Cloud
    1. Know Your Software Licenses
    2. The Shift to a Cloud Cost Model
      1. How to Approach Cost Comparisons
      2. A Sample Cloud ROI Analysis
      3. Where the Cloud Saves Money
    3. Service Levels for Cloud Applications
      1. Availability
        1. How to estimate the availability of your system
        2. What constitutes availability?
        3. Cloud service availability
        4. Amazon Web Services service levels
        5. Expected availability in the cloud
        6. Reliability
      2. Performance
        1. Clustering versus independent nodes
        2. EC2 performance constraints
    4. Security
      1. Legal, Regulatory, and Standards Implications
      2. There Is No Perimeter in the Cloud
      3. The Risk Profile for S3 and Other Cloud Storage Solutions Is Unproven
    5. Disaster Recovery
  5. 4. Ready for the Cloud
    1. Web Application Design
      1. System State and Protecting Transactions
        1. The problem with memory locks
        2. Transactional integrity through stored procedures
        3. Two alternatives to stored procedures
      2. When Servers Fail
    2. Machine Image Design
      1. Amazon Machine Image Data Security
      2. What Belongs in a Machine Image?
      3. A Sample MySQL Machine Image
      4. Amazon AMI Philosophies
    3. Privacy Design
      1. Privacy in the Cloud
        1. Managing the credit card encryption
        2. Processing a credit card transaction
        3. If the e-commerce application is compromised
        4. If the credit card processor is compromised
      2. When the Amazon Cloud Fails to Meet Your Needs
    4. Database Management
      1. Clustering or Replication?
        1. Using database clustering in the cloud
        2. Using database replication in the cloud
        3. Replication for performance
      2. Primary Key Management
        1. How to generate globally unique primary keys
        2. Support for globally unique random keys
      3. Database Backups
        1. Types of database backups
        2. Applying a backup strategy for the cloud
  6. 5. Security
    1. Data Security
      1. Data Control
        1. When the cloud provider goes down
        2. When a subpoena compels your cloud provider to turn over your data
        3. When your cloud provider fails to adequately protect their network
      2. Encrypt Everything
        1. Encrypt your network traffic
        2. Encrypt your backups
        3. Encrypt your filesystems
      3. Regulatory and Standards Compliance
    2. Network Security
      1. Firewall Rules
      2. Network Intrusion Detection
        1. The purpose of a network intrusion detection system
        2. Implementing network intrusion detection in the cloud
    3. Host Security
      1. System Hardening
      2. Antivirus Protection
      3. Host Intrusion Detection
      4. Data Segmentation
      5. Credential Management
    4. Compromise Response
  7. 6. Disaster Recovery
    1. Disaster Recovery Planning
      1. The Recovery Point Objective
      2. The Recovery Time Objective
    2. Disasters in the Cloud
      1. Backup Management
        1. Fixed data strategy
        2. Configuration data strategy
        3. Persistent data strategy (aka database backups)
        4. Backup security
      2. Geographic Redundancy
        1. Spanning availability zones
        2. Operating across regions
      3. Organizational Redundancy
    3. Disaster Management
      1. Monitoring
      2. Load Balancer Recovery
      3. Application Server Recovery
      4. Database Recovery
  8. 7. Scaling a Cloud Infrastructure
    1. Capacity Planning
      1. Expected Demand
        1. Determining your expected demand
        2. Analyzing the unexpected
      2. The Impact of Load
        1. Application architecture and database architecture revisited
        2. Points of scale
      3. The Value of Your Capacity
        1. A simple thought experiment
        2. How might the outcome have been different?
    2. Cloud Scale
      1. Tools and Monitoring Systems
        1. The procurement process in the cloud
        2. Managing proactive scaling
        3. Managing reactive scaling
        4. A recommended approach
      2. Scaling Vertically
  9. A. Amazon Web Services Reference
    1. Amazon EC2 Command-Line Reference
    2. Amazon EC2 Tips
      1. Filesystem Encryption
      2. Setting Up RAID for Multiple EBS Volumes
  10. B. GoGrid
    1. Types of Clouds
    2. Cloudcenters in Detail
      1. Data Centers in the Clouds
      2. GoGrid Versus Traditional Data Centers
        1. Horizontal and vertical scaling
        2. GoGrid deployment architectures
      3. Focus on Web Applications
    3. Comparing Approaches
      1. Side-by-Side Comparison
      2. Real-Life Usage
    4. What’s Right for You?
  11. C. Rackspace
    1. Rackspace’s Cloud Services
      1. Cloud Servers
      2. Cloud Files
      3. Cloud Sites
    2. Fully Integrated, Backed by Fanatical Support
  12. Index
  13. About the Author
  14. Colophon
  15. Copyright

Product information

  • Title: Cloud Application Architectures
  • Author(s): George Reese
  • Release date: April 2009
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9780596156367