Meet the client

The client is a US-based communication provider offering WebRTC broadcasting services to Fortune 500 companies. Their flagship solution is a feature-rich webcasting portal that enables global business to organize video conferences, events and meetings. The solution supports:

The challenge: Scalability, latency, and costs

Built over a decade ago on top of a legacy stack, the WebRTC streaming portal was struggling to support the growing audiences. Hence a strategic decision was made to do a complete redesign and move the solution to a modern tech stack — while emphasizing cost optimization and scalability.

Based on a previous successful engagement, Oxagile’s performance-focused team was the natural choice to tackle the new challenges. To avoid performance issues down the road and minimize costly re-dos, a senior level architect and a performance engineer were engaged from day one.

“We assembled an agile team led by a mature solution architect and reinforced by a lead performance engineer who was involved at every step, collaborating with the team and providing the necessary expertise.”

— Alexander, Account Manager

Performance-first approach

Performance requirements audit

During the initial assessment, our performance engineer dived deep into the solution’s complex performance requirements to determine their feasibility while keeping tabs on cost optimization around infrastructure, configurations, and more.

Designing a robust architecture

After the performance requirements had been validated, Oxagile’s performance experts worked closely with a solution architect to vet all important architectural decisions and help lay the groundwork for stability and efficiency. Some of the team’s contributions included:

  • Kubernetes-based microservices architecture
  • Scalable in-memory cache layer to accelerate access to databases
  • Consulting on live streaming protocols
  • Selection of CDN providers that support proper chunks and playlist caching
  • Live stream backup and alternative stream sourcing
  • Resource separation to ensure optimal CPU load
  • Latency minimization throughout the entire video delivery pipeline

Building features with an eye to performance

Once the architecture was ready, the performance team collaborated with developers and DevOps engineers, reviewed the code and tuned configurations to ensure the non-functional parameters were met or exceeded.

  • Regular domain model audit
  • JVM performance tuning
  • Libraries and frameworks optimization
  • Database schema and data types optimization
  • Optimizing database memory allocation
  • Increasing infrastructure efficiency to reduce costs
  • Proactive ramp-up and ramp-down of EC2 instances

Continuous performance testing and optimization

Each sprint, a performance engineer was responsible for testing newly added functionality and endpoints to prepare the system for release.

  • Spotting resource-consuming code parts
  • Capacity testing to address spikes in critical endpoints (auth, video consumption, etc.)
  • RESTful services performance testing to improve throughput and response time
  • Optimizing software and hardware configurations
  • Pre-release performance validation and capacity planning

Post-release support and enhancement

After the successful deployment, the team continued to proactively monitor performance and polish configurations to make sure the solution delivered seamless user experiences in a real-life environment.

  • Autoscaling tuning based on real user load and patterns
  • Optimizing the number of cores for cost-effective video transcoding
  • Analyzing and fixing performance incidents
  • Knowledge sharing and process optimization around reliability and scalability.

The result: Tight latency, tenfold cost savings

Built with performance in mind, the WebRTC video broadcast solution relies on a future-proof architecture that can intelligently scale up and down to meet the demand.

The entire video delivery pipeline was continuously optimized and monitored throughout the solution development lifecycle to ensure a smooth user experience for content consumers.

And thanks to Oxagile’s hands-on know-how around TCO and resource usage optimization, the client was able to slash cloud infrastructure costs by as much as ten times — without affecting the solution’s performance.