10
METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 1 PROJECT CLEARWATER

Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

Embed Size (px)

Citation preview

Page 1: Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 1

PROJECT CLEARWATER

Page 2: Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 2

Project Clearwater – Architecture

Page 3: Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 3

Sprout – SIP Routing

Much of the I-CSCF, S-CSCF and BGCF processing happens within Sprout

Written in C/C++ for performance Leverages existing, widely used open-source SIP stack

Uses memcached for storing registration state in memory In memory cache Provides redundancy State available to all Sprout nodes Fast Proven (Youtube, Wikipedia, Wordpress, LiveJournal

…)

Failure of Sprout node leaves all current registrations and calls in place Sprout nodes are transaction stateful, not dialog stateful

Have experimented with memcached alternatives E.g. Infinispan for elastic scalability Ended up sticking with memcached and building elastic

scalability on top

Sprout(CSCF + TAS + BGCF)

Couchbase

Sprout(CSCF + TAS + BGCF)

Couchbase

Sprout(SIP Router)

memcached

Sprout

SIP Routing

Reg state storage

memcached

SIP Routing

Reg state storage

memcached

SIP Routing

Registration State Store

memcached

Page 4: Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 4

Bono – Edge Processing

Provides basic P-CSCF with: NAT traversal WebRTC-SIP gateway (Not full P-CSCF or SBC replacement)

Shares codebase with Sprout C/C++ for performance Leverages open source SIP stack

When operating in IMS core only mode Bono not required

When operating in P-CSCF/NAT handling mode, calls/registrations anchored to specific Bono node

UEUE

Bono(P-CSCF, WebRTC,

Load balancing)

Page 5: Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 5

Homestead – HSS Interface/Subscriber Store

Operates in two modes: Part of I/S-CSCF, interfacing with external HSS Standalone Subscriber Store

Acts as a RESTful HTTP server Reads subscriber data from HSS Stores long-lived S-CSCF data Optimized for read speed

Written in C++, with Python provisioning Uses Cassandra distributed database

Database distributed across all Homestead nodes, providing redundancy Linearly and elastically scalable Proven (YouTube, eBay, Twitter, Netflix)

Homestead failures do not affect transactions or dialogs

Homer(XDMS)

Cassandra

Homer(XDMS)

Cassandra

Homestead (Subscriber

storage)

Cassandra

Page 6: Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 6

Ralf – Charging Trigger Function (CTF)

Monitors calls for charging and generates Rf events Acts as a RESTful HTTP server

Receives call information from bono/sprout Stores in-progress call data in memcached Generates Rf ACRs

Written in C++ Uses Memcached (like sprout) Also uses Chronos (distributed timer store) Ralf failures do not affect transactions or dialogs

Homer(XDMS)

Cassandra

Homer(XDMS)

Cassandra

Ralf(Rf CTF)

Memcached

Page 7: Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 7

Scaling Demo

Metaswitch Networks | Proprietary and confidential | © 2014 |

ClearwaterAPI AS

IMS Core

ZabbixMonitoring

Sipp load generator

Page 8: Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 8

Scaling Demo

Deployed on Amazon EC-2 Using Canonical Juju as orchestrator Project Clearwater as IMS Core Sipp running SIP traffic to load system

Ramps up to 40K BHCA 30 second calls

Zabbix monitoring CPU load on Sprout Nodes Load measure is average number of processes queued Trigger set at >5

When trigger hit Zabbix instructs JuJu to create new Sprout node Sprout node instantiated and added to DNS to share load

Takes about 20 - 30 mins total – we will come back

Page 9: Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 9

TO FIND OUT MORE ABOUT CLEARWATER

Project Clearwater Website http://www.projectclearwater.org

Clearwater wiki http://clearwater.readthedocs.org/en/stable/

Clearwater Mailing List http://lists.projectclearwater.org/mailman/listinfo/

clearwater_lists.projectclearwater.org

Clearwater Core http://www.metaswitch.com/resources/clearwater-core-ims-in-the-cloud-

datasheet

Page 10: Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | © 2015 | SLIDE 10

CLEARWATERCloud Optimized IMS