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.

Written by eCommerce expert Kelly Goetsch, this book helps architects leverage recent technological advances that have made it possible to run an entire enterprise-level eCommerce platform from a cloud.

  • Explore cloud service models: Infrastructure-as-a-Service, Platform-as-a-Service, and Software-as-a-Service
  • Learn about public, hybrid, and private cloud deployment models
  • Understand the impact of omnichannel retailing on platform and deployment architectures
  • Build an auto-scaling solution that can quickly add or subtract hardware in response to real-time traffic
  • Re-apply what you already know about security to the cloud
  • Run a single eCommerce platform from multiple data centers, including several forms of multi-master
  • Build a hybrid solution or deploy your entire platform to the cloud
  • Learn application and deployment architecture for "cloud native" through legacy eCommerce platforms
  • Use Software-as-a-Service for eCommerce, including Content Delivery Networks and Global Site Load Balancing services

Publisher resources

View/Submit Errata

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 the Cloud a Fit for eCommerce?
  3. I. The Changing eCommerce Landscape
    1. 1. The Global Rise of eCommerce
      1. Increasing Use of Technology
        1. Internet Connectivity
        2. Internet-Enabled Devices
      2. Inherent Advantages of eCommerce
        1. Price Advantage
        2. Convenience
        3. Large Product Assortment
      3. Technological Advances
        1. Closer Tie-in with the Physical World
          1. Customer-friendly policies
        2. 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
      4. Changing Face of Retail
        1. Omnichannel Retailing
        2. Business Impact of Omnichannel
        3. Technical Impact of Omnichannel
      5. Summary
    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. NoSQL
          3. Fully denormalized
        7. Hosting
      2. Limitations of Current Deployment Architecture
        1. Static Provisioning
        2. Scaling for Peaks
        3. Outages Due to Rapid Scaling
      3. Summary
  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
        2. Platform-as-a-Service
        3. Infrastructure-as-a-Service
      3. Deployment Models
        1. Public Cloud
        2. Hybrid Cloud
        3. Private Cloud
      4. Hardware Used in Clouds
        1. Hardware Sizing
      5. Complementary Cloud Vendor Offerings
      6. Challenges with Public Clouds
        1. Availability
        2. Performance
        3. Oversubscription
        4. Cost
      7. Summary
    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. Requirements for a Solution
          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
        2. Building an Auto-scaling Solution
          1. Create machine image (snapshot of filesystem)
          2. Write machine image
          3. List flavors of available images
          4. Provision hardware
          5. De-provision hardware
        3. Building versus Buying an Auto-Scaling Solution
      5. Summary
    3. 5. Installing Software on Newly Provisioned Hardware
      1. What Is a Deployment Unit?
      2. Approaches to Building Deployment Units
        1. Building from Snapshots
        2. Building from Archives
        3. Building from Source
      3. Monitoring the Health of a Deployment Unit
      4. Lifecycle Management
      5. Summary
    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 Software Executed on a Hypervisor
      4. Summary
    5. 7. Content Delivery Networks
      1. What Is a CDN?
      2. Are CDNs Clouds?
      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/GSLB
        3. Throttling
      6. Summary
  5. III. To the Cloud!
    1. 8. Architecture Principles 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 lines of business
    2. 9. Security for the Cloud
      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 the 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. The Central Problem of Operating from Multiple Data Centers
      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. 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 Server Load Balancing
          1. Global Server Load Balancing primer
          2. Global Server Load Balancing health checking
      4. Approaches to Operating from Multiple Data Centers
        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
      5. Review of Approaches
      6. 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 to Hybrid Cloud
        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 the 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 the 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. Index
  7. About the Author
  8. Colophon
  9. Copyright

Product information

  • Title: eCommerce in the Cloud
  • Author(s): Kelly Goetsch
  • Release date: April 2014
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781491946589