SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
RUNCOM MOBILE’S END-TO-END
MESSAGING SOLUTION (MMGS)

Lahav Savir   Back-end Systems Architect
Alon Klein    VP R&D
                                           26 June 2009

                                                          1
What is MMGS?
• Instant Messaging (IM) gateway, connecting to public
  and private communities
• Email gateway, providing mobile email service




                                                         2
Introduction
• IXI Mobile founded in 2000 also doing business under
  the name of Runcom Mobile
• IXI Mobile develops the Ogo family of mobile devices
  optimized for messaging applications
• IXI provides end to end messaging solutions for smart
  phones




                                                          3
A Bit Of History
• Passed through several generations of devices




• Deployed worldwide with several communities
• Used to work with 3rd party messaging gateway providers




                                                            4
We want our own solution !
•   Control service quality
•   Control roadmap features
•   Maximum visibility to the system status
•   Ability to add unique optimizations for mobile networks
•   Self hosting
•   Own the IP
•   Time to market
•   Learn from past experience…
•   Royalty free


                                                              5
High Level Requirements
• Keep it simple!             •   (Almost) Zero downtime
• Huge capacity and           •   No single point of failure
  throughput (100K’s users)   •   Error recovery
• Scalable, Extendable        •   Transparent failovers
• Low spec machines           •   Distributed architecture
  (<3K$)                      •   Security
• Minimum data replication    •   Log file writing (no DB)
  among clusters for best
  performance                 •   No Relational Database




                                                               6
Technology and market survey
• Reviewed several vendor offerings
• Reviewed several technologies
   – ‘Standard’ C/C++
   – Java based
   – Erlang




                                                   7
And the winner is… Erlang
• Strengths of Erlang that helped with this decision
   –   Native concurrency support
   –   Native distributed architecture for scalability and redundancy
   –   Reference products
   –   Quick POC
   –   Short time to market




                                                                        8
Project steps and progress
• Proof of concept – Functional service after 2 months (!)
• System design, based on POC learnt knowledge
• 7 phases of major deliveries
   – Build  Test   Deploy
   – Each phase ended with a functional tested service
• Production within 10 months from kick off
   – Worlds first MSP3.0 certified GW
• Load testing, Load testing, Load testing …
   – And still, what you don’t test will fail on production ☺




                                                                9
Architecture Approach – POC Conclusions
• Focus on GW features          • Clustering
• 3 Tiers                          – No single point of failure
   – Front-end, Router,            – Redundant components
     Transport                     – In-memory replicated DB
   – High-Speed RPC System           (minimal shared data)
     (eTunnel)                     – Internal health system
• Security                         – Advanced failover
   – No access to core          • Load Balancing
     switching & session data      –   Hash based distribution
   – Limited access to             –   Consistent paths
     transport nodes               –   Least connections
   – One way firewalls             –   URL load balancing
Outlined topology
            Front-ends               Routers               Transports




  Load                                                                    Load
                         Firewalls             Firewalls
Balancers                                                               Balancers




                         eTunnel               eTunnel



                                                                                    11
System Architecture
Performance Benchmark Measures
Setup
• Basic cluster built of 11 servers
   – Dual core, 2Gb RAM machines


Instant Messaging performance
• 150,000 Connected users
• 12,600 Messages per second
• 45,000,000 Messages an hour

System resources
• 50%-60% system utilization
What Made the Difference?
•   High speed socket based RPC – eTunnel
•   Resource pools (eBalancer)
•   Minimal data sharing
•   Hash based distribution between layers makes consistent path
    through layers
•   Integration with 3rd party load balancer (URL SLB, health)
•   Reduce destructive DB operations, especially on replicated tables
•   Forced GC
•   Network interface pools
•   No front end firewalls
•   Internal health system integrated with topology manager
•   Extensive SNMP MIBs
•   Throttling – Control concurrency
Satellite Systems
• Authentication
   – Authentication, Authorization & Control over the service delivered
• Reporting
   – Nearly real-time usage reports aggregated to an hour cycle
• Operation and Maintanance
   –   Stop / Start, Watch real-time alarms, configuration
   –   Traceability and troubleshooting
   –   Software update - hot patch distribution and loading
   –   Central log console
   –   Central graphing system
• Real Time Monitoring – Infrastructure, OS and App
Authentication UI




                    16
Reporting system UI




                      17
Operation & Management UI




                            18
Graph system UI




                  19
Monitor view




               20
Thank you

Contenu connexe

Tendances

Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANGTail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANGTail-f Systems
 
DevoFlow - Scaling Flow Management for High-Performance Networks
DevoFlow - Scaling Flow Management for High-Performance NetworksDevoFlow - Scaling Flow Management for High-Performance Networks
DevoFlow - Scaling Flow Management for High-Performance NetworksJason TC HOU (侯宗成)
 
Software defined networks and openflow protocol
Software defined networks and openflow protocolSoftware defined networks and openflow protocol
Software defined networks and openflow protocolMahesh Mohan
 
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...Haidee McMahon
 
DPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy HarveyDPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy Harveyharryvanhaaren
 
OpenKilda: Stream Processing Meets Openflow
OpenKilda: Stream Processing Meets OpenflowOpenKilda: Stream Processing Meets Openflow
OpenKilda: Stream Processing Meets OpenflowAPNIC
 
Dynamic Service Chaining
Dynamic Service Chaining Dynamic Service Chaining
Dynamic Service Chaining Tail-f Systems
 
Unified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network DevicesUnified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network DevicesTal Lavian Ph.D.
 
CommScope RUCKUS ICX Switching Configuration
CommScope RUCKUS ICX Switching ConfigurationCommScope RUCKUS ICX Switching Configuration
CommScope RUCKUS ICX Switching ConfigurationCarla Nadin
 
Integrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing PlatformsIntegrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing PlatformsTal Lavian Ph.D.
 
Modern Software Architecture
Modern Software Architecture Modern Software Architecture
Modern Software Architecture Ahmed Marzouk
 
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...Haidee McMahon
 
Embracing SDN in the Next Gen Network
Embracing SDN in the Next Gen NetworkEmbracing SDN in the Next Gen Network
Embracing SDN in the Next Gen NetworkNetCraftsmen
 
Sdn and open flow tutorial 4
Sdn and open flow tutorial 4Sdn and open flow tutorial 4
Sdn and open flow tutorial 4UmaMahesh Sistu
 
SDN: an introduction
SDN: an introductionSDN: an introduction
SDN: an introductionLuca Profico
 

Tendances (20)

Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANGTail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
Tail-f Webinar OpenFlow Switch Management Using NETCONF and YANG
 
Sdn ppt
Sdn pptSdn ppt
Sdn ppt
 
DevoFlow - Scaling Flow Management for High-Performance Networks
DevoFlow - Scaling Flow Management for High-Performance NetworksDevoFlow - Scaling Flow Management for High-Performance Networks
DevoFlow - Scaling Flow Management for High-Performance Networks
 
Software defined networks and openflow protocol
Software defined networks and openflow protocolSoftware defined networks and openflow protocol
Software defined networks and openflow protocol
 
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
 
Software defined networking
Software defined networkingSoftware defined networking
Software defined networking
 
Software Defined Networking
Software Defined NetworkingSoftware Defined Networking
Software Defined Networking
 
DPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy HarveyDPDK Architecture Musings - Andy Harvey
DPDK Architecture Musings - Andy Harvey
 
OpenKilda: Stream Processing Meets Openflow
OpenKilda: Stream Processing Meets OpenflowOpenKilda: Stream Processing Meets Openflow
OpenKilda: Stream Processing Meets Openflow
 
Software Defined Networking: Primer
Software Defined Networking: Primer Software Defined Networking: Primer
Software Defined Networking: Primer
 
Dynamic Service Chaining
Dynamic Service Chaining Dynamic Service Chaining
Dynamic Service Chaining
 
Unified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network DevicesUnified Device Management via Java-enabled Network Devices
Unified Device Management via Java-enabled Network Devices
 
Learnings from Carrier SDN Deployments
Learnings from Carrier SDN DeploymentsLearnings from Carrier SDN Deployments
Learnings from Carrier SDN Deployments
 
CommScope RUCKUS ICX Switching Configuration
CommScope RUCKUS ICX Switching ConfigurationCommScope RUCKUS ICX Switching Configuration
CommScope RUCKUS ICX Switching Configuration
 
Integrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing PlatformsIntegrating Active Networking and Commercial-Grade Routing Platforms
Integrating Active Networking and Commercial-Grade Routing Platforms
 
Modern Software Architecture
Modern Software Architecture Modern Software Architecture
Modern Software Architecture
 
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017  - ...
Intel's Out of the Box Network Developers Ireland Meetup on March 29 2017 - ...
 
Embracing SDN in the Next Gen Network
Embracing SDN in the Next Gen NetworkEmbracing SDN in the Next Gen Network
Embracing SDN in the Next Gen Network
 
Sdn and open flow tutorial 4
Sdn and open flow tutorial 4Sdn and open flow tutorial 4
Sdn and open flow tutorial 4
 
SDN: an introduction
SDN: an introductionSDN: an introduction
SDN: an introduction
 

En vedette

Multi Layer Monitoring V1
Multi Layer Monitoring V1Multi Layer Monitoring V1
Multi Layer Monitoring V1Lahav Savir
 
Building an HPC Cluster in 10 Minutes
Building an HPC Cluster in 10 MinutesBuilding an HPC Cluster in 10 Minutes
Building an HPC Cluster in 10 MinutesMonica Rut Avellino
 
How to Secure Genomic Data in the Cloud
How to Secure Genomic Data in the CloudHow to Secure Genomic Data in the Cloud
How to Secure Genomic Data in the CloudMonica Rut Avellino
 
DevOps sensors 360° high availability in the cloud
DevOps sensors 360°   high availability in the cloudDevOps sensors 360°   high availability in the cloud
DevOps sensors 360° high availability in the cloudLahav Savir
 
Architecting Cloud Applications - the essential checklist
Architecting Cloud Applications - the essential checklistArchitecting Cloud Applications - the essential checklist
Architecting Cloud Applications - the essential checklistObject Consulting
 
Emind’s Architecture for Enterprise with AWS Integration
Emind’s Architecture for Enterprise with AWS IntegrationEmind’s Architecture for Enterprise with AWS Integration
Emind’s Architecture for Enterprise with AWS IntegrationLahav Savir
 
Build Secure Cloud Solution using F5 BIG-IP on AWS
Build Secure Cloud Solution using F5 BIG-IP on AWSBuild Secure Cloud Solution using F5 BIG-IP on AWS
Build Secure Cloud Solution using F5 BIG-IP on AWSLahav Savir
 
Docker on AWS - the Right Way
Docker on AWS - the Right WayDocker on AWS - the Right Way
Docker on AWS - the Right WayAllCloud
 

En vedette (12)

Multi Layer Monitoring V1
Multi Layer Monitoring V1Multi Layer Monitoring V1
Multi Layer Monitoring V1
 
Building an HPC Cluster in 10 Minutes
Building an HPC Cluster in 10 MinutesBuilding an HPC Cluster in 10 Minutes
Building an HPC Cluster in 10 Minutes
 
AWS Educate
AWS Educate   AWS Educate
AWS Educate
 
How to Secure Genomic Data in the Cloud
How to Secure Genomic Data in the CloudHow to Secure Genomic Data in the Cloud
How to Secure Genomic Data in the Cloud
 
Intro to HPC on AWS
Intro to HPC on AWSIntro to HPC on AWS
Intro to HPC on AWS
 
AWS 101
AWS 101AWS 101
AWS 101
 
DevOps sensors 360° high availability in the cloud
DevOps sensors 360°   high availability in the cloudDevOps sensors 360°   high availability in the cloud
DevOps sensors 360° high availability in the cloud
 
Architecting Cloud Applications - the essential checklist
Architecting Cloud Applications - the essential checklistArchitecting Cloud Applications - the essential checklist
Architecting Cloud Applications - the essential checklist
 
Emind’s Architecture for Enterprise with AWS Integration
Emind’s Architecture for Enterprise with AWS IntegrationEmind’s Architecture for Enterprise with AWS Integration
Emind’s Architecture for Enterprise with AWS Integration
 
AWS and Scientific Computing
AWS and Scientific ComputingAWS and Scientific Computing
AWS and Scientific Computing
 
Build Secure Cloud Solution using F5 BIG-IP on AWS
Build Secure Cloud Solution using F5 BIG-IP on AWSBuild Secure Cloud Solution using F5 BIG-IP on AWS
Build Secure Cloud Solution using F5 BIG-IP on AWS
 
Docker on AWS - the Right Way
Docker on AWS - the Right WayDocker on AWS - the Right Way
Docker on AWS - the Right Way
 

Similaire à Lahav Savir - Massively Scaleable Mobile Gateways

Software-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief IntroductionSoftware-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief IntroductionJason TC HOU (侯宗成)
 
DCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDocker, Inc.
 
Agile infrastructure
Agile infrastructureAgile infrastructure
Agile infrastructureTarun Rajput
 
Kubernetes Infra 2.0
Kubernetes Infra 2.0Kubernetes Infra 2.0
Kubernetes Infra 2.0Deepak Sood
 
TotalView Debugger On Blue Gene
TotalView Debugger On Blue GeneTotalView Debugger On Blue Gene
TotalView Debugger On Blue GeneTotalviewtech
 
Oracle ExaLogic Overview
Oracle ExaLogic OverviewOracle ExaLogic Overview
Oracle ExaLogic OverviewPeter Doolan
 
Kaseya Connect 2012 - THE ABC'S OF MONITORING
Kaseya Connect 2012 - THE ABC'S OF MONITORINGKaseya Connect 2012 - THE ABC'S OF MONITORING
Kaseya Connect 2012 - THE ABC'S OF MONITORINGKaseya
 
Tiger oracle
Tiger oracleTiger oracle
Tiger oracled0nn9n
 
Couchbase Performance Benchmarking
Couchbase Performance BenchmarkingCouchbase Performance Benchmarking
Couchbase Performance BenchmarkingRenat Khasanshyn
 
Couchbase Performance Benchmarking 2012
Couchbase Performance Benchmarking 2012Couchbase Performance Benchmarking 2012
Couchbase Performance Benchmarking 2012Altoros
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architectureandreaskallberg
 
Eci Mobile Computing 20120724 Bryantafel
Eci   Mobile Computing 20120724   BryantafelEci   Mobile Computing 20120724   Bryantafel
Eci Mobile Computing 20120724 BryantafelBryan Tafel
 
MicroServices architecture @ Ctrip v1.1
MicroServices architecture @ Ctrip v1.1MicroServices architecture @ Ctrip v1.1
MicroServices architecture @ Ctrip v1.1William Yang
 
Event Driven-Architecture from a Scalability perspective
Event Driven-Architecture from a Scalability perspectiveEvent Driven-Architecture from a Scalability perspective
Event Driven-Architecture from a Scalability perspectiveJonas Bonér
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?NGINX, Inc.
 
Don't Architect a Real-Time System that Can't Scale
Don't Architect a Real-Time System that Can't ScaleDon't Architect a Real-Time System that Can't Scale
Don't Architect a Real-Time System that Can't ScaleReal-Time Innovations (RTI)
 

Similaire à Lahav Savir - Massively Scaleable Mobile Gateways (20)

Software-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief IntroductionSoftware-Defined Networking SDN - A Brief Introduction
Software-Defined Networking SDN - A Brief Introduction
 
DCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to MicroservicesDCEU 18: From Monolith to Microservices
DCEU 18: From Monolith to Microservices
 
Agile infrastructure
Agile infrastructureAgile infrastructure
Agile infrastructure
 
Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)Introduction to Software Defined Networking (SDN)
Introduction to Software Defined Networking (SDN)
 
Introductionto SDN
Introductionto SDN Introductionto SDN
Introductionto SDN
 
Kubernetes Infra 2.0
Kubernetes Infra 2.0Kubernetes Infra 2.0
Kubernetes Infra 2.0
 
TotalView Debugger On Blue Gene
TotalView Debugger On Blue GeneTotalView Debugger On Blue Gene
TotalView Debugger On Blue Gene
 
Oracle ExaLogic Overview
Oracle ExaLogic OverviewOracle ExaLogic Overview
Oracle ExaLogic Overview
 
Kaseya Connect 2012 - THE ABC'S OF MONITORING
Kaseya Connect 2012 - THE ABC'S OF MONITORINGKaseya Connect 2012 - THE ABC'S OF MONITORING
Kaseya Connect 2012 - THE ABC'S OF MONITORING
 
Tiger oracle
Tiger oracleTiger oracle
Tiger oracle
 
Couchbase Performance Benchmarking
Couchbase Performance BenchmarkingCouchbase Performance Benchmarking
Couchbase Performance Benchmarking
 
Couchbase Performance Benchmarking 2012
Couchbase Performance Benchmarking 2012Couchbase Performance Benchmarking 2012
Couchbase Performance Benchmarking 2012
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
Eci Mobile Computing 20120724 Bryantafel
Eci   Mobile Computing 20120724   BryantafelEci   Mobile Computing 20120724   Bryantafel
Eci Mobile Computing 20120724 Bryantafel
 
SDN Basics
SDN BasicsSDN Basics
SDN Basics
 
MicroServices architecture @ Ctrip v1.1
MicroServices architecture @ Ctrip v1.1MicroServices architecture @ Ctrip v1.1
MicroServices architecture @ Ctrip v1.1
 
Event Driven-Architecture from a Scalability perspective
Event Driven-Architecture from a Scalability perspectiveEvent Driven-Architecture from a Scalability perspective
Event Driven-Architecture from a Scalability perspective
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
 
Play With Streams
Play With StreamsPlay With Streams
Play With Streams
 
Don't Architect a Real-Time System that Can't Scale
Don't Architect a Real-Time System that Can't ScaleDon't Architect a Real-Time System that Can't Scale
Don't Architect a Real-Time System that Can't Scale
 

Plus de Lahav Savir

How to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-EndHow to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-EndLahav Savir
 
Best of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationBest of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationLahav Savir
 
How to protect your IoT data on AWS
How to protect your IoT data on AWSHow to protect your IoT data on AWS
How to protect your IoT data on AWSLahav Savir
 
How to Protect your AWS Environment
How to Protect your AWS EnvironmentHow to Protect your AWS Environment
How to Protect your AWS EnvironmentLahav Savir
 
Real-Time Vote Platform Benchmark
Real-Time Vote Platform BenchmarkReal-Time Vote Platform Benchmark
Real-Time Vote Platform BenchmarkLahav Savir
 
Running an erlang based messaging system on AWS
Running an erlang based messaging system on AWSRunning an erlang based messaging system on AWS
Running an erlang based messaging system on AWSLahav Savir
 
Deploying secure backup on to the Cloud
Deploying secure backup on to the CloudDeploying secure backup on to the Cloud
Deploying secure backup on to the CloudLahav Savir
 
סע לשלום - הדרכה לרכזים כיתתיים
סע לשלום - הדרכה לרכזים כיתתייםסע לשלום - הדרכה לרכזים כיתתיים
סע לשלום - הדרכה לרכזים כיתתייםLahav Savir
 

Plus de Lahav Savir (8)

How to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-EndHow to Secure Your AWS Powered Mobile App End-to-End
How to Secure Your AWS Powered Mobile App End-to-End
 
Best of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentationBest of re:Invent 2016 meetup presentation
Best of re:Invent 2016 meetup presentation
 
How to protect your IoT data on AWS
How to protect your IoT data on AWSHow to protect your IoT data on AWS
How to protect your IoT data on AWS
 
How to Protect your AWS Environment
How to Protect your AWS EnvironmentHow to Protect your AWS Environment
How to Protect your AWS Environment
 
Real-Time Vote Platform Benchmark
Real-Time Vote Platform BenchmarkReal-Time Vote Platform Benchmark
Real-Time Vote Platform Benchmark
 
Running an erlang based messaging system on AWS
Running an erlang based messaging system on AWSRunning an erlang based messaging system on AWS
Running an erlang based messaging system on AWS
 
Deploying secure backup on to the Cloud
Deploying secure backup on to the CloudDeploying secure backup on to the Cloud
Deploying secure backup on to the Cloud
 
סע לשלום - הדרכה לרכזים כיתתיים
סע לשלום - הדרכה לרכזים כיתתייםסע לשלום - הדרכה לרכזים כיתתיים
סע לשלום - הדרכה לרכזים כיתתיים
 

Lahav Savir - Massively Scaleable Mobile Gateways

  • 1. RUNCOM MOBILE’S END-TO-END MESSAGING SOLUTION (MMGS) Lahav Savir Back-end Systems Architect Alon Klein VP R&D 26 June 2009 1
  • 2. What is MMGS? • Instant Messaging (IM) gateway, connecting to public and private communities • Email gateway, providing mobile email service 2
  • 3. Introduction • IXI Mobile founded in 2000 also doing business under the name of Runcom Mobile • IXI Mobile develops the Ogo family of mobile devices optimized for messaging applications • IXI provides end to end messaging solutions for smart phones 3
  • 4. A Bit Of History • Passed through several generations of devices • Deployed worldwide with several communities • Used to work with 3rd party messaging gateway providers 4
  • 5. We want our own solution ! • Control service quality • Control roadmap features • Maximum visibility to the system status • Ability to add unique optimizations for mobile networks • Self hosting • Own the IP • Time to market • Learn from past experience… • Royalty free 5
  • 6. High Level Requirements • Keep it simple! • (Almost) Zero downtime • Huge capacity and • No single point of failure throughput (100K’s users) • Error recovery • Scalable, Extendable • Transparent failovers • Low spec machines • Distributed architecture (<3K$) • Security • Minimum data replication • Log file writing (no DB) among clusters for best performance • No Relational Database 6
  • 7. Technology and market survey • Reviewed several vendor offerings • Reviewed several technologies – ‘Standard’ C/C++ – Java based – Erlang 7
  • 8. And the winner is… Erlang • Strengths of Erlang that helped with this decision – Native concurrency support – Native distributed architecture for scalability and redundancy – Reference products – Quick POC – Short time to market 8
  • 9. Project steps and progress • Proof of concept – Functional service after 2 months (!) • System design, based on POC learnt knowledge • 7 phases of major deliveries – Build Test Deploy – Each phase ended with a functional tested service • Production within 10 months from kick off – Worlds first MSP3.0 certified GW • Load testing, Load testing, Load testing … – And still, what you don’t test will fail on production ☺ 9
  • 10. Architecture Approach – POC Conclusions • Focus on GW features • Clustering • 3 Tiers – No single point of failure – Front-end, Router, – Redundant components Transport – In-memory replicated DB – High-Speed RPC System (minimal shared data) (eTunnel) – Internal health system • Security – Advanced failover – No access to core • Load Balancing switching & session data – Hash based distribution – Limited access to – Consistent paths transport nodes – Least connections – One way firewalls – URL load balancing
  • 11. Outlined topology Front-ends Routers Transports Load Load Firewalls Firewalls Balancers Balancers eTunnel eTunnel 11
  • 13. Performance Benchmark Measures Setup • Basic cluster built of 11 servers – Dual core, 2Gb RAM machines Instant Messaging performance • 150,000 Connected users • 12,600 Messages per second • 45,000,000 Messages an hour System resources • 50%-60% system utilization
  • 14. What Made the Difference? • High speed socket based RPC – eTunnel • Resource pools (eBalancer) • Minimal data sharing • Hash based distribution between layers makes consistent path through layers • Integration with 3rd party load balancer (URL SLB, health) • Reduce destructive DB operations, especially on replicated tables • Forced GC • Network interface pools • No front end firewalls • Internal health system integrated with topology manager • Extensive SNMP MIBs • Throttling – Control concurrency
  • 15. Satellite Systems • Authentication – Authentication, Authorization & Control over the service delivered • Reporting – Nearly real-time usage reports aggregated to an hour cycle • Operation and Maintanance – Stop / Start, Watch real-time alarms, configuration – Traceability and troubleshooting – Software update - hot patch distribution and loading – Central log console – Central graphing system • Real Time Monitoring – Infrastructure, OS and App