In the tech track presentations at the recent All Things RTC conference event, we had a fantastic talk by a Founder and CTO of SignalWire, one of the many dev-oriented organizations that partners with Agora to achieve incredible results.
Evan gave audiences a quick overview of SignalWire—a tech company focused on software-defined telecommunications. The company’s goal is to create a scalable, global telecom infrastructure that forms the basis for an easy-to-use, intuitive RELAY API. Its ultimate mission is to empower devs of all skill levels to build amazing communication apps.
Everything SignalWire does is rooted in open source. The founders are actually the creators of the FreeSWITCH platform, which is now used by over a million devs worldwide.
So what’s the main issue SignalWire is helping devs address?
Elastic, Global Communications Infrastructure
A big problem for any developer is getting up to scale on their communications, especially when they’re operating globally. It’s difficult to make everything accessible at once but is critical in order to streamline growth and optimize connectivity and productivity. SignalWire, however, lets people connect around the world right away without any ramp-up period.
How? By Leveraging Containers
Evan provided a brief rundown of their main technique: using containers, which are lightweight, immutable, distributable program images. These are single process, ephemeral data loads that provide scalability due to built-in resilience and orchestration layers. Plus they offer higher packaging density than virtual machines thanks to shared files.
While this looks good for just one computer, what about when “n computers” becomes the central part of the equation?
That then requires an orchestration framework. Two of the big ones now are Kubernetes and Docker Swarm.
Evan emphasized that it doesn’t really matter which orchestration framework you pick, whether Swarm, Kubernetes, or otherwise. The point is to just pick one and start building.
SignalWire goes with Docker Swarm for several reasons:
Why Docker Swarm?
- Orchestration layer built into Docker engine
- Simple to scale container services across multiple nodes
- Built-in state reconciliation, health checks, and eventing system
- Native DNS-based service discovery
- Rolling updates for zero downtime recovery deployments
- Very easy to set up and monitor.
He also shared several operational tips and tricks when using either the Swarm or Kubernetes platforms.
First, keep master nodes close together but in different regions/providers in order to keep latency at a minimum. Second, working on a global scale means having potential high inter-node communication times. So keep an eye on metrics and logging to avoid any major disruptions. Lastly, encrypt all inter-service communications.
SignalWire recognizes that in order to reach global RTC, a company must have a wide footprint. He encouraged attendees to be everywhere when it comes to RTC, and stated that there’s no excuse for not being ubiquitous at this time, thanks to commodity data centers across the planet.
SignalWire’s goal is to eventually establish a 50ms footprint, where no one on Earth is more than 50ms away from an RTC node, and they’re growing closer to this all the time.
To wrap up his presentation, Evans gave a few last pieces of advice to devs wanting to make the most of their RTC infrastructure. When it comes to cloud providers, don’t get tied down to a single one. Remain as agnostic as possible and leverage each provider for their unique strengths.
SignalWire is working to help companies customize the infrastructures available to solve their tech use cases. Their motto? “Build cool stuff!”
SignalWire will soon be opening a public beta for companies to add PSTN & WebRTC connectivity into Agora conferences. You will be able to call into Agora conferences using a normal telephone number or WebRTC client, or dial out to the greater world. Additional integrations like text-to-speech and transcriptions are right around the corner. SignalWire is excited to help the world of Agora users reach out to the rest of the Internet and beyond.
To ensure access to the beta, sign up for a Space at https://signalwire.com/signup and watch for announcements!