January 14, 2016 | Written by: Aaron Baughman
Share this post:
Many potential record-breaking and historical stories will play out live at the Australian Open 2016 that will drive interaction through social media such as Twitter. A few of the possible stories include:
- Serena Williams’s attempt to pass Steffi Graf’s Open era tally of 22
- Roger Federer could meet or exceed a 300th match win
- The potential of Lleyton Hewitt retirement after the Australian Open 2016
- The possibility of Novak Djokic earning his 6th Australian Open title
- Andy Murray ending his streak of 4 finals appearances without a win.
The interaction between fans and the Australian Open 2016 website and experience, hosted by IBM’s Continuous Available Services – Events Infrastructure, must be able to resiliently operate under intense volumes of traffic. The component that provides a social endpoint, Social Sentiment Application, for fan experiences is hosted on a Bluemix hybrid cloud that follows several design principles: Cognitive Design, Microservices, High Availability, Parallel Functions and Disaster Avoidance.
Cognitive Design brings an immersive experience
Cognitive design formulates systems that:
- Enhances human cognitive ability
- Learns patterns over time from patterns of life and experiences
- Interaction between humans and machines.
The Social Sentiment Application has applied all three pillars of cognitive design. The system enables humans and machines to understand the crowd and their opinions focused around tennis players. Over time, the trend of tennis player sentiment is displayed through IBM’s SlamTracker, which learns player popularity movement. Humans interact with the Social Sentiment Application through Twitter, which has a direct impact on social sentiment. As another example of cognitive design, please see DeepQA Jeopardy! Gamification: A Machine-Learning Perspective.
Microservices have a big impact
In a previous article located here, we explained that a Bluemix architecture is composed of many microservices. Each of the desired functions within the Social Sentiment Application has been decomposed into a microservice. A microservice is an architecture style whereby independent and small processes communicate with computing language agnostic interfaces. The interfaces used throughout the Social Sentiment Application utilize RESTful interfaces through the Hypertext Transfer Protocol (HTTP). The available Watson and Big Data API’s on Bluemix are examples of microservices that are deployed within a Services Oriented Architecture.
Continuous availability achieves greater than five 9’s
Much like the work by Scadden et al, Resilient Hosting in a Continuously Available Virtualized Environment, the Social Sentiment Application must be continuously available. Each Bluemix region is utilized to provide Out of Region (OoR) continuous operations. The Bluemix sites in London and Dallas, host the IBM Streaming Analytics service and connect to Twitter for Natural Language Process, which results in social sentiment scores for each tennis player at the Australian Open. Bluemix staggers cloud maintenance on a per-region basis. As a result, we can guarantee no planned computing outages. Further, with two parallel applications running independently, we can calculate parallel availability as follows:
In theory, if each IBM Streams application sustains only 1 hour of down time per year, the component is 99.99% available. The parallel availability of the IBM Streaming Analytics service will produce several seconds or less of unavailability. Any serial components within a cloud has a calculated availability as follows:
In the Social Sentiment Application, IBM Streaming Analytics and ObjectStorage are serial components distributed over Bluemix and Softlayer. Again and in theory, if IBM Streaming Analytics and ObjectStorage both provide 99.99% availability, the total availability is estimated at 99.98%. When equation 1 and 2 are used, we are left with:
That results in slightly more than five 9’s of availability or 5.26 minutes of down time per year.
Parallel functions produce stateless streams
To remove superfluous network burdens between regions, the Social Sentiment Application has been designed and built to be as stateless as possible. Stateless functions remove dependencies on previous data flows so that we can create parallel applications to lessen data loss and improve recovery. As a result, IBM Streaming Analytics on Bluemix runs in parallel in London and Dallas without the need for synchronous data or session replication. IBM Softlayer ObjectStorage is stateful, therefore we monitor the data for staleness and availability. However, we monitor the data in each service for staleness and availability. If a data anomaly occurs, the Webmaster is immediately notified to take action. For example, if the social sentiment data is not being updated in Dallas, the webmaster will route all traffic to the social sentiment data in London. In the meantime, operational and system debugging can occur within Dallas.
Disaster avoidance ensures continuous operations
In the unlikely scenario where a Bluemix region fails completely, the Social Sentiment Application must still be able to provide highly available service. Figure 1 shows a highly available multi-region cloud. Two of the three clouds in Figure 1 are active while the third is a hot standby. All sessions and data are replicated synchronously between the active region and asynchronously between the active and standby region. Clients will only be load balanced to the active regions. The standby region is considered an Out of Region Disaster Recovery (OoR DR) because it is greater than 100km away from each of the active regions. An example implementation of a highly complex application that implements a similar OoR DR is the Predictive Cloud Computing project that was an INFORMS Franz Edelman finalist.
In Bluemix, the standby region is located within Sydney which is much greater than 100 km away from the active regions; Dallas is 13,805 km from Sydney and London is 16,983 km from Sydney. In the absolute worst case scenario in which Dallas, Sydney, and London fall off of the face of the earth, we have a cold standby active-active architecture within Boulder, Colorado and Raleigh, North Carolina.
The design principles of cognitive design, high availability, disaster avoidance, parallel functions and microservices define the architecture of the Social Sentiment Application. We will be able to maintain continuous availability and to provide robust disaster recovery services. In the next installment of the series, I will provide results of the Social Sentiment Application as it analyzes tweets during the Australian Open 2016.
Thanks to the following Editors: Nik McCrory, John Kent, Brian O’Connell, Dan Kehn, Andy Ellicott and Herbie Pearthree