Scaling Your Online Business for the Holidays
Once again the holidays are approaching and eager consumers are preparing to snuggle up on the couch with their laptops and tablets to hunt for those digital deals, bringing joy to business owners and sleepless nights for IT teams responsible for making sure the business continues to run through the holiday rush no matter what.
There are many resources out there on how to prepare for a traffic spike. Some have checklists, others don't, some are better than others. Several have generic practical tips to help you optimize your site, like reduce the number of HTTP connections or use content distribution networks (CDNs). Others believe that overly generalized statements like "have a backend that can support high traffic" is a valuable tip. While the details on what changes you need to make will be specific to your architecture, at the end of the day, optimizing your systems boils down to a couple of principal concepts.
Instrumentation
Understanding where the bottlenecks occur is the most important part of scaling on demand. If you don't monitor and trend every aspect of your architecture and application, including business rules, you won't be able to identify — and often predict — the irregularities and choke points that require your attention. Having an accurate and measurable changelog of both system and pattern changes will provide visibility into application health, allowing you to isolate and resolve immediate issues and plan ahead for future problems.
Compartmentalization
Separating your application into logical components will help with the multitude of challenges any technical group experiences, including testing, troubleshooting and scaling. Ideally, each of your components should scale independently of each other. Building your architecture with an ability to scale individual components on demand helps to remove bottlenecks in the specific layer of the stack without a need to re-engineer a large portion of the application on the fly. This also prevents over-provisioning (and subsequently overpaying).
Resilience
No matter how well your architecture is designed, things outside of your control may impact the performance or availability of your website. Designing your infrastructure with redundancy of each component in mind helps to avoid single points of failure and is crucial if uptime of your service is the driver for the business. Make sure that each individual component and service in your architecture has a failover or fallback plan. It's better to be prepared than to fall victim to an edge case that no one accounted for in the holiday rush planning process.
While these concepts should be at the core of every architecture, they're not always easy to implement. These tasks are time consuming and, more often than not, a large engineering effort is required to optimize your whole application (especially if it wasn't designed with scalability in mind from the beginning) to meet more demanding performance requirements. Wholesale changes can sometimes be more damaging than helpful, especially given tight time constraints. Small features that weren't considered from a scalability angle can bring down your whole application in a heartbeat. And if you're preparing for a planned (and especially if you're dealing with unplanned) traffic spike, you don't have all the time in the world to bulletproof the system. Therefore, you must choose your battles. The right battle is to optimize for business needs.
Applications tie into revenue generation (e.g., selling products, serving ads, displaying visual content, etc.) or provide a service that's a part of your core business strategy. Optimize for those goals. Approach the problem from the point of view that it's acceptable for every other service/component to fail, as long as most critical business processes work. As a CEO of a large e-commerce company once said to me, "I don't care if my data center is on fire, as long as I'm still making money."
These scalability concepts apply to every architecture, but your business and therefore your business problems are unique. Use these concepts as guidelines; focus on each area individually and determine how to implement each of them to meet your organizational goals — and be prepared for the busiest times of the year.
Leon Fayer is vice president of OmniTI, a provider of web infrastructures and applications for companies that require scalable, high-performance, mission-critical solutions. Leon can be reached at leon@omniti.com.
![](https://www.mytotalretail.com/thumb/?src=/wp-content/uploads/sites/14/2016/10/1276421_iStock_000022284728.jpg&w=142&h=80)
![](https://www.mytotalretail.com/thumb/?src=/wp-content/uploads/sites/14/2022/06/Conns-storefront.jpg&w=142&h=80)
![](https://www.mytotalretail.com/thumb/?src=/wp-content/uploads/sites/14/2022/06/GettyImages-670884683.jpg&w=142&h=80)
![](https://www.mytotalretail.com/thumb/?src=/wp-content/uploads/sites/14/2024/06/pd-hero-image-1.jpg&w=142&h=80)
![](https://www.mytotalretail.com/thumb/?src=/wp-content/uploads/sites/14/2018/05/CRM-stock-image.jpg&w=142&h=80)
![](https://www.mytotalretail.com/thumb/?src=/wp-content/uploads/sites/14/2020/08/gettyimages-631066318-594x594.jpg&w=142&h=80)