SlideShare a Scribd company logo
1 of 25
Running an Erlang Based
Messaging System on AWS
Lahav Savir, Architect & CEO
Emind systems Ltd.
lahavs@emind.co
About
Lahav Savir
• 15++ years’ experience
• Architect and CEO @ Emind Systems
Emind Systems (est. 2006)
• Highly professional system integrator
• Dedicated Cloud Architects and DevOps teams
• 24x7 SLA by DevOps Specialists
• ~100 AWS customers
• Partnerships with leading cloud vendors
Partnerships
Amazon Advanced Consulting Partner
https://aws.amazon.com/solution-providers/si/emind-systems-ltd
What is MMGS ?
MMGS is an End-to-End Mobile Messaging Gateway System
• Mobile Instant Messaging Gateway that enables optimized connection to
various back-end community protocols
• Mobile E-Mail Gateway that enables optimized communication between
handset and any mail server
• Control including Management, Authentication, Authorization, Billing and
Reporting capabilities
Mobile Messaging
Gateway System
(MMGS)
WV / XHTML / AJAX
IMAP4 / SMTP
Wireless
Network
XMPP
GTalk
ISP Mail
Server
MMGS Supported Features
• Supported Clients
– Ogo family of devices
– Generic Handset Client
(J2ME)
– Web Client (Mobile & PC)
• Instant Messaging
Communities
– Windows Live (MSP3.0)
– ICQ, AIM
– GTalk
– Jabber (XMPP)
– Facebook + Chat
• E-mail Gateway Services
– E-mail Push
– IMAP, POP3, SMTP
– Forward without
Download (LEMONADE)
– Hotmail through MSP3.0
• Optimized IM Data Channel
– Secure access to IM Services
– Enables data optimization between Client and MMGS
– Reduces data traffic consumption by 70%-80%
– Increases battery life time
• Optimized E-mail Access Services
– Secure access (IMAP + SSL, SMTP + SSL)
– Email Push using IMAP IDLE (supports POP3, IMAP, Hotmail
mailboxes)
– E-mail attachments
– E-mail content adaptation
– Reduces data traffic consumption by 70%-80%
Optimizations & Enhancements
Architecture Approach
• Focus on GW features
• 3 Tiers
– Front-end, Router, Transport
– High-Speed RPC System
(eTunnel)
• Security
– No access to core switching
& session data
– Limited access to transport
nodes
– One way firewalls
• Clustering
– No single point of failure
– Redundant components
– In-memory replicated DB
(minimal shared data)
– Internal health system
– Advanced failover
• Load Balancing
– Hash based distribution
– Consistent paths
– Least connections
– URL load balancing
FIFO Queue
(add & clear)
Generic Transport node
In-memory cache
/ Disk cache
Notification
Handler
Throttle
Community Servers
Log
SNMP
O&M
System Architecture
Windows
Live Service
ICQ Service
AOL
Service
YMSG
Service
WV Plug-in
Router
MSP
Plug-in
ICQ
Plug-in
AOL Plug-
in
XMPP
Plug-in
WV Front-end CIR Front-end
WBXML
HTTP WVoTCP CIR Server
XMPP Plug-in
XMPP Front-end
XMPP API
Private IM
Front-endRouterTransport
3rd
Parties
Web Front-end
IM Client
Web Plug-in
User Interface
GIS Plug-in
SMTP
Plug-in
POP3
Plug-in
IMAP
Plug-in
MSP
AOL
WV
Proto.
XMPP
XMPP
Proto.
ICQ
WV
Proto.
MSP
MSP
Proto.
IMAP
IMAP
Proto.
POP3
POP3
Prot.
SMTP
SMTP
Proto.
BOSH
Mail Service
Contact
s
XML/
HTTP
Contacts
Plugin
Contact
Service
YMSG
WV
Proto.
Profile Svc.
Plug-in
Cache
Video Relay
Plug-in
Facebo
ok
FB
Proto.
Twitter
Twitter
Proto.
Facebook Twitter
Facebook Twitter
IMAP Front-end
IMAP
SMTP Front-end
SMTP
SMTP Plug-inIMAP Plug-in
Gtalk
Service
MMGS
Available
Componenet
MMGS Future
Component
Legend
3rd
Party
System
Content
Convertor
Reporting
Authentication
Management
Monitoring
Logging
Satellite
Systems
No single point of failure
TransportsRoutersFront-ends
Firewalls Firewalls
Load
Balancers
Load
Balancers
eTunnel eTunnel
AWS Deployment
Performance Benchmark Measures
Setup
• Basic cluster built of 11 servers
– m1.medium and m1.large instances
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 / Distributing the data
• Hash based distribution between layers makes consistent path through
layers
• Health checks Integration with load balancer
• Reduce destructive DB operations, especially on replicated tables
• Internal health system integrated with topology manager
• Extensive SNMP MIBs
• Throttling – Control concurrency
Flexibility for business models
• Reporting sys.
integrated with
authentication &
authorization
• Supports any
business model
• Daily / monthly
pay
• Per use
• Per Message
• Per data size
• Per Service
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 System
The Authentication System is a satellite system providing full Authentication,
Authorization & Control over the service delivered by MMGS
• Source IP based access
• Device based access (enable / disable a device)
• Service based access (enable / disable a service for a device)
– MSN, ICQ, AIM, Jabber, Gtalk, IMAP, POP3, Hotmail, Facebook
• Feature based access (enable / disable a specific feature for a service)
– Nudge, Tiles, E-mail Push, E-mail Attachments
• User friendly, secure and easy to use Web GUI
• Feature Rich and secure XML over HTTP API to enable operators to
manage the service delivered to their customer
Authentication UI
Reporting System
The reporting system provides a nearly real-time
usage reports aggregated to an hour cycle
• Operator based reports, summary of activities for an
operator
• Service based reports, summary of activities for a service
• Device based reports, summary of activities for device
• Secure Web Based User Interface
• Secure XML over HTTP rich API to support Operators
billing systems
Reporting system UI
Operation & Maintenance
The Operation & Maintenance provides full control over
the MMGS servers
• Complete cluster management
– Stop / Start, Watch real-time alarms, configuration
– Traceability - trace system control over, stop / start device
based trace, configure logging level
– Troubleshooting – configuration mismatch, version
mismatch, topology mismatch
– Software update - hot patch distribution and loading
• Central Log console
• Central graphing system provides an in depth view into
the systems counters (real-time and historical)
Operation & Management UI
Real-Time Monitoring
Real-Time Monitoring system provides an in
depth monitoring of the system’s resources
and performance via Web Based UI
• Service operator view
• Customer view
• Service counters thresholds (QoS, success rates, message latency)
• Application Counters threshold (application concurrency)
• Application Services (Protocols)
• Operating System threshold (CPU, Mem, Disks, Net)
• Hardware Resources
Graph system UI
Summary
• Mobile Aware
• Optimized data channels
• Longer battery life
• Protocol Conversion
• Content Adaptation
• Authentication &
Authorization
• Service, Device and Feature
levels
• Billing
• Operator, Device and
Service levels
• Management & Control
• User friendly operation
• In depth system visibility
• Redundancy & Scalability
• Active/active (no single
point of failure)
• Linear scalability
• Proven high performance
• Security
• One way firewall
• 3 Physical layers
lahavs@emind.co
+972 (54) 4321688
http://www.emind.co

More Related Content

What's hot

dtechnClouologyassociatepart2
dtechnClouologyassociatepart2dtechnClouologyassociatepart2
dtechnClouologyassociatepart2
Anne Starr
 
Presentation on How to build your Windows Azure Practice
Presentation on How to build your Windows Azure PracticePresentation on How to build your Windows Azure Practice
Presentation on How to build your Windows Azure Practice
Microsoft Private Cloud
 
Data Power Architectural Patterns - Jagadish Vemugunta
Data Power Architectural Patterns - Jagadish VemuguntaData Power Architectural Patterns - Jagadish Vemugunta
Data Power Architectural Patterns - Jagadish Vemugunta
floridawusergroup
 
Modernize Java Apps on Microsoft Azure
Modernize Java Apps on Microsoft AzureModernize Java Apps on Microsoft Azure
Modernize Java Apps on Microsoft Azure
David J Rosenthal
 
Microsoft private cloud
Microsoft private cloudMicrosoft private cloud
Microsoft private cloud
ebuc
 

What's hot (20)

dtechnClouologyassociatepart2
dtechnClouologyassociatepart2dtechnClouologyassociatepart2
dtechnClouologyassociatepart2
 
Strategic Approaches to AWS Enterprise Application Migration - Technical 201
Strategic Approaches to AWS Enterprise Application Migration - Technical 201Strategic Approaches to AWS Enterprise Application Migration - Technical 201
Strategic Approaches to AWS Enterprise Application Migration - Technical 201
 
Presentation on How to build your Windows Azure Practice
Presentation on How to build your Windows Azure PracticePresentation on How to build your Windows Azure Practice
Presentation on How to build your Windows Azure Practice
 
Microsoft Microservices
Microsoft MicroservicesMicrosoft Microservices
Microsoft Microservices
 
AWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWSAWS Webcast - Datacenter Migration to AWS
AWS Webcast - Datacenter Migration to AWS
 
WSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to StratosWSO2Con 2011: Introduction to Stratos
WSO2Con 2011: Introduction to Stratos
 
Oracle Keynote Cloud Expo 11-04-09
Oracle Keynote Cloud Expo 11-04-09Oracle Keynote Cloud Expo 11-04-09
Oracle Keynote Cloud Expo 11-04-09
 
SaaS Architecture Past and Present
SaaS Architecture Past and PresentSaaS Architecture Past and Present
SaaS Architecture Past and Present
 
Data Power Architectural Patterns - Jagadish Vemugunta
Data Power Architectural Patterns - Jagadish VemuguntaData Power Architectural Patterns - Jagadish Vemugunta
Data Power Architectural Patterns - Jagadish Vemugunta
 
Cloud Migration: A How-To Guide
Cloud Migration: A How-To GuideCloud Migration: A How-To Guide
Cloud Migration: A How-To Guide
 
Modernize Java Apps on Microsoft Azure
Modernize Java Apps on Microsoft AzureModernize Java Apps on Microsoft Azure
Modernize Java Apps on Microsoft Azure
 
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
I Love APIs 2015: Building Predictive Apps with Lamda and MicroServices
 
Azure migration
Azure migrationAzure migration
Azure migration
 
Azure Application Modernization
Azure Application ModernizationAzure Application Modernization
Azure Application Modernization
 
Web Api services using IBM Datapower
Web Api services using IBM DatapowerWeb Api services using IBM Datapower
Web Api services using IBM Datapower
 
Microsoft private cloud
Microsoft private cloudMicrosoft private cloud
Microsoft private cloud
 
Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...
Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...
Enterprise Customer Cloud Consumption – Operating in a Hybrid Model – Alex Ne...
 
Introduction to Microsoft on AWS
Introduction to Microsoft on AWS Introduction to Microsoft on AWS
Introduction to Microsoft on AWS
 
How to build, manage and operate a successful saas business
How to build, manage and operate a successful saas businessHow to build, manage and operate a successful saas business
How to build, manage and operate a successful saas business
 
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
Massive Lift & Shift Migrations to Microsoft Azure with the Microsoft Migrati...
 

Similar to Running an erlang based messaging system on AWS

Element Management Subsystem
Element Management SubsystemElement Management Subsystem
Element Management Subsystem
devalnaik
 
Real-time Application Monitoring
Real-time Application MonitoringReal-time Application Monitoring
Real-time Application Monitoring
Amit Kumar Gupta
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Amazon Web Services
 
LogisticsWired Offering from MavenWire
LogisticsWired Offering from MavenWireLogisticsWired Offering from MavenWire
LogisticsWired Offering from MavenWire
MavenWire
 
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
mfrancis
 
Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.
sflynn073
 
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0Reference Architecture for Shared Services Hosting_SunilBabu_V2.0
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0
Sunil Babu
 
Investment bank in United Kingdom manages 1000 devices using OpManager
Investment bank in United Kingdom manages 1000 devices using OpManagerInvestment bank in United Kingdom manages 1000 devices using OpManager
Investment bank in United Kingdom manages 1000 devices using OpManager
ManageEngine, Zoho Corporation
 

Similar to Running an erlang based messaging system on AWS (20)

Element Management Subsystem
Element Management SubsystemElement Management Subsystem
Element Management Subsystem
 
Ibm aspera full product overview april 2019
Ibm aspera full product overview april 2019Ibm aspera full product overview april 2019
Ibm aspera full product overview april 2019
 
Real-time Application Monitoring
Real-time Application MonitoringReal-time Application Monitoring
Real-time Application Monitoring
 
Centerity Solution overview
Centerity Solution overviewCenterity Solution overview
Centerity Solution overview
 
Managing Microservices With The Istio Service Mesh on Kubernetes
Managing Microservices With The Istio Service Mesh on KubernetesManaging Microservices With The Istio Service Mesh on Kubernetes
Managing Microservices With The Istio Service Mesh on Kubernetes
 
Cloud computing and innovations
Cloud computing and  innovationsCloud computing and  innovations
Cloud computing and innovations
 
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
Using AWS to Build a Scalable Big Data Management & Processing Service (BDT40...
 
LogisticsWired Offering from MavenWire
LogisticsWired Offering from MavenWireLogisticsWired Offering from MavenWire
LogisticsWired Offering from MavenWire
 
gesa_sol.ppt
gesa_sol.pptgesa_sol.ppt
gesa_sol.ppt
 
Cloud Automation Manager
Cloud Automation ManagerCloud Automation Manager
Cloud Automation Manager
 
SUE AGILE Architecture (English)
SUE AGILE Architecture (English)SUE AGILE Architecture (English)
SUE AGILE Architecture (English)
 
Stop Wasting Energy on M2M
Stop Wasting Energy on M2MStop Wasting Energy on M2M
Stop Wasting Energy on M2M
 
Using AWS To Build A Scalable Machine Data Analytics Service
Using AWS To Build A Scalable Machine Data Analytics ServiceUsing AWS To Build A Scalable Machine Data Analytics Service
Using AWS To Build A Scalable Machine Data Analytics Service
 
Algorithmic Trading
Algorithmic TradingAlgorithmic Trading
Algorithmic Trading
 
M2M Integration Platform as a Service iPaaS
M2M Integration Platform as a Service iPaaSM2M Integration Platform as a Service iPaaS
M2M Integration Platform as a Service iPaaS
 
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
Enabling Technologies for Branded Wireless Services - Boris Klots, Motorola, ...
 
Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.Common DataPower use cases, incl Caching with XC-10 appliance.
Common DataPower use cases, incl Caching with XC-10 appliance.
 
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0Reference Architecture for Shared Services Hosting_SunilBabu_V2.0
Reference Architecture for Shared Services Hosting_SunilBabu_V2.0
 
Investment bank in United Kingdom manages 1000 devices using OpManager
Investment bank in United Kingdom manages 1000 devices using OpManagerInvestment bank in United Kingdom manages 1000 devices using OpManager
Investment bank in United Kingdom manages 1000 devices using OpManager
 
Amazon Connect Technical Introduction & Use Cases
Amazon Connect Technical Introduction & Use CasesAmazon Connect Technical Introduction & Use Cases
Amazon Connect Technical Introduction & Use Cases
 

More from Lahav 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 AWS
Lahav 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 Cloud
Lahav Savir
 
סע לשלום - הדרכה לרכזים כיתתיים
סע לשלום - הדרכה לרכזים כיתתייםסע לשלום - הדרכה לרכזים כיתתיים
סע לשלום - הדרכה לרכזים כיתתיים
Lahav Savir
 
Multi Layer Monitoring V1
Multi Layer Monitoring V1Multi Layer Monitoring V1
Multi Layer Monitoring V1
Lahav Savir
 
Lahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile GatewaysLahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir
 

More from Lahav Savir (12)

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
 
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
 
Real-Time Vote Platform Benchmark
Real-Time Vote Platform BenchmarkReal-Time Vote Platform Benchmark
Real-Time Vote Platform Benchmark
 
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
 
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
 
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
 
סע לשלום - הדרכה לרכזים כיתתיים
סע לשלום - הדרכה לרכזים כיתתייםסע לשלום - הדרכה לרכזים כיתתיים
סע לשלום - הדרכה לרכזים כיתתיים
 
Multi Layer Monitoring V1
Multi Layer Monitoring V1Multi Layer Monitoring V1
Multi Layer Monitoring V1
 
Lahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile GatewaysLahav Savir - Massively Scaleable Mobile Gateways
Lahav Savir - Massively Scaleable Mobile Gateways
 

Recently uploaded

Recently uploaded (20)

Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 

Running an erlang based messaging system on AWS

  • 1. Running an Erlang Based Messaging System on AWS Lahav Savir, Architect & CEO Emind systems Ltd. lahavs@emind.co
  • 2. About Lahav Savir • 15++ years’ experience • Architect and CEO @ Emind Systems Emind Systems (est. 2006) • Highly professional system integrator • Dedicated Cloud Architects and DevOps teams • 24x7 SLA by DevOps Specialists • ~100 AWS customers • Partnerships with leading cloud vendors
  • 3. Partnerships Amazon Advanced Consulting Partner https://aws.amazon.com/solution-providers/si/emind-systems-ltd
  • 4. What is MMGS ? MMGS is an End-to-End Mobile Messaging Gateway System • Mobile Instant Messaging Gateway that enables optimized connection to various back-end community protocols • Mobile E-Mail Gateway that enables optimized communication between handset and any mail server • Control including Management, Authentication, Authorization, Billing and Reporting capabilities Mobile Messaging Gateway System (MMGS) WV / XHTML / AJAX IMAP4 / SMTP Wireless Network XMPP GTalk ISP Mail Server
  • 5. MMGS Supported Features • Supported Clients – Ogo family of devices – Generic Handset Client (J2ME) – Web Client (Mobile & PC) • Instant Messaging Communities – Windows Live (MSP3.0) – ICQ, AIM – GTalk – Jabber (XMPP) – Facebook + Chat • E-mail Gateway Services – E-mail Push – IMAP, POP3, SMTP – Forward without Download (LEMONADE) – Hotmail through MSP3.0
  • 6. • Optimized IM Data Channel – Secure access to IM Services – Enables data optimization between Client and MMGS – Reduces data traffic consumption by 70%-80% – Increases battery life time • Optimized E-mail Access Services – Secure access (IMAP + SSL, SMTP + SSL) – Email Push using IMAP IDLE (supports POP3, IMAP, Hotmail mailboxes) – E-mail attachments – E-mail content adaptation – Reduces data traffic consumption by 70%-80% Optimizations & Enhancements
  • 7. Architecture Approach • Focus on GW features • 3 Tiers – Front-end, Router, Transport – High-Speed RPC System (eTunnel) • Security – No access to core switching & session data – Limited access to transport nodes – One way firewalls • Clustering – No single point of failure – Redundant components – In-memory replicated DB (minimal shared data) – Internal health system – Advanced failover • Load Balancing – Hash based distribution – Consistent paths – Least connections – URL load balancing
  • 8. FIFO Queue (add & clear) Generic Transport node In-memory cache / Disk cache Notification Handler Throttle Community Servers Log SNMP O&M
  • 9. System Architecture Windows Live Service ICQ Service AOL Service YMSG Service WV Plug-in Router MSP Plug-in ICQ Plug-in AOL Plug- in XMPP Plug-in WV Front-end CIR Front-end WBXML HTTP WVoTCP CIR Server XMPP Plug-in XMPP Front-end XMPP API Private IM Front-endRouterTransport 3rd Parties Web Front-end IM Client Web Plug-in User Interface GIS Plug-in SMTP Plug-in POP3 Plug-in IMAP Plug-in MSP AOL WV Proto. XMPP XMPP Proto. ICQ WV Proto. MSP MSP Proto. IMAP IMAP Proto. POP3 POP3 Prot. SMTP SMTP Proto. BOSH Mail Service Contact s XML/ HTTP Contacts Plugin Contact Service YMSG WV Proto. Profile Svc. Plug-in Cache Video Relay Plug-in Facebo ok FB Proto. Twitter Twitter Proto. Facebook Twitter Facebook Twitter IMAP Front-end IMAP SMTP Front-end SMTP SMTP Plug-inIMAP Plug-in Gtalk Service MMGS Available Componenet MMGS Future Component Legend 3rd Party System Content Convertor Reporting Authentication Management Monitoring Logging Satellite Systems
  • 10. No single point of failure TransportsRoutersFront-ends Firewalls Firewalls Load Balancers Load Balancers eTunnel eTunnel
  • 12. Performance Benchmark Measures Setup • Basic cluster built of 11 servers – m1.medium and m1.large instances Instant Messaging performance • 150,000 Connected users • 12,600 Messages per second • 45,000,000 Messages an hour System resources • 50%-60% system utilization
  • 13. What Made the Difference? • High speed socket based RPC – eTunnel • Resource pools (eBalancer) • Minimal data sharing / Distributing the data • Hash based distribution between layers makes consistent path through layers • Health checks Integration with load balancer • Reduce destructive DB operations, especially on replicated tables • Internal health system integrated with topology manager • Extensive SNMP MIBs • Throttling – Control concurrency
  • 14. Flexibility for business models • Reporting sys. integrated with authentication & authorization • Supports any business model • Daily / monthly pay • Per use • Per Message • Per data size • Per Service
  • 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
  • 16. Authentication System The Authentication System is a satellite system providing full Authentication, Authorization & Control over the service delivered by MMGS • Source IP based access • Device based access (enable / disable a device) • Service based access (enable / disable a service for a device) – MSN, ICQ, AIM, Jabber, Gtalk, IMAP, POP3, Hotmail, Facebook • Feature based access (enable / disable a specific feature for a service) – Nudge, Tiles, E-mail Push, E-mail Attachments • User friendly, secure and easy to use Web GUI • Feature Rich and secure XML over HTTP API to enable operators to manage the service delivered to their customer
  • 18. Reporting System The reporting system provides a nearly real-time usage reports aggregated to an hour cycle • Operator based reports, summary of activities for an operator • Service based reports, summary of activities for a service • Device based reports, summary of activities for device • Secure Web Based User Interface • Secure XML over HTTP rich API to support Operators billing systems
  • 20. Operation & Maintenance The Operation & Maintenance provides full control over the MMGS servers • Complete cluster management – Stop / Start, Watch real-time alarms, configuration – Traceability - trace system control over, stop / start device based trace, configure logging level – Troubleshooting – configuration mismatch, version mismatch, topology mismatch – Software update - hot patch distribution and loading • Central Log console • Central graphing system provides an in depth view into the systems counters (real-time and historical)
  • 22. Real-Time Monitoring Real-Time Monitoring system provides an in depth monitoring of the system’s resources and performance via Web Based UI • Service operator view • Customer view • Service counters thresholds (QoS, success rates, message latency) • Application Counters threshold (application concurrency) • Application Services (Protocols) • Operating System threshold (CPU, Mem, Disks, Net) • Hardware Resources
  • 24. Summary • Mobile Aware • Optimized data channels • Longer battery life • Protocol Conversion • Content Adaptation • Authentication & Authorization • Service, Device and Feature levels • Billing • Operator, Device and Service levels • Management & Control • User friendly operation • In depth system visibility • Redundancy & Scalability • Active/active (no single point of failure) • Linear scalability • Proven high performance • Security • One way firewall • 3 Physical layers