SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
OpenStack based WebRTC PaaS by
Frafos
May 2015, José Luis Millán, Binan Al Halabi
Intro
HOWTO for implementing a simple WebRTC service,
using JsSIP and OpenStack-based Frafos WebRTC
PaaS
•Background: WebRTC, PaaS
•JsSIP
•Openstack PaaS
Frafos Architectural Assumptions
Voice is not a target product anymore
•It is becoming an add-on for web apps.
•It is easier to add a media channel to an app (like CRM)
than vice versa. WebRTC does exactly that.
•We integrate the business logic with media using the
browser
•We therefore contemplate that infrastructural VoIP will be
standardized into PaaS so that application integrators
won’t be concerned about VoIP.
Frafos PaaS Architecture
WebRTC
Browser
integrates
Business Logic
with VoIP
Channel
Business Apps
online shops,
customer service,
eductation,
entertainment
HTTP
WebRTC
protocol
suite
Standardized VoIP Cloud: provides SIP and
PSTN connectivity, NAT traversal, media
processing, scaling, high-availability, and
security.
Example App: Cloud Audio Conference
•Faster-to-build than any
enterprise IT can: The
browser applicationfor
organizing web-
conferencing
implementedand tested
within two weeks.
•Consumer-gradeeasy to
use: three browser steps
to be in conference.
Start Invite
Talk
Using JsSIP (go.areteasea.com)
Openstack-based PaaS
PaaS Objectives
•Simple integration --> Less errors
•Cost: minimum of extra traffic and processing
needed for the integration
•Scalability
•Service Monitoring
•Minimum delay (caching when possible +
shortest geographical path)
•No single point of failure
•Clean shutdown/termination
Automated Scalability
•Automation --> Less errors
•Better customer experience:
•(High demand --> add servers)
•Lower costs:
•(Lower demands --> remove servers)
Openstack Auto-Scaling
WebRTC
Cloud Servers
Load Balancers
Resources
+
Auto Scaling Group
The Resources are scaled up and down based on
the policies
…..
Heat Client
•Using heat client to create the stack/resources
# heat stack-create stack01 -f template.yaml ...
•Openstack control panel
Heat Template
•The template = static
architectural design of your
application (infrastructure
resources in a text file
treated as code).
•Syntax: HOT, YAML, or
JSON
•The snippet here is how to
define a scaling group
group:
type: OS::Heat::AutoScalingGroup
properties:
cooldown: 60
desired_capacity: 2
max_size: 5
min_size: 1
resource:
type: OS::Nova::Server::Frafos
Here the server is defined in a separate yaml file and mapped
in the environment yaml file:
resource_registry:
"OS::Nova::Server::Frafos": "fserver.yaml"
Orchestration Service
•Heat is the orchestration tool used for:
•Create resources described in a template
•Configure the resources
•Installing packages
•Auto-scale the resources
•Heat interacts with different Openstack services
using the APIs (e.g. Heat creates the alarms
using Ceilometer API service)
Ceilometer + Heat
But
•Originally Ceilometer is designed for metering
and not for monitoring
•Ceilometer is not for application/service level
monitoring
• Openstack monitoring as service:
•E.g. Monasca that integrates with
Openstack (requires Monasca agent to be
installed on servers)
Rackspace Monitoring Service
•Monitoring agent must be installed on machine
to reports metrics
•The users can create their own checks:
• Predefined metrics (CPU, Memory, Load, ..)
• Custom (Frafos metrics: calls, regs, and
TCPs)
•The service is integrated with autoscaling
service using general webhooks created for
scaling policies
Rackspace Monitoring Service
Autoscaling policy is triggered --> Alarm is sent to Rackspace
Autoscaling service
Frafos Custom Metrics
•Regs, Calls, and TCP Metrics
•The monitoring agent installed on servers
reports these metrics periodically (60 s)
•Push-Metrics bash script works as plugin to the
monitoring agent
Push-Metrics Frafos Plugin
•It is a Bash script
•SNMP-based: Obtain the measured data using
SNMP
•Echos the metrics in the following format:
metric <name> <type> <value> [<unit>]
e.g. "metric calls int32 $calls [Count]"
•The agent takes the echoed metrics in that
format and sends them to the monitoring
service using Metrics API.
No Clean Shutdown
•When the scale-down policy is triggered, Nova kills
the servers as following:
•Immediately and hardly
•Killing priority: Pending servers and then the
oldest
•The problems are:
•Gateway case: existing calls
•Conference case: existing served conference
rooms (long sessions) + late-join requests
•Shutdown controlled by the server is needed
Solution: Heat Software Deployment
•Available since IceHouse Openstack release (2014)
•New resource type OS::Heat::SoftwareConfig which
defines the configuration
•New resource type: OS::Heat::SoftwareDeployment
which bind the configuration with the lifecycle actions:
CREATE, DELETE,.. actions
•The deployment resource remains in progress until a
signal comes from the server --> complete state
• Heat agents must be installed on the server: os-collect-
config, os-refresh-config, heat-config, heat-config-hook,
and heat-config-notify to support the software
deployment in Heat
(1) Server Configuration
•The user_data_format property must be specified as
SOFTWARE_CONFIG in the server definition in the template
•The software_config_transport property specifies how
the software config metadata goes from Heat to the server
server:
type: OS::Nova::Server
properties:
image: ...
user_data_format:SOFTWARE_CONFIG
software_config_transport: POLL_SERVER_HEAT
(2) DELETE Action Configuration
•OS::Heat::SoftwareConfig encapsulates the configuration that
we want to apply on DELETE
•“group” property is the type of the configuration to be applied
•“get_file” property can be remote or local address
•The script will be packed in the stack creation package by the
heat command (Heat client)
•The script will be passed to the server to be executed on
DELETE
delete_config:
type : OS::Heat::SoftwareConfig
properties:
group: script
inputs: ...
config: { get_file: scripts/drain_sessions.sh }
(3) DELETE Action Deployment
Bind the configuration with the DELETE action
- No new connections
- Clean (drain_sessions.sh)
- Kill - send HEAT_SIGNAL signal using curl to Heat's API
service
frafos-server-delete:
type : OS::Heat::SoftwareDeployment
properties:
actions: [ DELETE ]
config: { get_resource delete_config }
input_values: {...}
server: ...
....
signal_transport : HEAT_SIGNAL
Clean Shutdown - Conference Case
JOIN-Late Requests
In conference case, people may join a
conference late --> the terminating/dying server
should not completely isolated
- The server is removed from LB
- The rest of servers redirect the late-join requests to
that server using the public IP
- The server drains its sessions
- Then the server signals Heat with HEAT_SIGNAL to be
killed
Thank You
Frafos GmbH, Ahoy office, Windscheidstraße 18, 10627 Berlin, Germany
http:// www.frafos.com
mailto:info@frafos.com
Visit Our Online Demo
go.areteasea.com

Más contenido relacionado

La actualidad más candente

Hortonworks Data Cloud for AWS
Hortonworks Data Cloud for AWS Hortonworks Data Cloud for AWS
Hortonworks Data Cloud for AWS Hortonworks
 
Apache Ambari Meetup - AMS & Grafana
Apache Ambari Meetup - AMS & GrafanaApache Ambari Meetup - AMS & Grafana
Apache Ambari Meetup - AMS & GrafanaPrajwal Rao
 
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014Jason Anderson
 
Template Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCATemplate Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCACloud Native Day Tel Aviv
 
Orchestration across multiple cloud platforms using Heat
Orchestration across multiple cloud platforms using HeatOrchestration across multiple cloud platforms using Heat
Orchestration across multiple cloud platforms using HeatCoreStack
 
Apache Ambari - What's New in 2.4
Apache Ambari - What's New in 2.4 Apache Ambari - What's New in 2.4
Apache Ambari - What's New in 2.4 Hortonworks
 
Load Balancer Component Architecture - Apache Stratos 4.0.0
Load Balancer Component Architecture - Apache Stratos 4.0.0Load Balancer Component Architecture - Apache Stratos 4.0.0
Load Balancer Component Architecture - Apache Stratos 4.0.0Imesh Gunaratne
 
OpenStack Orchestration (Heat)
OpenStack Orchestration (Heat)OpenStack Orchestration (Heat)
OpenStack Orchestration (Heat)Jimi Chen
 
Past, Present and Future of Apache Ambari
Past, Present and Future of Apache AmbariPast, Present and Future of Apache Ambari
Past, Present and Future of Apache AmbariArtem Ervits
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSShixiong Shang
 
OpenStack Heat slides
OpenStack Heat slidesOpenStack Heat slides
OpenStack Heat slidesdbelova
 
Heat - keep the clouds up
Heat - keep the clouds upHeat - keep the clouds up
Heat - keep the clouds upKiran Murari
 
Partner spotlight: Telestream
Partner spotlight: TelestreamPartner spotlight: Telestream
Partner spotlight: TelestreamFileCatalyst
 
Apache Ambari - What's New in 2.0.0
Apache Ambari - What's New in 2.0.0Apache Ambari - What's New in 2.0.0
Apache Ambari - What's New in 2.0.0Hortonworks
 
Apache Ambari - What's New in 1.5.0
Apache Ambari - What's New in 1.5.0Apache Ambari - What's New in 1.5.0
Apache Ambari - What's New in 1.5.0Hortonworks
 
Apache Ambari: Past, Present, Future
Apache Ambari: Past, Present, FutureApache Ambari: Past, Present, Future
Apache Ambari: Past, Present, FutureHortonworks
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppetPuppet
 
Managing 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with AmbariManaging 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with AmbariDataWorks Summit
 

La actualidad más candente (20)

Hortonworks Data Cloud for AWS
Hortonworks Data Cloud for AWS Hortonworks Data Cloud for AWS
Hortonworks Data Cloud for AWS
 
Hot tutorials
Hot tutorialsHot tutorials
Hot tutorials
 
Apache Ambari Meetup - AMS & Grafana
Apache Ambari Meetup - AMS & GrafanaApache Ambari Meetup - AMS & Grafana
Apache Ambari Meetup - AMS & Grafana
 
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
Cloud Foundry and OpenStack: How They Fit - Cloud Expo 2014
 
Template Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCATemplate Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCA
 
Orchestration across multiple cloud platforms using Heat
Orchestration across multiple cloud platforms using HeatOrchestration across multiple cloud platforms using Heat
Orchestration across multiple cloud platforms using Heat
 
Apache Ambari - What's New in 2.4
Apache Ambari - What's New in 2.4 Apache Ambari - What's New in 2.4
Apache Ambari - What's New in 2.4
 
Load Balancer Component Architecture - Apache Stratos 4.0.0
Load Balancer Component Architecture - Apache Stratos 4.0.0Load Balancer Component Architecture - Apache Stratos 4.0.0
Load Balancer Component Architecture - Apache Stratos 4.0.0
 
OpenStack Orchestration (Heat)
OpenStack Orchestration (Heat)OpenStack Orchestration (Heat)
OpenStack Orchestration (Heat)
 
Past, Present and Future of Apache Ambari
Past, Present and Future of Apache AmbariPast, Present and Future of Apache Ambari
Past, Present and Future of Apache Ambari
 
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaSAutoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
Autoscaling OpenStack Natively with Heat, Ceilometer and LBaaS
 
OpenStack Heat slides
OpenStack Heat slidesOpenStack Heat slides
OpenStack Heat slides
 
Heat - keep the clouds up
Heat - keep the clouds upHeat - keep the clouds up
Heat - keep the clouds up
 
Partner spotlight: Telestream
Partner spotlight: TelestreamPartner spotlight: Telestream
Partner spotlight: Telestream
 
Apache Ambari - What's New in 2.0.0
Apache Ambari - What's New in 2.0.0Apache Ambari - What's New in 2.0.0
Apache Ambari - What's New in 2.0.0
 
Apache Ambari - What's New in 1.5.0
Apache Ambari - What's New in 1.5.0Apache Ambari - What's New in 1.5.0
Apache Ambari - What's New in 1.5.0
 
OpenStack Ceilometer
OpenStack CeilometerOpenStack Ceilometer
OpenStack Ceilometer
 
Apache Ambari: Past, Present, Future
Apache Ambari: Past, Present, FutureApache Ambari: Past, Present, Future
Apache Ambari: Past, Present, Future
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Managing 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with AmbariManaging 2000 Node Cluster with Ambari
Managing 2000 Node Cluster with Ambari
 

Destacado

모바일 필기인식 알고리즘
모바일 필기인식 알고리즘모바일 필기인식 알고리즘
모바일 필기인식 알고리즘낙현 정
 
OpenStack Horizon: Controlling the Cloud using Django
OpenStack Horizon: Controlling the Cloud using DjangoOpenStack Horizon: Controlling the Cloud using Django
OpenStack Horizon: Controlling the Cloud using DjangoDavid Lapsley
 
Geek Week 2016 - Deep Dive To Openstack
Geek Week 2016 -  Deep Dive To OpenstackGeek Week 2016 -  Deep Dive To Openstack
Geek Week 2016 - Deep Dive To OpenstackHaim Ateya
 
Modeling DNA unzipping in the presence of bound proteins
Modeling DNA unzipping in the presence of bound proteinsModeling DNA unzipping in the presence of bound proteins
Modeling DNA unzipping in the presence of bound proteinsguestb5dd5e
 
TCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoTCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoOlle E Johansson
 

Destacado (7)

Tuning 17 march
Tuning 17 marchTuning 17 march
Tuning 17 march
 
모바일 필기인식 알고리즘
모바일 필기인식 알고리즘모바일 필기인식 알고리즘
모바일 필기인식 알고리즘
 
IPV6 Flow Labels
IPV6 Flow LabelsIPV6 Flow Labels
IPV6 Flow Labels
 
OpenStack Horizon: Controlling the Cloud using Django
OpenStack Horizon: Controlling the Cloud using DjangoOpenStack Horizon: Controlling the Cloud using Django
OpenStack Horizon: Controlling the Cloud using Django
 
Geek Week 2016 - Deep Dive To Openstack
Geek Week 2016 -  Deep Dive To OpenstackGeek Week 2016 -  Deep Dive To Openstack
Geek Week 2016 - Deep Dive To Openstack
 
Modeling DNA unzipping in the presence of bound proteins
Modeling DNA unzipping in the presence of bound proteinsModeling DNA unzipping in the presence of bound proteins
Modeling DNA unzipping in the presence of bound proteins
 
TCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoTCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: Manifesto
 

Similar a Openstack based WebRTC PaaS - Kamailio World 2015

Datasheet was pluginforrd
Datasheet was pluginforrdDatasheet was pluginforrd
Datasheet was pluginforrdMidVision
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudAndrew Coleman
 
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdfNET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdfTamir Dresher
 
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...VMworld
 
Successful Patterns for running platforms
Successful Patterns for running platformsSuccessful Patterns for running platforms
Successful Patterns for running platformsPaul Czarkowski
 
Datasheet apachepluginforrd
Datasheet apachepluginforrdDatasheet apachepluginforrd
Datasheet apachepluginforrdMidVision
 
Transforming Software Development
Transforming Software DevelopmentTransforming Software Development
Transforming Software DevelopmentAmazon Web Services
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...confluent
 
Azure Web App services
Azure Web App servicesAzure Web App services
Azure Web App servicesAlexey Bokov
 
Logic Apps, the power of new integration
Logic Apps, the power of new integrationLogic Apps, the power of new integration
Logic Apps, the power of new integrationFélix Mondelo
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopManuel Garcia
 
Practical advice on deployment and management of enterprise workloads
Practical advice on deployment and management of enterprise workloadsPractical advice on deployment and management of enterprise workloads
Practical advice on deployment and management of enterprise workloadsJarek Miszczyk
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Stephen Gordon
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSAmazon Web Services
 
From Containerized Application to Secure and Scaling With Kubernetes
From Containerized Application to Secure and Scaling With KubernetesFrom Containerized Application to Secure and Scaling With Kubernetes
From Containerized Application to Secure and Scaling With KubernetesShikha Srivastava
 
AWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment ComplexityAWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment ComplexityAmazon Web Services
 

Similar a Openstack based WebRTC PaaS - Kamailio World 2015 (20)

Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Datasheet was pluginforrd
Datasheet was pluginforrdDatasheet was pluginforrd
Datasheet was pluginforrd
 
IBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the CloudIBM InterConnect 2015 - IIB in the Cloud
IBM InterConnect 2015 - IIB in the Cloud
 
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdfNET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
NET Aspire - NET Conf IL 2024 - Tamir Dresher.pdf
 
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
VMworld 2013: Deploying vSphere with OpenStack: What It Means to Your Cloud E...
 
Successful Patterns for running platforms
Successful Patterns for running platformsSuccessful Patterns for running platforms
Successful Patterns for running platforms
 
Datasheet apachepluginforrd
Datasheet apachepluginforrdDatasheet apachepluginforrd
Datasheet apachepluginforrd
 
Transforming Software Development
Transforming Software DevelopmentTransforming Software Development
Transforming Software Development
 
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
Modern Cloud-Native Streaming Platforms: Event Streaming Microservices with A...
 
Azure Web App services
Azure Web App servicesAzure Web App services
Azure Web App services
 
Un-clouding the cloud
Un-clouding the cloudUn-clouding the cloud
Un-clouding the cloud
 
Logic Apps, the power of new integration
Logic Apps, the power of new integrationLogic Apps, the power of new integration
Logic Apps, the power of new integration
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
 
Practical advice on deployment and management of enterprise workloads
Practical advice on deployment and management of enterprise workloadsPractical advice on deployment and management of enterprise workloads
Practical advice on deployment and management of enterprise workloads
 
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)Deep Dive: OpenStack Summit (Red Hat Summit 2014)
Deep Dive: OpenStack Summit (Red Hat Summit 2014)
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
From Containerized Application to Secure and Scaling With Kubernetes
From Containerized Application to Secure and Scaling With KubernetesFrom Containerized Application to Secure and Scaling With Kubernetes
From Containerized Application to Secure and Scaling With Kubernetes
 
AWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment ComplexityAWS CodeDeploy: Manage Deployment Complexity
AWS CodeDeploy: Manage Deployment Complexity
 
DR_PRESENT 1
DR_PRESENT 1DR_PRESENT 1
DR_PRESENT 1
 
Fs And Self Service
Fs And Self ServiceFs And Self Service
Fs And Self Service
 

Último

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Openstack based WebRTC PaaS - Kamailio World 2015

  • 1. OpenStack based WebRTC PaaS by Frafos May 2015, José Luis Millán, Binan Al Halabi
  • 2. Intro HOWTO for implementing a simple WebRTC service, using JsSIP and OpenStack-based Frafos WebRTC PaaS •Background: WebRTC, PaaS •JsSIP •Openstack PaaS
  • 3. Frafos Architectural Assumptions Voice is not a target product anymore •It is becoming an add-on for web apps. •It is easier to add a media channel to an app (like CRM) than vice versa. WebRTC does exactly that. •We integrate the business logic with media using the browser •We therefore contemplate that infrastructural VoIP will be standardized into PaaS so that application integrators won’t be concerned about VoIP.
  • 4. Frafos PaaS Architecture WebRTC Browser integrates Business Logic with VoIP Channel Business Apps online shops, customer service, eductation, entertainment HTTP WebRTC protocol suite Standardized VoIP Cloud: provides SIP and PSTN connectivity, NAT traversal, media processing, scaling, high-availability, and security.
  • 5. Example App: Cloud Audio Conference •Faster-to-build than any enterprise IT can: The browser applicationfor organizing web- conferencing implementedand tested within two weeks. •Consumer-gradeeasy to use: three browser steps to be in conference. Start Invite Talk
  • 8. PaaS Objectives •Simple integration --> Less errors •Cost: minimum of extra traffic and processing needed for the integration •Scalability •Service Monitoring •Minimum delay (caching when possible + shortest geographical path) •No single point of failure •Clean shutdown/termination
  • 9. Automated Scalability •Automation --> Less errors •Better customer experience: •(High demand --> add servers) •Lower costs: •(Lower demands --> remove servers)
  • 10. Openstack Auto-Scaling WebRTC Cloud Servers Load Balancers Resources + Auto Scaling Group The Resources are scaled up and down based on the policies …..
  • 11. Heat Client •Using heat client to create the stack/resources # heat stack-create stack01 -f template.yaml ... •Openstack control panel
  • 12. Heat Template •The template = static architectural design of your application (infrastructure resources in a text file treated as code). •Syntax: HOT, YAML, or JSON •The snippet here is how to define a scaling group group: type: OS::Heat::AutoScalingGroup properties: cooldown: 60 desired_capacity: 2 max_size: 5 min_size: 1 resource: type: OS::Nova::Server::Frafos Here the server is defined in a separate yaml file and mapped in the environment yaml file: resource_registry: "OS::Nova::Server::Frafos": "fserver.yaml"
  • 13. Orchestration Service •Heat is the orchestration tool used for: •Create resources described in a template •Configure the resources •Installing packages •Auto-scale the resources •Heat interacts with different Openstack services using the APIs (e.g. Heat creates the alarms using Ceilometer API service)
  • 15. But •Originally Ceilometer is designed for metering and not for monitoring •Ceilometer is not for application/service level monitoring • Openstack monitoring as service: •E.g. Monasca that integrates with Openstack (requires Monasca agent to be installed on servers)
  • 16. Rackspace Monitoring Service •Monitoring agent must be installed on machine to reports metrics •The users can create their own checks: • Predefined metrics (CPU, Memory, Load, ..) • Custom (Frafos metrics: calls, regs, and TCPs) •The service is integrated with autoscaling service using general webhooks created for scaling policies
  • 17. Rackspace Monitoring Service Autoscaling policy is triggered --> Alarm is sent to Rackspace Autoscaling service
  • 18. Frafos Custom Metrics •Regs, Calls, and TCP Metrics •The monitoring agent installed on servers reports these metrics periodically (60 s) •Push-Metrics bash script works as plugin to the monitoring agent
  • 19. Push-Metrics Frafos Plugin •It is a Bash script •SNMP-based: Obtain the measured data using SNMP •Echos the metrics in the following format: metric <name> <type> <value> [<unit>] e.g. "metric calls int32 $calls [Count]" •The agent takes the echoed metrics in that format and sends them to the monitoring service using Metrics API.
  • 20. No Clean Shutdown •When the scale-down policy is triggered, Nova kills the servers as following: •Immediately and hardly •Killing priority: Pending servers and then the oldest •The problems are: •Gateway case: existing calls •Conference case: existing served conference rooms (long sessions) + late-join requests •Shutdown controlled by the server is needed
  • 21. Solution: Heat Software Deployment •Available since IceHouse Openstack release (2014) •New resource type OS::Heat::SoftwareConfig which defines the configuration •New resource type: OS::Heat::SoftwareDeployment which bind the configuration with the lifecycle actions: CREATE, DELETE,.. actions •The deployment resource remains in progress until a signal comes from the server --> complete state • Heat agents must be installed on the server: os-collect- config, os-refresh-config, heat-config, heat-config-hook, and heat-config-notify to support the software deployment in Heat
  • 22. (1) Server Configuration •The user_data_format property must be specified as SOFTWARE_CONFIG in the server definition in the template •The software_config_transport property specifies how the software config metadata goes from Heat to the server server: type: OS::Nova::Server properties: image: ... user_data_format:SOFTWARE_CONFIG software_config_transport: POLL_SERVER_HEAT
  • 23. (2) DELETE Action Configuration •OS::Heat::SoftwareConfig encapsulates the configuration that we want to apply on DELETE •“group” property is the type of the configuration to be applied •“get_file” property can be remote or local address •The script will be packed in the stack creation package by the heat command (Heat client) •The script will be passed to the server to be executed on DELETE delete_config: type : OS::Heat::SoftwareConfig properties: group: script inputs: ... config: { get_file: scripts/drain_sessions.sh }
  • 24. (3) DELETE Action Deployment Bind the configuration with the DELETE action - No new connections - Clean (drain_sessions.sh) - Kill - send HEAT_SIGNAL signal using curl to Heat's API service frafos-server-delete: type : OS::Heat::SoftwareDeployment properties: actions: [ DELETE ] config: { get_resource delete_config } input_values: {...} server: ... .... signal_transport : HEAT_SIGNAL
  • 25. Clean Shutdown - Conference Case JOIN-Late Requests In conference case, people may join a conference late --> the terminating/dying server should not completely isolated - The server is removed from LB - The rest of servers redirect the late-join requests to that server using the public IP - The server drains its sessions - Then the server signals Heat with HEAT_SIGNAL to be killed
  • 26. Thank You Frafos GmbH, Ahoy office, Windscheidstraße 18, 10627 Berlin, Germany http:// www.frafos.com mailto:info@frafos.com
  • 27. Visit Our Online Demo go.areteasea.com