Today we made a nice update to our Discount/Membership capabilities to better support Triathlons by giving Race Directors and Triathletes a very simple way to add USAT Insurance. To accomplish this, we needed to update some pages for race directors as well as participants. More importantly, we had to update the database structure to not only add fields, but modify some of the database tables.
This can be a hard technical challenge, and I am happy to report that we had zero downtime and zero errors. This is one of the advantages of our architecture.
There is a bit if a risk when making this type of change. The worst case with our architecture though is that a person who is registering and was including a USATF discount during the roughly 60 seconds we made the upgrade might not be recorded correctly. Given that they would see an error on the checkout page and would likely notice the $2 discount not being applied they could start the registration over. The other issue would be if a race director was in the middle of setting up their USATF discount right as the change was being applied. Again, the solution would have been to re-enter the information into the new page.
The upside of not bringing the whole system down is that any user on the site that was not involved in these two activities would see no interruption in service. Hence we put a message out 15 minutes before the change to ask people to finish up their registrations by 11:45 AM Eastern. We made the change at that time. No errors occurred and no users were interrupted. A big win for everyone!