Dhaval Jain

Technical Architect at Contentstack

Posts by Dhaval Jain

Dec 23, 2020

5 Tips to Ensure Uptime During the Holidays

The most wonderful time of the year is here again! It’s the holidays, a time when most people typically spend days with family and friends, do things they love the most, and shop a lot. With the Covid-19 pandemic, people are shopping online more than ever. Salesforce reports that Global digital sales grew 45% year over year. This rise translates into high traffic for ecommerce websites. As a CMS admin, you can define systems and processes that can help you quickly manage traffic spikes without impacting your website or app’s availability, thereby providing a seamless, enjoyable experience to your clients. At Contentstack, we have been doing this for years, and we’re glad to share the five most important tips to achieve this. Tip 1: Forecast Expected Traffic and Load It is impossible to determine the exact traffic that your clients’ apps are likely to receive and the load your servers may need to handle. But it helps to get an estimate, which helps in planning and allocating resources. Before the holiday season, talk to all your customers to understand their plans and expected traffic. Parallelly, check historical data, and analyze patterns. These two sources can give you an idea of what to expect for the holidays. Now, add some buffer to this estimation to define an upper limit. For example, if you determine that you are likely to get 2.5x requests per second, set the upper limit to 4x or 5x. This data can serve as a baseline for your resource and capacity planning. Tip 2: Plan Capacity and Resources With a tentative idea of the expected traffic, it becomes easier to determine the additional resources and infrastructure you’ll need. Once you have a baseline, add the required infrastructure accordingly. This baseline also helps define the processes and devise the plan to serve the expected load. Additionally, to help you prepare for the increased traffic, you can set a mechanism that automatically scales the infrastructure when the traffic reaches an upper threshold (say, 70% of your expected baseline). This ensures that you are ready for dramatic increases. Tip 3: Run Performance and Load Tests Now that you have a baseline for the expected requests and the required infrastructure in place, it’s time to test if you can carry the load. Try to simulate the actual holiday season traffic by making requests close to or over your expected baseline. This simulation helps in checking how the infrastructure performs and how it auto-scales. It will also help identify gaps in your current setup so you can address them before the actual traffic comes in. Rigorous testing aims to ensure that you operate smoothly even at 4x or 5x the expected traffic and still have a buffer for more. Tip 4: Monitor Services 24/7 Monitoring how your resources are consumed helps identify patterns or unexpected behaviors in realtime. You can set up an internal, custom dashboard that monitors all your critical systems and services’ real-time usage. This performance dashboard should be available to all the internal teams responsible for managing uptime and communication (such as the API developers, testers, and customer support engineers). Make sure that a set of team members are continuously monitoring the performance. Additionally, you can configure alerts that notify you when anything needs attention so that no unexpected behavior goes unnoticed. Here at Contentstack, we monitor our services before the holiday season and after the season ends. Tip 5: Conduct Mock Drills With adequate capacity planning, rigorous load testing, and constant monitoring, you are well prepared for the holidays. But unforeseen things can happen, and you would want to be ready for those issues as well. There are always chances of network degradation, dependent service’s unavailability, or some random system failure. To make sure you are prepared to handle any surprise contingencies, conduct mock drills to create situations that simulate network or service failures. These drills can help you identify, analyze, and fix issues in the shortest time possible. And with every exercise, you get better and faster. Bonus Tip: Set up “War Rooms” A “war room” is a virtual or physical command room or control room where key stakeholders can get together instantly in case of any emergency. In the past, you would set up a war room in your office. Today, with many of us in lockdown, you can use a common collaboration platform (such as Slack or Microsoft Teams) to talk to anyone irrespective of our team members’ location or time zone. And invite people to join only in war-like situations. War rooms ensure that you don’t waste time on email or rely on phone communication and focus on instant action. Since people play an essential role in achieving all the above steps, make sure you have people working in all shifts, dedicated to monitoring and testing throughout the holiday season, so there is never a time when you don’t have the required resources. These tips will ensure that you maintain 100% uptime, so your clients can make the holiday season a pleasant and memorable experience for their customers.