We can’t ignore the significance of the events that have evolved over the past several weeks. We’re in unprecedented territory. Schools are closing and preparing for distance learning. Companies are urging employees to work from home, if possible, for the foreseeable future. While these changes serve to help protect our health and the health of others, these new guidelines and policies inadvertently put a brand-new burdens and challenges on network and IT teams. The goal now is ensuring that the systems, networks, and applications that students and employees will have to access remotely are working effectively and efficiently. This article sets out to provide you with some best practices during the capacity planning process that you can take now, if you haven’t already, to make the transition seamless as possible.
Within the last couple of weeks, more consumers have moved from visiting brick and mortar stores to buying online. One of the major examples of this has been Amazon. They’ve been hit with a huge surge in orders, causing product delays and shortages. Due to this recent demand, they’re planning to open 100,000 full-time and part-time positions. Obviously, Amazon is an extreme example of measures that a company can take to improve the online experience. Most organizations should not have to take such drastic measures like Amazon is planning.
Additionally, these new remote work mandates have increased the need for video, chat, and collaboration applications. For example, Microsoft is offering free versions of Microsoft Teams to individuals, IT teams, and educators to help keep individuals, team, and students connected. Google and Zoom are also lending their support and offering software for free or lifting certain limitations of their products. For employees that are work in the customer service side of the business, testing VoIP systems and potentially video conferencing software may need to be tested to validate performance if there’s going to be an influx of users.
Planning for Increased Web Traffic: Take Inventory
One of the first steps in the capacity planning process that companies can take is to conduct a remote-work test and take inventory of all the devices, applications, and programs that your users will need for remote access. Taking a full inventory can help answer a range of questions, such as “Does everyone have the necessary equipment or devices to work remotely?” and “Which applications are mission-critical to the business?” For example, if the applications are web-based, employees will likely need no additional assistance. However, it may make sense to contact those providers to understand what their continuity policy is and if they are taking the necessary steps to ensure their applications will perform with an increase in usage.
Companies that haven’t adopted a true cloud model and are either in a hybrid or in a completely on-premises environment, the struggle may be real. Working remotely may require VPN access. Does your company have a VPN? And if so, how many additional licenses are you going to need? And will your network handle the additional demand? These are questions that are going to potentially require a large investment to keep business operating as normal.
Planning for Increased Web Traffic: Plan for Capacity
Now that you’ve taken inventory, you can begin testing your systems and applications. As you can imagine, large organizations that have a global base of users, such as Microsoft, Google, or Slack, are ensuring their data centers have the capacity and bandwidth to support their own teams and customers. These companies keep services running smoothly by running multiple, redundant instances of services across geographic regions that match the demands of their customers. And on top of that, testing, testing, and more testing. For most web-based applications, again, the demands won’t change. The demands are the same whether users connect from their office or home. All that’s really needed is an internet connection. But that doesn’t mean you shouldn’t test.
And speaking of the Internet, although it’s probably better now than it was 10 years ago, where some concern comes into play, for both users and businesses, is how well an ISP’s infrastructure will hold up with the surge in demand. How much will your bandwidth be limited or constrained, if any, when a vast majority of your neighbors and their children are online? Time will only tell, but Cloudflare has some interesting data regarding recent Internet usage.
One of the big pieces of capacity planning consists of load testing your websites, web applications, and web services. Performing load tests on your websites or web applications shows how many specific users they can handle at one time, and if necessary, for how long. This ensures that your system can handle growth under specified levels of simultaneous traffic. Load testing answers questions like “How will the number of website users affect website performance?” or “Where do bottlenecks exist?” and “What is the breaking point?”
Planning for Increased Web Traffic: Load testing with LoadView
In simple terms, the load testing process is fairly straightforward: you create a scenario, add your traffic, evaluate the results, resolve any issues, and repeat until you’re satisfied. The best part is that LoadView doesn’t require an investment in any hardware, or software infrastructure. Traffic, or load, is simulated from multiple worldwide cloud networks. Some of the main factors to monitor during a load test are changes in the number of simulated users and load level, response times, the number of sessions and errors detected, and load injector CPU usage. Other metrics include bandwidth, disk I/O, third-party content, and database reads and writes.
Like load testing, but slightly different, is stress testing. A stress test is used to push a system beyond its intended capacity to identify components that begin to slow down, identify bottlenecks in the system, and bring to light possible points of failure. If the performance metrics recorded during the test are outside of the desirable parameters, a load test may unintentionally become a stress test as you push the system beyond available capacity.
One main difference between a load test and stress test is that you may inject pauses into a load test to simulate real user scenarios, like adding items to a shopping cart or logging in to an application. With a stress test, the goal is to just run as many simultaneous users, as fast as possible, in order to generate excessive traffic and essentially “break” your website or application.
Generating increased load on a website or application helps with predicting application performance for heavier user load in the future. And if your website or application responds within your predetermined limits, it’s considered a successful component of capacity planning.
Finally, after testing your websites and applications, you can utilize the same platform you did for load testing for ongoing performance monitoring.
Planning for Increased Web Traffic: Conclusion
Answering questions like these now, and ensuring the necessary systems are in place, will help reduce the number of IT support tickets your team will get when everyone gets locked out of their device because they forgot their password. In all seriousness though, the phrase “the best plan is a plan for the unexpected” has never been truer. These are unexpected times for everyone. It’s great that we live in a digital world where people can access systems and applications from virtually anywhere in the world from virtually any device they choose. However, our world still has limitations to those applications and systems. In order to keep those running as efficiently as possible, knowing your limitations by load testing all your web services will provide you with the necessary data you need to take action now and make improvements, changes, or upgrades and keep a ‘business as usual’ approach.
Don’t have the time or resources to load test? Contact our team if you need any assistance with load testing. We can assist with any part of the load testing process!