agenda
play

Agenda Tango Intro Architectural Overview / Unique Technical - PowerPoint PPT Presentation

Agenda Tango Intro Architectural Overview / Unique Technical Challenges High Level Test Automation System Mobile Device Automation / Lessons Learned Visualizations Notable Escapes Future areas of Exploration Q & A


  1. Agenda  Tango Intro  Architectural Overview / Unique Technical Challenges  High Level Test Automation System  Mobile Device Automation / Lessons Learned  Visualizations  Notable Escapes  Future areas of Exploration  Q & A TangoMe, Inc. Proprietary and Confidential

  2. About Tango 3  Founded in 2009 and headquartered in Mountain View Tango has over 200 employees  Tango is a messaging and entertainment platform  We combine chat, video calling, games, social discovery, and other entertaining content  250M+ people use Tango to keep in touch with friends and family  Tango has raised $370M to date with the most recent Series D funding D of $280M led by Alibaba TangoMe, Inc. Proprietary and Confidential

  3. Mobile Strategy 4 1. Grow by offering free communications  Calls  Video calls Communication  Messaging 2. Engage through social interactions  Communications  Picture posting Social  Social networking (games, discovery) Content 3. Monetize through content distribution  Games / Music / other  Advertisement  E-commerce TangoMe, Inc. Proprietary and Confidential

  4. 282 Countries >250M Registered users 73M MAU 2,000 Servers in a dozen locations TangoMe, Inc. Proprietary and Confidential

  5. Scale & Scope  110K unique device 110K unique device types, types hundreds of Tango versions  Hundreds of Tango versions TangoMe, Inc. Proprietary and Confidential

  6. Scale & Scope 1.6M events per second reported by clients More?? More? Moar??? 1+Petabytes of data served 2+B requests/day TangoMe, Inc. Proprietary and Confidential

  7. What’s Unique to Tango? 8 TangoMe, Inc. Proprietary and Confidential

  8. Mobile First 9  We are not a port from a PC program  No shoehorning to mobile  No legacy code or designs to deal with  Our DNA is mobile/embedded  We push the envelope on available tech & tools  We think mobile, i.e. limited resources:  Connectivity/network  Battery life  CPU  Storage TangoMe, Inc. Proprietary and Confidential

  9. Cross Platform Architecture Platform Specific X-P API SWIG Protobuf messaging Social Invite Asset Services Tango Services Services Services Background Asset Authentication Contact Filtering Configuration (A/B) up/down load Manager Core cross platform library Discovery Channel Messaging Capabilities Call establishment (SWIFT) Auth Services Services HTTP Utilities Technologies Media Logging Strings Facebook Lua Audio/Video (codecs, echo cancellation) Café MOAI Thread pool Database Aviary openssl QoS Adaptation (fec, bitrate, framerate, resolution) (sqlite) Phone Wakeup Spotify VoIP Socket Network Formatter Manager Auth HTTP Smart HTTP OpenGL HTTP Contact Native Call Portable Local P2P/NAT Connectivity Manager Log Mgr Runtime Storage Platform Specific Driver API AddressBook Call Log OS Connectivity A/V Playback/Capture TangoMe, Inc. Proprietary and Confidential

  10. Cross Platform Architecture 11  Our clients share the bulk of the code  Lots of code reuse (  dev. efficiency)  Easy to port to new platforms  Feature parity  Enables automated testing  But…  Complex build  Tricky cross language boundary crossing code TangoMe, Inc. Proprietary and Confidential

  11. Smart Client 12  Realizations  There will always be more clients than servers  We will scale better if clients can “pull their own weight”  Need good UX even if servers aren’t reachable  Build Sophisticated Client  Offload as much as possible from servers  Cache heavily for UX  We are not just an HTML app (people tried & failed)  Create custom protocols  Downside: Complexity (versioning, c2c, c2s) TangoMe, Inc. Proprietary and Confidential

  12. Tango View of Test Automation 13 It doesn't matter [if a] cat [is] black [or] white, [as long as it] can catch mice, it's a good cat TangoMe, Inc. Proprietary and Confidential

  13. Tango Test Automation System 14 Test Analytics Test Analytics Web Service UI Dashboard Tango Android/iOS UI UIAutomation Test Cross Platform Cross Platform FeatureTest Analytics Unit Tests Client DB Deployed Server Unit Tests Server ServerAPI Test Environment TangoMe, Inc. Proprietary and Confidential

  14. UI Mobile UI Automation Cross Platform Client Server 15 193 188 12 monitors 0 0 TangoMe, Inc. Proprietary and Confidential

  15. UI The Tango UI is a-Changin ’ Cross Platform Client Server 16 TangoMe, Inc. Proprietary and Confidential

  16. UI Using E2E UI Tests as Monitors Cross Platform Client Server 17 TangoMe, Inc. Proprietary and Confidential

  17. UI Feature Tests Cross Platform Client Server 18  Hermetic (Sandboxed) so can write/run on a plane  Exercises common client layer + server layer together  Can be adapted to be used as production monitors  Adding support for TangoMe, Inc. Proprietary and Confidential

  18. UI Server Dependencies Cross Platform Client Server 19  What dependencies do our back end server components have on each other? TangoMe, Inc. Proprietary and Confidential

  19. UI Dependency Visualization Take 1 Cross Platform Client Server 20  Big Ball of Mud? TangoMe, Inc. Proprietary and Confidential

  20. UI Dependency Visualization Take 2 Cross Platform Client Server 21  Big Ball of Mud Mushroom? TangoMe, Inc. Proprietary and Confidential

  21. UI Dependency Visualization Take 3 Cross Platform Client Server 22 TangoMe, Inc. Proprietary and Confidential

  22. UI Dependency Visualization Take 3 Cross Platform Client Server 23 TangoMe, Inc. Proprietary and Confidential

  23. Reliability / Performance 24  Performance/Reliability  Jmeter / Locust.io  Failure testing  Mosh (netem)  Exploratory Testing for clients (*hit digging) TangoMe, Inc. Proprietary and Confidential

  24. Notable Escapes 25  Verizon Voicemail  DoS-ing ourselves TangoMe, Inc. Proprietary and Confidential

  25. Future Areas of Exploration 26  Reliability testing for ‘real world’ client to server craziness  Clients pointing to servers that have simulated latency /failures  Simulated clients that behave like real world TangoMe, Inc. Proprietary and Confidential

  26. We are Hiring! 27 TangoMe, Inc. Proprietary and Confidential

Recommend


More recommend