Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

  • View
    1.408

  • Download
    0

Embed Size (px)

Text of Dangerous Demo, Metaswitch TADSummit 2015, Paul Drew

Clearwater

Project Clearwater

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | 2015 | SLIDE #

1

Project Clearwater Architecture

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | 2015 | SLIDE #

Key Takeaway This doesnt look like IMS, but it secretly is!

Point out the HTTP interfaces, point out Cassandra/Memcached (designed for the cloud)

Good data point Netflix processes 10 million transactions per second to give users the most personalized viewing experience. After failing to deliver constant uptime and performance with Oracle, Netflix reinvented its database platform on Apache Cassandra. May 2015 Datastax.com - http://www.datastax.com/resources/casestudies/netflix

2

Sprout SIP RoutingMuch of the I-CSCF, S-CSCF and BGCF processing happens within SproutWritten in C/C++ for performanceLeverages existing, widely used open-source SIP stackUses memcached for storing registration state in memoryIn memory cacheProvides redundancyState available to all Sprout nodesFastProven (Youtube, Wikipedia, Wordpress, LiveJournal )Failure of Sprout node leaves all current registrations and calls in placeSprout nodes are transaction stateful, not dialog statefulHave experimented with memcached alternativesE.g. Infinispan for elastic scalabilityEnded up sticking with memcached and building elastic scalability on top

Sprout(CSCF + TAS + BGCF)

CouchbaseSprout(CSCF + TAS + BGCF)

CouchbaseSprout(SIP Router)

memcachedSproutSIP RoutingReg state storagememcachedSIP RoutingReg state storagememcachedSIP RoutingRegistration State Storememcached

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | 2015 | SLIDE #

Key Points Proven software, Redundant Store + Stateless Service nodes3

Bono Edge ProcessingProvides basic P-CSCF with:NAT traversalWebRTC-SIP gateway(Not full P-CSCF or SBC replacement)Shares codebase with SproutC/C++ for performanceLeverages open source SIP stackWhen operating in IMS core only mode Bono not requiredWhen operating in P-CSCF/NAT handling mode, calls/registrations anchored to specific Bono node

UEUEBono(P-CSCF, WebRTC, Load balancing)

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | 2015 | SLIDE #

Key points Basic Edge Proxy, in practice youll want a Perimeta.4

Homestead HSS Interface/Subscriber StoreOperates in two modes:Part of I/S-CSCF, interfacing with external HSSStandalone Subscriber StoreActs as a RESTful HTTP serverReads subscriber data from HSSStores long-lived S-CSCF dataOptimized for read speedWritten in C++, with Python provisioningUses Cassandra distributed databaseDatabase distributed across all Homestead nodes, providing redundancyLinearly and elastically scalableProven (YouTube, eBay, Twitter, Netflix)Homestead failures do not affect transactions or dialogs

Homer(XDMS)

CassandraHomer(XDMS)

CassandraHomestead (Subscriber storage)

Cassandra

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | 2015 | SLIDE #

Key Points Once again, architecture. Use of Cassandra. Non-critical.5

Ralf Charging Trigger Function (CTF)Monitors calls for charging and generates Rf eventsActs as a RESTful HTTP serverReceives call information from bono/sproutStores in-progress call data in memcachedGenerates Rf ACRsWritten in C++Uses Memcached (like sprout)Also uses Chronos (distributed timer store)Ralf failures do not affect transactions or dialogs

Homer(XDMS)

CassandraHomer(XDMS)

CassandraRalf(Rf CTF)

Memcached

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | 2015 | SLIDE #

We support Rf billing!More state vs function with Chronos6

Scaling DemoMetaswitch Networks | Proprietary and confidential | 2014 | ClearwaterAPI AS

IMS CoreZabbixMonitoringSipp load generator

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | 2015 | SLIDE #

Scaling DemoDeployed on Amazon EC-2Using Canonical Juju as orchestratorProject Clearwater as IMS CoreSipp running SIP traffic to load systemRamps up to 40K BHCA30 second callsZabbix monitoring CPU load on Sprout NodesLoad measure is average number of processes queuedTrigger set at >5When trigger hitZabbix instructs JuJu to create new Sprout nodeSprout node instantiated and added to DNS to share loadTakes about 20 - 30 mins total we will come back

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | 2015 | SLIDE #

To Find out More about ClearwaterProject Clearwater Websitehttp://www.projectclearwater.org

Clearwater wikihttp://clearwater.readthedocs.org/en/stable/

Clearwater Mailing Listhttp://lists.projectclearwater.org/mailman/listinfo/clearwater_lists.projectclearwater.org

Clearwater Corehttp://www.metaswitch.com/resources/clearwater-core-ims-in-the-cloud-datasheet

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | 2015 | SLIDE #

9

Clearwater

Cloud Optimized IMS

METASWITCH NETWORKS | PROPRIETARY AND CONFIDENTIAL | METASWITCH.COM | 2015 | SLIDE #

10