Community

Australian Open 2016: Design Principles of Bluemix Social Sentiment Application

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:

Overall parallel availability given component availability

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:

Overall serial availability given component availability

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:

By combining parallel and serial component availabilities, an overall availability is calculated

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.

Highly available active-active-standby multi region architecture

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.

Conclusion

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

References

Add Comment
One Comment

Leave a Reply

Your email address will not be published.Required fields are marked *


Laksh Krishnamurthy

Nice article. Very informative!!

Reply
More Community Stories

Get the most out of Salesforce

CRM systems are critical for enterprises. They allow business users to more easily access and manage customer information and records customer interactions from multiple channels. CRM systems also automate workflows and provide tracking, performance and productivity information.

Continue reading

Top 5 Highlights from VMworld 2017

With VMworld US & Europe coming to a close, we’re taking a look back into activities and announcements that took place over the past couple of weeks. Below is a recap of some of the most exciting stories for those who didn’t get a chance to hear the news on the ground.

Continue reading

IBM Cloud and F5 Networks Extend Partnership for Highly Available and Scalable Cloud Services

Today’s enterprise IT organizations are forced to confront and evaluate challenges from a broader business perspective unlike ever before. The decisions they make have a direct impact to the top and bottom line, and the demands levied on them to support the company’s mission only grow. IBM Cloud and F5 Networks understand these challenges. Building on a long-standing partnership, over the last several months IBM Cloud and F5 have collaborated on a solution to give IT organizations the flexibility to increase capacity, adapt to change, and stay ahead of evolving business demands.

Continue reading