Welcome!

Machine Learning Authors: William Schmarzo, Elizabeth White, Liz McMillan, Pat Romanski, James Carlini

Related Topics: @DevOpsSummit, Java IoT, @CloudExpo

@DevOpsSummit: Blog Post

Death, Taxes & Performance Testing By @Neotys | @DevOpsSummit [#DevOps]

It is hard to comprehend just how quickly the companies that provide these services need to ramp up their operations every year

Life's Certainties: Death, Taxes and Performance Testing

This year I filed my taxes using a popular online web tax service and started to wonder how many other people were using the same services to do their taxes. There had to be millions. I looked it up - and according to the IRS over 80% of the 150 million tax returns that will be filed this year are expected to come in electronically. About a third of them - or 45 to 50 million - are self-prepared, online submissions from people like me.

It is hard to comprehend just how quickly the companies who provide these services (TurboTax, TaxSlayer.com, eSmart Tax, H&R Block, and many others) need to ramp up their operations every year. Taxpayers don't receive their W2s and other tax documentation until the end of January, so there is virtually no activity in that particular month. Then, once people have their forms at the beginning of February, a huge spike in traffic occurs.

Online tax companies go from an absolute standstill to 100 mph in a matter of days.

How do these companies do it? Tax laws change every year, so that online application is basically a brand new release when users start pounding away at it in February. What is it like to test the performance of a website that sees a higher traffic spike than an eCommerce site on Black Friday - with no warm-up period preceding it? How do they get performance right the first time that they face an onslaught of users?

Odds are your industry does not bear the same extreme performance characteristics that these tax software providers face. However, you can learn a ton from their tried and true testing methods. We at Neotys encourage you to read on to see how your site can become truly bulletproof.

The Twin Peaks of Tax Season

You may not realize that taxpayer traffic actually has two peaks. The first peak occurs right at the start of February, with people who file as soon as they have their paperwork. These are the early-birds who want their tax refunds from the government as quickly as possible.

The second peak happens in the first half of April, as the rest of the population scrambles to meet the April 15 tax-filing deadline. For tax software companies, there are basically no site visitors until January is over. Then, the floodgates open. Forget the soft launch!

Faced with that initial and immediate spike in traffic, tax companies freeze their software applications until activity subsides. Environments are locked and change is minimized as January winds to a close. From a software performance perspective, there's not much to do during this period of time. However, when the first wave of activity starts to die down in March, an opportunity arises to do a small release. At this point maintenance can be done on the site - patches and minor upgrades mainly - and all the data gathered during February can be put to use to fix lingering problems. Then it's back to lockdown for the April filing peak.

Because of these dynamics, the critical time period for testing an online tax site is October through January. This is when all of the site's core functionality and operating environments are tested, along with integration, load, and performance. The entire company has to rally around one thing: making sure everything is ready for that first day of February. Because that's when the switch is turned on.

How to Build Bulletproof Testing Methods
If you want to be sure that your applications will remain high-performing even in the face of spiking demand, take a few tips from the people who operate online tax software. Put in place strong load testing, stress testing, and performance monitoring systems. Let's take a look at a few specific guidelines in greater detail.

Load Testing with Agile Development
If you are using a load testing framework that has the right capabilities, you can get rid of a lot of the hassle of load test scripting by turning it into a click-and-script-only exercise. You record a script once, set up all the dynamic data and correlated data, save these items to the framework, and automatically apply them when rescripting. It minimizes manual work, allowing you to integrate load testing into your continuous integration process. Then you can compare the performance of individual sprint releases against each other with ease, and present the information to development teams in a simple report so they can analyze the data and make improvements.

Virtual Users
Run lots of user tests for long periods of time. This will help to flush out memory leaks that may only present themselves after weeks of normal usage in production. Virtual users can help you avoid having to shrink think times (the time taken by the users to think or to navigate to different pages in the application) which can lead to unnatural issues with session counts, connections, and garbage collection. The more virtual users you can use, the closer you can get to simulating reality.

Workload Adjustments
It's common for load testing to get pushed to the end of a cycle, but you don't have to let that happen. Use risk assessments and project prioritization to find testing activities that will add value without increasing resources. Design new tests to be executed during what is normally considered down-time. Instead of waiting for project leaders to give the go-ahead for testing, reach out to them early. This approach might allow you to proactively manage your workload and get more done.

Bandwidth Limiting
Bandwidth limiting allows you to emulate connectivity from physical locations to see what real response times look like. You can identify bandwidth intensive applications that might consume the majority of the internet pipe and determine whether or not they are necessary. This technique lets you create conditions that mimic what your users actually go through, and it can help you identify a whole class of problems that would otherwise go unnoticed.

Monitoring Systems
Automation is everything. Don't stop with automating test execution - also think about how you can automate other typical tasks. A good place to look is your monitoring systems. As your server environment grows and changes, setting up new monitors can take time and resources. Manual steps associated with these changes introduce risk, opening the door for inconsistent monitoring that misses critical events. The ability to copy monitors (for multiple hosts) in addition to out-of-the-box monitoring for open source systems dramatically reduces the time to setup a test scenario. What took a day in the past can now be completed in less than an hour.

Troubleshooting in Production
When you are going from zero to 100 mph, you don't want to leave anything to chance. So even when you are testing, you should look at all the performance data you would normally review in production. This helps guarantee that your production monitoring tools provide the detail needed for troubleshooting. Whenever possible, run at least one test from outside your firewall. Some issues can only be found using this approach. You should consider cloud testing for this strategy. You'll also want to build a good test-in-production process to certify the production environment.

Performance Testing - Or Death for Your Product
Unlike death and taxes, performance testing is advantageous to make your site as bulletproof as possible. These tips will help you to plan early, subject the system to stress, and monitor performance so that you get as close to real-world as possible without having to subject actual users to performance problems. If you can make your site as rugged as tax software, you'll be well-equipped for any scenario that comes your way.

More Stories By Tim Hinds

Tim Hinds is the Product Marketing Manager for NeoLoad at Neotys. He has a background in Agile software development, Scrum, Kanban, Continuous Integration, Continuous Delivery, and Continuous Testing practices.

Previously, Tim was Product Marketing Manager at AccuRev, a company acquired by Micro Focus, where he worked with software configuration management, issue tracking, Agile project management, continuous integration, workflow automation, and distributed version control systems.

@CloudExpo Stories
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
Vulnerability management is vital for large companies that need to secure containers across thousands of hosts, but many struggle to understand how exposed they are when they discover a new high security vulnerability. In his session at 21st Cloud Expo, John Morello, CTO of Twistlock, addressed this pressing concern by introducing the concept of the “Vulnerability Risk Tree API,” which brings all the data together in a simple REST endpoint, allowing companies to easily grasp the severity of the ...
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing change as a core competency in our organizations, this business-centric notion of Agile is an essential component of Agile Digital Transformation. In the years since the publication of the Agile Manifesto, the conn...
In his session at 21st Cloud Expo, James Henry, Co-CEO/CTO of Calgary Scientific Inc., introduced you to the challenges, solutions and benefits of training AI systems to solve visual problems with an emphasis on improving AIs with continuous training in the field. He explored applications in several industries and discussed technologies that allow the deployment of advanced visualization solutions to the cloud.
Enterprises are adopting Kubernetes to accelerate the development and the delivery of cloud-native applications. However, sharing a Kubernetes cluster between members of the same team can be challenging. And, sharing clusters across multiple teams is even harder. Kubernetes offers several constructs to help implement segmentation and isolation. However, these primitives can be complex to understand and apply. As a result, it’s becoming common for enterprises to end up with several clusters. Thi...
While some developers care passionately about how data centers and clouds are architected, for most, it is only the end result that matters. To the majority of companies, technology exists to solve a business problem, and only delivers value when it is solving that problem. 2017 brings the mainstream adoption of containers for production workloads. In his session at 21st Cloud Expo, Ben McCormack, VP of Operations at Evernote, discussed how data centers of the future will be managed, how the p...
"NetApp is known as a data management leader but we do a lot more than just data management on-prem with the data centers of our customers. We're also big in the hybrid cloud," explained Wes Talbert, Principal Architect at NetApp, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Space Monkey by Vivent Smart Home is a product that is a distributed cloud-based edge storage network. Vivent Smart Home, our parent company, is a smart home provider that places a lot of hard drives across homes in North America," explained JT Olds, Director of Engineering, and Brandon Crowfeather, Product Manager, at Vivint Smart Home, in this SYS-CON.tv interview at @ThingsExpo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
The question before companies today is not whether to become intelligent, it’s a question of how and how fast. The key is to adopt and deploy an intelligent application strategy while simultaneously preparing to scale that intelligence. In her session at 21st Cloud Expo, Sangeeta Chakraborty, Chief Customer Officer at Ayasdi, provided a tactical framework to become a truly intelligent enterprise, including how to identify the right applications for AI, how to build a Center of Excellence to oper...
"IBM is really all in on blockchain. We take a look at sort of the history of blockchain ledger technologies. It started out with bitcoin, Ethereum, and IBM evaluated these particular blockchain technologies and found they were anonymous and permissionless and that many companies were looking for permissioned blockchain," stated René Bostic, Technical VP of the IBM Cloud Unit in North America, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventi...
Coca-Cola’s Google powered digital signage system lays the groundwork for a more valuable connection between Coke and its customers. Digital signs pair software with high-resolution displays so that a message can be changed instantly based on what the operator wants to communicate or sell. In their Day 3 Keynote at 21st Cloud Expo, Greg Chambers, Global Group Director, Digital Innovation, Coca-Cola, and Vidya Nagarajan, a Senior Product Manager at Google, discussed how from store operations and ...
"Infoblox does DNS, DHCP and IP address management for not only enterprise networks but cloud networks as well. Customers are looking for a single platform that can extend not only in their private enterprise environment but private cloud, public cloud, tracking all the IP space and everything that is going on in that environment," explained Steve Salo, Principal Systems Engineer at Infoblox, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventio...
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
"ZeroStack is a startup in Silicon Valley. We're solving a very interesting problem around bringing public cloud convenience with private cloud control for enterprises and mid-size companies," explained Kamesh Pemmaraju, VP of Product Management at ZeroStack, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"We're focused on how to get some of the attributes that you would expect from an Amazon, Azure, Google, and doing that on-prem. We believe today that you can actually get those types of things done with certain architectures available in the market today," explained Steve Conner, VP of Sales at Cloudistics, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Codigm is based on the cloud and we are here to explore marketing opportunities in America. Our mission is to make an ecosystem of the SW environment that anyone can understand, learn, teach, and develop the SW on the cloud," explained Sung Tae Ryu, CEO of Codigm, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Data scientists must access high-performance computing resources across a wide-area network. To achieve cloud-based HPC visualization, researchers must transfer datasets and visualization results efficiently. HPC clusters now compute GPU-accelerated visualization in the cloud cluster. To efficiently display results remotely, a high-performance, low-latency protocol transfers the display from the cluster to a remote desktop. Further, tools to easily mount remote datasets and efficiently transfer...
High-velocity engineering teams are applying not only continuous delivery processes, but also lessons in experimentation from established leaders like Amazon, Netflix, and Facebook. These companies have made experimentation a foundation for their release processes, allowing them to try out major feature releases and redesigns within smaller groups before making them broadly available. In his session at 21st Cloud Expo, Brian Lucas, Senior Staff Engineer at Optimizely, discussed how by using ne...
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...