---
title: "How to Build WebRTC Applications Using CPaaS, Part One: The Why – WebRTC.ventures"
description: In the first post in a three-part series, Hector elaborates on why you would choose a CPaaS for building your WebRTC application, and the role that CPaaS plays in simplifying the process.
image: https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/How-to-Build-WebRTC-Applications-Using-CPaaS-Part-One-The-Why.png
---

[Skip to content](https://blog.webrtc.ventures/2023/04/how-to-build-webrtc-applications-using-cpaas-part-one-the-why#main-content)

![WebRTC.ventures](https://blog.webrtc.ventures/hubfs/logo-main-light.svg)

- [WebRTC Services](https://webrtc.ventures/webrtc-development-services/)
  
  Show submenu for WebRTC Services 
  
    - [Assess](https://webrtc.ventures/services/assess/)
    - [Build](https://webrtc.ventures/services/build/)
    - [Integrate](https://webrtc.ventures/services/integrate/)
    - [Test](https://webrtc.ventures/services/test/)
    - [Manage](https://webrtc.ventures/services/manage/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
- Our Partners
  
  Show submenu for Our Partners 
  
    - [Amazon Chime SDK](https://webrtc.ventures/partners/amazon-chime-sdk/)
- Stories of Success
  
  Show submenu for Stories of Success 
  
    - [Remote Video Interpreting Platform with Agent Routing](https://webrtc.ventures/successes/remote-video-translation-platform/)
    - [WebRTC to SIP Gateway for ASL Interpreters](https://webrtc.ventures/successes/webrtc-to-sip-gateway-for-asl-interpreters/)
    - [Audio Listening Device to Improve Surgical Outcomes](https://webrtc.ventures/successes/audio-listening-device-to-improve-surgical-outcomes/)
    - [Albania’s First Telemedicine Platform](https://webrtc.ventures/successes/albanias-first-telemedicine-platform/)
    - [Automated Video Storytelling with the Amazon Chime SDK](https://webrtc.ventures/successes/automated-video-storytelling-with-the-amazon-chime-sdk/)
    - [Large Scale Video Conferencing](https://webrtc.ventures/successes/large-scale-video-conferencing/)
    - [Broadcasting and Webcast Control Room](https://webrtc.ventures/successes/live-video-broadcasting-and-webcast-control-room/)
- WebRTC Resources
  
  Show submenu for WebRTC Resources 
  
    - [WebRTC Live](https://webrtc.ventures/webrtc-live/)
    - [WebRTC Tips](https://www.youtube.com/playlist?list=PLayYqdnyegt3QvxX-Rt6wbFIK8727Z5Oz)
    - [WebRTC.ventures Blog](https://webrtc.ventures/blog/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
    - [WebRTC.ventures Training Program](https://webrtc.ventures/webrtc-ventures-training-program/)
- [About Us](https://webrtc.ventures/our-team/)
  
  Show submenu for About Us 
  
    - [Blog](https://webrtc.ventures/blog/)
    - [Our Team](https://webrtc.ventures/our-team/)
    - [Jobs](https://webrtc.ventures/jobs/)

Open main navigation

Close main navigation

- [WebRTC Services](https://webrtc.ventures/webrtc-development-services/)
  
  Show submenu for WebRTC Services 
  
    - [Assess](https://webrtc.ventures/services/assess/)
    - [Build](https://webrtc.ventures/services/build/)
    - [Integrate](https://webrtc.ventures/services/integrate/)
    - [Test](https://webrtc.ventures/services/test/)
    - [Manage](https://webrtc.ventures/services/manage/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
- Our Partners
  
  Show submenu for Our Partners 
  
    - [Amazon Chime SDK](https://webrtc.ventures/partners/amazon-chime-sdk/)
- Stories of Success
  
  Show submenu for Stories of Success 
  
    - [Remote Video Interpreting Platform with Agent Routing](https://webrtc.ventures/successes/remote-video-translation-platform/)
    - [WebRTC to SIP Gateway for ASL Interpreters](https://webrtc.ventures/successes/webrtc-to-sip-gateway-for-asl-interpreters/)
    - [Audio Listening Device to Improve Surgical Outcomes](https://webrtc.ventures/successes/audio-listening-device-to-improve-surgical-outcomes/)
    - [Albania’s First Telemedicine Platform](https://webrtc.ventures/successes/albanias-first-telemedicine-platform/)
    - [Automated Video Storytelling with the Amazon Chime SDK](https://webrtc.ventures/successes/automated-video-storytelling-with-the-amazon-chime-sdk/)
    - [Large Scale Video Conferencing](https://webrtc.ventures/successes/large-scale-video-conferencing/)
    - [Broadcasting and Webcast Control Room](https://webrtc.ventures/successes/live-video-broadcasting-and-webcast-control-room/)
- WebRTC Resources
  
  Show submenu for WebRTC Resources 
  
    - [WebRTC Live](https://webrtc.ventures/webrtc-live/)
    - [WebRTC Tips](https://www.youtube.com/playlist?list=PLayYqdnyegt3QvxX-Rt6wbFIK8727Z5Oz)
    - [WebRTC.ventures Blog](https://webrtc.ventures/blog/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
    - [WebRTC.ventures Training Program](https://webrtc.ventures/webrtc-ventures-training-program/)
- [About Us](https://webrtc.ventures/our-team/)
  
  Show submenu for About Us 
  
    - [Blog](https://webrtc.ventures/blog/)
    - [Our Team](https://webrtc.ventures/our-team/)
    - [Jobs](https://webrtc.ventures/jobs/)
- [Contact us](https://webrtc.ventures/contact/)

[Contact us](https://webrtc.ventures/contact/)

 Apr 14, 2023 12:00:00 AM

# How to Build WebRTC Applications Using CPaaS, Part One: The Why

[Hector Zelaya](https://blog.webrtc.ventures/author/hector-zelaya)

Share: [linkedin-in icon](http://www.linkedin.com/shareArticle?mini=true&url=https://blog.webrtc.ventures/2023/04/how-to-build-webrtc-applications-using-cpaas-part-one-the-why) [X Twitter icon](https://twitter.com/intent/tweet?url=https://blog.webrtc.ventures/2023/04/how-to-build-webrtc-applications-using-cpaas-part-one-the-why) [envelope icon](mailto:?body=https://blog.webrtc.ventures/2023/04/how-to-build-webrtc-applications-using-cpaas-part-one-the-why)

In a previous post, we explored [whether a CPaaS was right for your WebRTC application](https://webrtc.ventures/2023/01/is-a-cpaas-the-right-choice-for-my-webrtc-application/). We talked about the things to consider when deciding whether to use a Communication-Platform-a-Service (CPaaS) provider in a WebRTC application. Building a WebRTC application is a complex process. ([We can help!)](https://webrtc.ventures/contact)A CPaaS makes it simpler through a set of Application Programming Interfaces (API) and Software Development Kits (SDK).

In this first part of a series on How to Build WebRTC Applications Using CPaaS, we will elaborate on the role that a CPaaS plays and give an overview of the process. In later posts, we will take a look at the steps to implement it correctly and apply these best practices to some popular CPaaS providers.

## WebRTC Complexity

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/image1-1-1024x683.png?width=512&height=342&name=image1-1-1024x683.png) ![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/image1-1-1024x683.png?width=512&height=342&name=image1-1-1024x683.png)](https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/image1-1-1.png)

As mentioned before, building a WebRTC application is a complex process. It involves providing the mechanism for peers (users) to connect, routing and processing media, and dealing with NAT traversal. For this, you not only need to write the application code, but also build and maintain the services that support such features.

### Signaling

The first of these services is the Signaling channel. A Signaling channel is an intermediary service that allows participants in a WebRTC connection to exchange information with each other in order to establish such a connection. It’s only needed prior to the WebRTC connection.

WebRTC doesn’t enforce or define a Signaling mechanism. It’s your responsibility to build it. Most of the time, you’ll end up defining a media server or a separate application to manage this.

### Media Server

WebRTC is all about peer-to-peer communication. This means that you’re able to establish connections directly between users with no intermediary servers involved. However, when you want to add processing to the media in any way, as is the case for implementing recordings or optimizing processes, you’ll need a media server to do so.

As before, it’s your responsibility to set up such a server and maintain it. Thankfully there are some open source options, such as [Janus](https://janus.conf.meetecho.com/) or [Kurento](https://kurento.openvidu.io/), that you can use to make this simpler.

*More on media servers in my post, [Networking Basics for WebRTC: Signaling and Media Exchange](https://webrtc.ventures/2022/09/networking-basics-for-webrtc-signaling-and-media-exchange/).*

### NAT Traversal

Network Address Translation (NAT) is what allows devices to connect to the internet. In the context of peer-to-peer connections, it can be a headache. WebRTC uses the Interactive Connection Establishment (ICE) framework to perform the connection and STUN/TURN servers to manage NAT traversal.

STUN stands for Session Traversal Utilities for NAT. It provides peers the ability to know how they can be reached by other peers. 

TURN stands for Traversal Using Relays around NAT. It provides an alternative method to connect when a direct connection is not possible.

Both require setting up and maintaining additional servers, and … you guessed it right! It’s your responsibility to do so.

*More on all the networking that happens in order to establish a call using WebRTC can be found in my post, [Networking Basics for WebRTC: Networking in Action](https://webrtc.ventures/2022/11/networking-basics-for-webrtc-networking-in-action/).*

## The “-ity” Trinity: Availability, Scalability and Security

In addition to setting up the above services, you also need to make sure they are available for your application. As your user base grows, they need to scale and remain secure. 

To ensure availability, you need to make sure your infrastructure spans across multiple geographical locations. This also helps users from far away to reach a server that’s closest to them. This is easier than it was before thanks to cloud computing. Many cloud vendors offer multiple geographical locations where you can provision your servers.

For scalability, you need to make sure your infrastructure is able to grow with your user base. A popular approach is to spin up additional servers as traffic grows and shutdown them when it shrinks. Again, this approach is possible thanks to the elasticity of cloud computing. For on-premise infrastructures, things are more complicated as you need to deal with actual hardware.

Security is also a crucial factor. When there is sensible data involved, you will need to comply with regulatory requirements such as [HIPAA](https://www.hhs.gov/hipaa) or [PCI DSS](https://www.pcisecuritystandards.org/). This requires, among other things, encryption at-rest and in-transit of sensible information, and also the implementation of controls that allow to know who accessed what and when. Once again, you can take advantage of what some cloud providers like [AWS](https://aws.amazon.com/) offer to comply with these kinds of security requirements.

## Solving Complexity

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/image2-1-1024x683-1.png?width=512&height=342&name=image2-1-1024x683-1.png) ![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/image2-1-1024x683-1.png?width=512&height=342&name=image2-1-1024x683-1.png)](https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/image2-1-2.png)

All this translates into having lots of moving parts to manage! **Building a WebRTC application is more than just writing the application code**. It’s about **building a complete communication platform**. Despite how hard it sounds, it’s a doable task! Here at [WebRTC.ventures](https://webrtc.ventures), we’ve been doing it since 2015.

Done correctly, you’ll have a powerful product that for sure will make a difference in your business and with your clients. CPaaS providers are aware of this and that’s why they provide a simple alternative for these challenges. 

A CPaaS provider abstracts the complexity of managing a signaling channel, and STUN/TURN and media servers, while also making sure that they are always available, scale as your user base grows, and comply with regulatory requirements. All this is in a cost effective way!

## Up Next

Stay tuned for two more posts in this series:

- How to Build WebRTC Applications Using CPaaS, Part Two: The Implementation
- How to Build WebRTC Applications Using CPaaS, Part Three: The Options

[CPaaS](https://blog.webrtc.ventures/tag/cpaas), [Managed Services](https://blog.webrtc.ventures/tag/managed-services), [Events](https://blog.webrtc.ventures/tag/events), [Video Conferencing](https://blog.webrtc.ventures/tag/video-conferencing), [Real Time Weekly](https://blog.webrtc.ventures/tag/real-time-weekly), [WebRTC Architecture](https://blog.webrtc.ventures/tag/webrtc-architecture), [Broadcasting](https://blog.webrtc.ventures/tag/broadcasting), [Medical](https://blog.webrtc.ventures/tag/medical), [WebRTC Live](https://blog.webrtc.ventures/tag/webrtc-live), [Showcase](https://blog.webrtc.ventures/tag/showcase), [Thoughts](https://blog.webrtc.ventures/tag/thoughts), [Vonage](https://blog.webrtc.ventures/tag/vonage), [Daily](https://blog.webrtc.ventures/tag/daily), [Jobs](https://blog.webrtc.ventures/tag/jobs), [Contact Centers](https://blog.webrtc.ventures/tag/contact-centers), [Telehealth](https://blog.webrtc.ventures/tag/telehealth), [Education](https://blog.webrtc.ventures/tag/education), [Technical](https://blog.webrtc.ventures/tag/technical), [General](https://blog.webrtc.ventures/tag/general), [Story of success](https://blog.webrtc.ventures/tag/story-of-success), [The WebRTC.ventures Blog](https://blog.webrtc.ventures/tag/the-webrtc-ventures-blog), [Testing](https://blog.webrtc.ventures/tag/testing), [Gaming](https://blog.webrtc.ventures/tag/gaming), [DevOps](https://blog.webrtc.ventures/tag/devops), [Symbl.ai](https://blog.webrtc.ventures/tag/symbl-ai)

## Related posts

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/Default-B-Apr-03-2024-06-59-54-7168-PM.jpg?height=200&name=Default-B-Apr-03-2024-06-59-54-7168-PM.jpg)](https://blog.webrtc.ventures/2022/11/optimizing-webrtc-cpaas-applications)

## [Optimizing WebRTC CPaaS Applications](https://blog.webrtc.ventures/2022/11/optimizing-webrtc-cpaas-applications)

[Hamza Nasir](https://blog.webrtc.ventures/author/hamza-nasir) 

 Nov 15, 2022 12:00:00 AM

The Illinois Institute of Technology (my alma mater!) hosted its annual Real Time Communications...

[Read more](https://blog.webrtc.ventures/2022/11/optimizing-webrtc-cpaas-applications)

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/Is-a-CPaaS-the-Right-Choice-for-my-WebRTC-Application-1.png?height=200&name=Is-a-CPaaS-the-Right-Choice-for-my-WebRTC-Application-1.png)](https://blog.webrtc.ventures/2023/01/is-a-cpaas-the-right-choice-for-my-webrtc-application)

## [Is a CPaaS the Right Choice for my WebRTC Application?](https://blog.webrtc.ventures/2023/01/is-a-cpaas-the-right-choice-for-my-webrtc-application)

[Hector Zelaya](https://blog.webrtc.ventures/author/hector-zelaya) 

 Jan 6, 2023 12:00:00 AM

In a previous post and video from our CEO, Arin Sime, he made a useful analysis about the different...

[Read more](https://blog.webrtc.ventures/2023/01/is-a-cpaas-the-right-choice-for-my-webrtc-application)

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/Comparing-and-Evaluating-Popular-CPaaS-Services-3.png?height=200&name=Comparing-and-Evaluating-Popular-CPaaS-Services-3.png)](https://blog.webrtc.ventures/2019/07/comparing-and-evaluating-popular-cpaas-services)

## [Comparing and Evaluating Popular CPaaS Services](https://blog.webrtc.ventures/2019/07/comparing-and-evaluating-popular-cpaas-services)

[Hamza Nasir](https://blog.webrtc.ventures/author/hamza-nasir) 

 Jul 23, 2019 12:00:00 AM

One of the most popular questions asked by WebRTC developers and enthusiasts alike is “Between...

[Read more](https://blog.webrtc.ventures/2019/07/comparing-and-evaluating-popular-cpaas-services)

### WebRTC.Ventures Services

...

- Assess
- Build
- Integrate
- Test
- Deploy & Manage

### Contact Us

...

**Video should be an opportunity, not a headache.**   
 We’re here to build, integrate, assess and optimize, test, and even deploy and manage your live video application. 

[Contact us](https://blog.webrtc.ventures/2023/04/how-to-build-webrtc-applications-using-cpaas-part-one-the-why#contact)

### WebRTC Live

...

 View [past episodes](https://blog.webrtc.ventures/webrtc-live/) of our webinar interview series about the latest webRTC use cases and technical updates. Join our mailing list to learn about upcoming episodes! 

![WebRTC Live](https://blog.webrtc.ventures/hs-fs/hubfs/Template%20Images/widged-bannet.webp?height=90&name=widged-bannet.webp)

![logo-main-light](https://blog.webrtc.ventures/hubfs/logo-main-light.svg "logo-main-light")

We’re one of the few agencies in the world dedicated to WebRTC development. This dedication and experience is why so many people trust us to help bring live video application dreams to life.

 

### Let's get started!

###### **[Contact us today](https://webrtc.ventures/contact/)**

**[info@webrtc.ventures](mailto:info@webrtc.ventures)**

<https://www.linkedin.com/company/webrtc-ventures> <https://www.youtube.com/@WebrtcVentures>

### Join our mailing list

We don't e-mail often (a few times a month max), and it will be worth it when we do! Of course, we respect your privacy and will not share your contact information.

© 2023 WebRTC.ventures, an [AgilityFeat](https://agilityfeat.com/) company / [Privacy Policy](https://webrtc.ventures/privacy-policy//)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Hector Zelaya",
    "url" : "https://blog.webrtc.ventures/author/hector-zelaya"
  },
  "dateModified" : "2024-04-03T18:07:44.709Z",
  "datePublished" : "2023-04-14T04:00:00.000Z",
  "headline" : "How to Build WebRTC Applications Using CPaaS, Part One: The Why – WebRTC.ventures",
  "image" : [ "https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/How-to-Build-WebRTC-Applications-Using-CPaaS-Part-One-The-Why.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.webrtc.ventures/2023/04/how-to-build-webrtc-applications-using-cpaas-part-one-the-why",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.webrtc.ventures/hubfs/logo-main-light.svg"
    }
  }
}
```