View all newsletters
Receive our newsletter - data, insights and analysis delivered to you
  1. Hardware
March 20, 2017

LinkedIn open sources internet mocking tool Flashback

Flashback is based on Betamax and was used by LinkedIn for testing third party websites.

By CBR Staff Writer

LinkedIn, the social networking platform for professionals, has now open sourced Flashback, a proxy server application that helps in recording, storing and replaying internet transactions for developer testing.

Flashback tool is used for mocking internet traffic for developer testing, when web applications are being developed which needed interaction with third-party websites.

The application has been open sourced under the BSD two-clause license, a family of permissive free software licenses.

Read more: 10 open source software tools for developing IoT applications

LinkedIn stated that Flashback tool was developed by Shangshang Feng, Yabin Kang, and Dan Vinegrad to test reliability, scalability and speed on new code before wide application. It is based on Betamax, a tool developed to mock actions (record and replay) of web services and REST APIs used by developers.

According to LinkedIn, it develops web applications which need to interact with third party websites, hence it uses automatic testing that ensures quality of testing.

LinkedIn FlashbackSometimes it can be hard to test third party websites, as they could change without notice, suffer from downtime and become temporarily unavailable or sometimes the failure could be due to an internal change at LinkedIn, an external change made at the website or an issue with network infrastructure.

In order to deal with such issues, the company initially relied on Betamax. It works by intercepting HTTP connections initiated by a web application and are replayed later on. It can be used to replace any interaction over HTTP with previously recorded responses which can be served reliably.

Content from our partners
Green for go: Transforming trade in the UK
Manufacturers are switching to personalised customer experience amid fierce competition
How many ends in end-to-end service orchestration?

But, Betamax has its own limitations. Firstly, LinkedIn’s test environment did not have internet access and Betamax relies on internet connectivity to function properly.

Secondly, the company also uses several use cases which require authentication protocols such as OAuth and OpenId and complex interactions over HTTP.

To overcome these issues, LinkedIn developed Flashback to mock HTTP and HTTPS resources. It records these HTTP/HTTPS requests and will playback previously recorded HTTP transaction. LinkedIn calls this a ‘scene’, where no internet connection is needed to complete the testing.

Read more: What is open source software?

The tool can also replay scenes based on partial matching of requests, which is done using ‘match rules’. A match rule relates an incoming request with a previously recorded request and uses to generate a response.

LinkedIn previously open sourced FeatureFu, a toolkit for building machine learning models in 2015. One of the main reasons cited by the company was that FeatureFu could no longer be treated as a ‘business differentiator’ by the company.

Topics in this article : , ,
Websites in our network
Select and enter your corporate email address Tech Monitor's research, insight and analysis examines the frontiers of digital transformation to help tech leaders navigate the future. Our Changelog newsletter delivers our best work to your inbox every week.
  • CIO
  • CTO
  • CISO
  • CSO
  • CFO
  • CDO
  • CEO
  • Architect Founder
  • MD
  • Director
  • Manager
  • Other
Visit our privacy policy for more information about our services, how New Statesman Media Group may use, process and share your personal data, including information on your rights in respect of your personal data and how you can unsubscribe from future marketing communications. Our services are intended for corporate subscribers and you warrant that the email address submitted is your corporate email address.