The low cost airline WOW air wanted their systems to handle much more load than they did, and asked us to consult on a total overhaul of their web infrastructure and restructure of their websites, to increase throughput and allow their technical team to be able to handle more of the direct programming, instead of having to outsource it.
Design and layout
We were approached in 2014 by WOW air and asked if we could help with increasing throughput of their online systems. At the time the airline was mostly focused on the european market and their systems could handle the day to day load, but any spikes in traffic could cause troubles.
The first thing was restructuring the server structure. We suggested that moving the servers from hosted hardware to Amazon EC2 instances would be good, since that would allow easier scaling, replication between availability zones and better load balancing. The fantastic IT team at WOW took this idea and ran with it, and has since then utilized most of the AWS suite, creating an auto-scalable infrastructure that is incredibly robust.
At the same time, the websites were redesigned by Hugsmidjan and moved to their CMS system, Eplica. This was a much needed interim solution that solved many problems; distancing the websites from the booking flow (the websites and the booking flow shared resources before so traffic in one area could affect the other), and allowing content creation to continue while the WOW Labs team focused on improving the underlying systems.
When we were satisfied that the backend could handle the increased traffic, then the next phase was to try to move as much of the programming as possible in-house so the WOW Labs could have full control over the websites and the booking flow and try to rely as little as possible on 3rd party companies.
We suggested using Wagtail as an open source alternative to the CMS currently being used, since it is fast, reliable and simple to use. Most of the programmers had some python experience as well which helped. In the first phase the webpages were moved over and then it was decided to add the booking flow and booking portal as well. Since booking an airline ticket requires multiple calls to the inventory system, it was decided to try to keep the flow as much client side as possible using React, but at the same time making it very flexible by utilizing wagtail pages to define how the booking flow is set up. That way it is possible to alter the booking flow without any code changes.