SlideShare a Scribd company logo
1 of 16
A Highly Decoupled Front-End Framework
                    for
     High Traficked Web Applications



     Andrzej Tucholka & Prem Gurbani
       ICIW 2010, Barcelona, Spain
Outline
• About Tuenti

• Motivations for building a new Front-End
  Architecture & Strategy

• Design Overview

• Performance & Metrics on a PoC

• Future Work
About Tuenti
• Largest social network in Spain

• Highest trafficked website in Spain

• Over 6 million users

• Over a billion page-views / day

• Over 130 employees
Old System
• In-house built MVC-like and in-house built template
  engine
• Limitations of current system:
       tight inter-team dependencies
       duplicated work when adding additional client
        applications (mobile, etc)
       limited opportunities for external usage
       limited caching solutions in the front-end
       limited flexibility in UI development
New FE Architecture & Strategy
• Concerns addressed: flexibility, cost,
  schedule, integrability and... performance
• Responsibilities
  o UI interaction & behavior
  o Templating and UI rendering
  o Client - server communication
  o Interact with Backend & Domain core
  o Controllers logic & produce data output
New FE Architecture & Strategy

• Principle: a highly decoupled system

• How? Natural separation of concerns:
  o Structure (HTML)
  o Style (CSS)
  o Behavior & Control (JS)
  o Data (JSON-RPC)
Closer Look at the Client Side FW
Closer look at the Server-Side FW
• Server no longer generates presentation. Only data

• We have data-centric Controllers that freely interact
  between each other to provide the requested data.

• Controllers instantiate Abstractions: these interact with
  the back-end domain core

• We called this design PCA: Printer-Controller-Abstraction
  o Inspired by the architectural pattern known as PAC
    (Presentation-Abstraction-Controller)
Closer look at the Server-Side FW
• PCA's controllers
  o Controllers can communicate freely between them
  o Each has its own data-driven responsibility


• PCA's abstractions
  o Interface with Domain core
  o Can be instantiated by multiple controllers


• PCA can provide
  o Response buffering
  o Interchangeable printers
  o Build a highly cohesive system
Closer look at the Server-Side FW
Metrics on a PoC




                             Savings from 43 to 78%


Savings between 45 and 91%
Metrics on a PoC




 Savings between 45 and 91%
Metrics on a PoC
Benefits
• Simplifies maintenance of multiple
  interfaces
• Reducing the need for server-side
  changes
• Teams focus on core responsibilities
• Improved parallelized development
• Improve testing and release procedures
• Reduce TCO: drastic savings in
  bandwidth and server load
Future Work
• Challenges launching in Live environment

• Analyze performance on client-side

• Possibility to run Client-Side FW on Server

• Enhancements to current API controllers
  structure

• Mobile browser Client-Side FWs
Questions?


   Andrzej Tucholka - andrzej@tuenti.com
     Prem Gurbani - prem@tuenti.com




Interested in shaping the future? Check out http://jobs.tuenti.com

More Related Content

Viewers also liked

Enquire Within Upon Everything
Enquire Within Upon EverythingEnquire Within Upon Everything
Enquire Within Upon EverythingAlan Levine
 
Being There...@ Maricopa
Being There...@ MaricopaBeing There...@ Maricopa
Being There...@ MaricopaAlan Levine
 
Whats On Your Horizon
Whats On Your HorizonWhats On Your Horizon
Whats On Your HorizonAlan Levine
 
Hands-on Experiences in Web Storytelling
Hands-on Experiences in Web StorytellingHands-on Experiences in Web Storytelling
Hands-on Experiences in Web StorytellingAlan Levine
 
More Than Cool Tools Teaser
More Than Cool Tools TeaserMore Than Cool Tools Teaser
More Than Cool Tools TeaserAlan Levine
 
Contando historias digitales. Digital Storytelling
Contando historias digitales. Digital StorytellingContando historias digitales. Digital Storytelling
Contando historias digitales. Digital StorytellingEduardo Díaz San Millán
 
Wow! Web-Based Presentations
Wow! Web-Based PresentationsWow! Web-Based Presentations
Wow! Web-Based PresentationsAlan Levine
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.jsTanUkkii
 

Viewers also liked (8)

Enquire Within Upon Everything
Enquire Within Upon EverythingEnquire Within Upon Everything
Enquire Within Upon Everything
 
Being There...@ Maricopa
Being There...@ MaricopaBeing There...@ Maricopa
Being There...@ Maricopa
 
Whats On Your Horizon
Whats On Your HorizonWhats On Your Horizon
Whats On Your Horizon
 
Hands-on Experiences in Web Storytelling
Hands-on Experiences in Web StorytellingHands-on Experiences in Web Storytelling
Hands-on Experiences in Web Storytelling
 
More Than Cool Tools Teaser
More Than Cool Tools TeaserMore Than Cool Tools Teaser
More Than Cool Tools Teaser
 
Contando historias digitales. Digital Storytelling
Contando historias digitales. Digital StorytellingContando historias digitales. Digital Storytelling
Contando historias digitales. Digital Storytelling
 
Wow! Web-Based Presentations
Wow! Web-Based PresentationsWow! Web-Based Presentations
Wow! Web-Based Presentations
 
Isomorphic web development with scala and scala.js
Isomorphic web development  with scala and scala.jsIsomorphic web development  with scala and scala.js
Isomorphic web development with scala and scala.js
 

Similar to A Highly Decoupled Front-End Framework for High Trafficked Web Applications

Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentalsVictor Morales
 
Novelty in Non-Greenfield
Novelty in Non-GreenfieldNovelty in Non-Greenfield
Novelty in Non-GreenfieldJustin Lovell
 
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Subbu Rama
 
On-Demand Production Infrastructure delivered Just In Time By Shane Guthrie o...
On-Demand Production Infrastructure delivered Just In Time By Shane Guthrie o...On-Demand Production Infrastructure delivered Just In Time By Shane Guthrie o...
On-Demand Production Infrastructure delivered Just In Time By Shane Guthrie o...ETCenter
 
Dynamic Service Configuration and Automated Network Configuration with NETCON...
Dynamic Service Configuration and Automated Network Configuration with NETCON...Dynamic Service Configuration and Automated Network Configuration with NETCON...
Dynamic Service Configuration and Automated Network Configuration with NETCON...Tail-f Systems
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentationdikshagupta111
 
DevOps for Network Engineers
DevOps for Network EngineersDevOps for Network Engineers
DevOps for Network Engineersstefan vallin
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...Michael Erichsen
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021Ieva Navickaite
 
Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?Katherine Golovinova
 
Service Architectures at Scale
Service Architectures at ScaleService Architectures at Scale
Service Architectures at ScaleRandy Shoup
 
High Scalability Network Performance Management for Enterprises
High Scalability Network Performance Management for EnterprisesHigh Scalability Network Performance Management for Enterprises
High Scalability Network Performance Management for EnterprisesCA Technologies
 
Enable business continuity and high availability through active active techno...
Enable business continuity and high availability through active active techno...Enable business continuity and high availability through active active techno...
Enable business continuity and high availability through active active techno...Qian Li Jin
 
Envisioning the Network Cloud
Envisioning the Network CloudEnvisioning the Network Cloud
Envisioning the Network CloudAPNIC
 
VMWorld 2004 - Justifying the transition from Physical to Virtual
VMWorld 2004 - Justifying the transition from Physical to VirtualVMWorld 2004 - Justifying the transition from Physical to Virtual
VMWorld 2004 - Justifying the transition from Physical to VirtualDavid Kent
 
Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Arnaud Bouchez
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesJim (张建军) Zhang
 
Dubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architectureDubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architectureHuxing Zhang
 

Similar to A Highly Decoupled Front-End Framework for High Trafficked Web Applications (20)

Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentals
 
Novelty in Non-Greenfield
Novelty in Non-GreenfieldNovelty in Non-Greenfield
Novelty in Non-Greenfield
 
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
 
On-Demand Production Infrastructure delivered Just In Time By Shane Guthrie o...
On-Demand Production Infrastructure delivered Just In Time By Shane Guthrie o...On-Demand Production Infrastructure delivered Just In Time By Shane Guthrie o...
On-Demand Production Infrastructure delivered Just In Time By Shane Guthrie o...
 
Dynamic Service Configuration and Automated Network Configuration with NETCON...
Dynamic Service Configuration and Automated Network Configuration with NETCON...Dynamic Service Configuration and Automated Network Configuration with NETCON...
Dynamic Service Configuration and Automated Network Configuration with NETCON...
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentation
 
DevOps for Network Engineers
DevOps for Network EngineersDevOps for Network Engineers
DevOps for Network Engineers
 
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
SOA Mainframe Service Architecture and Enablement Practices Best and Worst Pr...
 
Resume2015
Resume2015Resume2015
Resume2015
 
MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021MuleSoft Manchester Meetup #4 slides 11th February 2021
MuleSoft Manchester Meetup #4 slides 11th February 2021
 
Enterprise Cloud Transformation
Enterprise Cloud TransformationEnterprise Cloud Transformation
Enterprise Cloud Transformation
 
Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?Migrating from a monolith to microservices – is it worth it?
Migrating from a monolith to microservices – is it worth it?
 
Service Architectures at Scale
Service Architectures at ScaleService Architectures at Scale
Service Architectures at Scale
 
High Scalability Network Performance Management for Enterprises
High Scalability Network Performance Management for EnterprisesHigh Scalability Network Performance Management for Enterprises
High Scalability Network Performance Management for Enterprises
 
Enable business continuity and high availability through active active techno...
Enable business continuity and high availability through active active techno...Enable business continuity and high availability through active active techno...
Enable business continuity and high availability through active active techno...
 
Envisioning the Network Cloud
Envisioning the Network CloudEnvisioning the Network Cloud
Envisioning the Network Cloud
 
VMWorld 2004 - Justifying the transition from Physical to Virtual
VMWorld 2004 - Justifying the transition from Physical to VirtualVMWorld 2004 - Justifying the transition from Physical to Virtual
VMWorld 2004 - Justifying the transition from Physical to Virtual
 
Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference Ekon20 mORMot SOA Delphi Conference
Ekon20 mORMot SOA Delphi Conference
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
 
Dubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architectureDubbo and Weidian's practice on micro-service architecture
Dubbo and Weidian's practice on micro-service architecture
 

A Highly Decoupled Front-End Framework for High Trafficked Web Applications

  • 1. A Highly Decoupled Front-End Framework for High Traficked Web Applications Andrzej Tucholka & Prem Gurbani ICIW 2010, Barcelona, Spain
  • 2. Outline • About Tuenti • Motivations for building a new Front-End Architecture & Strategy • Design Overview • Performance & Metrics on a PoC • Future Work
  • 3. About Tuenti • Largest social network in Spain • Highest trafficked website in Spain • Over 6 million users • Over a billion page-views / day • Over 130 employees
  • 4. Old System • In-house built MVC-like and in-house built template engine • Limitations of current system:  tight inter-team dependencies  duplicated work when adding additional client applications (mobile, etc)  limited opportunities for external usage  limited caching solutions in the front-end  limited flexibility in UI development
  • 5. New FE Architecture & Strategy • Concerns addressed: flexibility, cost, schedule, integrability and... performance • Responsibilities o UI interaction & behavior o Templating and UI rendering o Client - server communication o Interact with Backend & Domain core o Controllers logic & produce data output
  • 6. New FE Architecture & Strategy • Principle: a highly decoupled system • How? Natural separation of concerns: o Structure (HTML) o Style (CSS) o Behavior & Control (JS) o Data (JSON-RPC)
  • 7. Closer Look at the Client Side FW
  • 8. Closer look at the Server-Side FW • Server no longer generates presentation. Only data • We have data-centric Controllers that freely interact between each other to provide the requested data. • Controllers instantiate Abstractions: these interact with the back-end domain core • We called this design PCA: Printer-Controller-Abstraction o Inspired by the architectural pattern known as PAC (Presentation-Abstraction-Controller)
  • 9. Closer look at the Server-Side FW • PCA's controllers o Controllers can communicate freely between them o Each has its own data-driven responsibility • PCA's abstractions o Interface with Domain core o Can be instantiated by multiple controllers • PCA can provide o Response buffering o Interchangeable printers o Build a highly cohesive system
  • 10. Closer look at the Server-Side FW
  • 11. Metrics on a PoC Savings from 43 to 78% Savings between 45 and 91%
  • 12. Metrics on a PoC Savings between 45 and 91%
  • 14. Benefits • Simplifies maintenance of multiple interfaces • Reducing the need for server-side changes • Teams focus on core responsibilities • Improved parallelized development • Improve testing and release procedures • Reduce TCO: drastic savings in bandwidth and server load
  • 15. Future Work • Challenges launching in Live environment • Analyze performance on client-side • Possibility to run Client-Side FW on Server • Enhancements to current API controllers structure • Mobile browser Client-Side FWs
  • 16. Questions? Andrzej Tucholka - andrzej@tuenti.com Prem Gurbani - prem@tuenti.com Interested in shaping the future? Check out http://jobs.tuenti.com