You are previewing eCommerce in the Cloud.
O'Reilly logo
eCommerce in the Cloud

Book Description

Is your eCommerce solution ready for the cloud? This practical guide shows experienced and aspiring web architects alike how to adopt cloud computing incrementally, using public Infrastructure-as-a-Service and Platform-as-a-Service. You will learn how to marshal as much capacity as you need to handle peak holiday or special-event traffic.

Table of Contents

  1. Preface
    1. Intended Audience
    2. Contents of This Book
    3. Conventions Used in This Book
    4. Safari® Books Online
    5. How to Contact Us
    6. Acknowledgments
  2. Introduction
    1. eCommerce Deployment Architecture: Frozen in Time
    2. What Is Cloud?
    3. Why Is Cloud a Fit for eCommerce?
  3. I. The Changing eCommerce Landscape
    1. 1. The Global Rise of eCommerce
      1. Consumerization of Technology
        1. Increasing Internet Use
        2. Price Advantage
        3. Convenience
        4. Large Product Assortment
        5. Closer Tie-in with Physical World
          1. Customer-friendly policies
        6. Increasing Maturity of eCommerce Offerings
          1. Better functionality
          2. Personalized shopping
          3. Social media
          4. Rich interfaces across multiple devices
          5. Transfer of control from IT to business
          6. Improvements in underlying technology
      2. Changing Face of Retail
        1. Omnichannel Retailing
        2. Business Impact of Omnichannel
        3. Technical Impact of Omnichannel
    2. 2. How Is Enterprise eCommerce Deployed Today?
      1. Current Deployment Architecture
        1. DNS
        2. Intra Data Center Load Balancing
        3. Web Servers
        4. eCommerce Applications
        5. Application Servers
        6. Databases
          1. Fully normalized
          2. Document based
          3. Fully denormalized
        7. Hosting for eCommerce
      2. Limitations of Current Deployment Architecture
        1. Static Provisioning
        2. Scaling for Peaks
        3. Outages Due to Rapid Scaling
  4. II. The Rise of Cloud Computing
    1. 3. What Is Cloud Computing?
      1. Generally Accepted Definition
        1. Elastic
        2. On Demand
        3. Metered
      2. Service Models
        1. Software-as-a-Service (SaaS)
        2. Platform-as-a-Service (PaaS)
        3. Infrastructure-as-a-Service (IaaS)
      3. Deployment Models
        1. Public Cloud
        2. Hybrid Cloud
        3. Private Cloud
      4. Hardware Used in Clouds
      5. Complementary Cloud Vendor Offerings
      6. Challenges with Public Clouds
        1. Availability
        2. Performance
        3. Over-subscription
        4. Cost
    2. 4. Auto-Scaling in the Cloud
      1. What Is Auto-Scaling?
      2. What Needs to be Provisioned
        1. What Can’t Be Provisioned?
      3. When to Provision
        1. Proactive Provisioning
        2. Reactive Provisioning
      4. Auto-Scaling Solutions
        1. Define Each Tier that Needs to be Scaled
        2. Define the Dependencies Between Tiers
        3. Define Ratios Between Tiers
        4. Define What to Monitor
        5. Monitor Each Server and Aggregate Data Across Each Tier
        6. Define Rules for Scaling Each Tier
        7. Building an auto-scaling solutions
        8. Build versus Buying an Auto-Scaling Solutions
    3. 5. Installing Software on Newly Provisioned Hardware
      1. What Is a Deployment Unit?
        1. What Is a Deployment Unit?
        2. Building from Snapshots
        3. Building from Archives
        4. Building from Source
      2. Monitoring the Health of a Deployment Unit
      3. Lifecycle Management
    4. 6. Virtualization in the Cloud
      1. What Is Virtualization?
        1. Full Virtualization
        2. Paravirtualization (Operating System Assisted Virtualization)
        3. Operating System Virtualization
      2. Summary of Virtualization Approaches
      3. Improving the Performance of Virtualized Software
    5. 7. Content Delivery Networks
      1. What Is a CDN?
      2. Are CDNs Cloud?
      3. Serving Static Content
      4. Serving Dynamic Content
        1. Caching Entire Pages
        2. Pre-fetching Static Content
        3. Security
      5. Additional CDN Offerings
        1. Frontend Optimization
        2. DNS
        3. Throttling
  5. III. To The Cloud!
    1. 8. Architecting for the Cloud
      1. Why Is eCommerce Unique?
        1. Revenue Generation
        2. Visibility
        3. Traffic Spikiness
        4. Security
        5. Statefulness
      2. What Is Scalability?
        1. Throughput
        2. Scaling Up
        3. Scaling Out
      3. Rules for Scaling
        1. Technical Rules
          1. Convert synchronous to asynchronous
          2. Reduce locking
          3. Simplify
          4. Remove state from individual servers
          5. Cache as much as possible as close to the client as possible
          6. Use the right technology
        2. Nontechnical Rules
          1. Hire the right people
          2. Collaboration with line of business
    2. 9. Security
      1. General Security Principles
      2. Adopting an Information Security Management System
        1. PCI DSS
        2. ISO 27001
        3. FedRAMP
      3. Security Best Practices
        1. Defense in Depth
        2. Information Classification
        3. Isolation
        4. Identification, Authentication, and Authorization
        5. Audit Logging
      4. Security Principles for eCommerce
      5. Security Principles for Cloud
        1. Reducing Attack Vectors
        2. Protecting Data in Motion
        3. Protecting Data at Rest
      6. Summary
    3. 10. Deploying Across Multiple Data Centers (Multimaster)
      1. Why Is eCommerce Unique?
      2. Architecture Principles
        1. Principles Governing Distributed Computing
          1. Avoiding conflicts
        2. Selecting a Data Center
        3. Initializing Each Data Center
        4. Removing Singletons
        5. Never Replicate Configuration
      3. Approaches
        1. Active/Passive
        2. Active/Active Application Tiers, Active/Passive Database Tiers
        3. Active/Active Application Tiers, Mostly Active/Active Database Tiers
        4. Full Active/Active
        5. Stateless Frontends, Stateful Backends
          1. Summary
      4. Assigning Customers to Data Centers
        1. DNS
          1. DNS primer
          2. Assigning customers to a single data center
          3. Active/passive data center assignment
          4. Active/active data center assignment
        2. Global Site Load Balancing
          1. Global site load balancing primer
          2. Global site load balancing health checking
      5. Summary
    4. 11. Hybrid Cloud
      1. Hybrid Cloud as a By-product of Architecture for Omnichannel
      2. Connecting to the Cloud
        1. Public Internet
        2. VPN
        3. Direct Connections
      3. Approaches
        1. Caching Entire Pages
        2. Overlaying HTML on Cached Pages
        3. Using Content Delivery Networks to Insert HTML
        4. Overlaying HTML on the Server Side
        5. Fully Decoupled Frontends and Backends
        6. Everything but Database in the Cloud
      4. Summary
    5. 12. Exclusively Using a Public Cloud
      1. Why Full Cloud?
        1. Business Reasons
        2. Technical Reasons
      2. Why Not Full Cloud?
      3. Path to Cloud
      4. Architecture for Full Cloud
        1. Review of Key Principles
        2. Architecture for Omnichannel
        3. Larger Trends Influencing eCommerce Architecture
      5. How to Select a Cloud Vendor
      6. Summary
  6. Colophon
  7. Index
  8. Copyright