Fast-Track Wowza Streaming Engine Deployment with Docker
I recently had the pleasure of hosting a webinar with our principal video engineer, Ian Zenoni, to dive deep into a topic that is transforming how we deploy streaming infrastructure: Docker. While Docker support isn’t new to Wowza, we are getting really, really good at it, and the benefits are remarkable. If you are not using Docker, or if you feel a bit of “imposter syndrome” when looking at containerization, you are not alone. I admitted to the same during the session. See just how fast and flexible this approach can be in our webinar.
This blog recaps the key takeaways Ian and I discussed, from our new optimized container structure to ARM architecture support. For the detailed step-by-step walkthrough, I highly encourage you to watch the full VOD.
Consistent, Cross-Device Compatibility with Docker Containers
One of the oldest adages in software is “well, it works on my machine.” As Ian explained, Docker solves this by creating a self-contained environment that includes everything you need: Java, Wowza Streaming Engine, and the OS kernel.
From my perspective as a Sales Engineer, the real game-changer is speed. If you have ever destroyed a Linux instance on AWS EC2 and had to spend 20 to 30 minutes rebuilding it from scratch, you know what I’m talking about. With Docker, if you “blow up” your configuration or make a critical syntax error, you can kill the container and bring it back up in seconds. You can focus on your streaming objectives, not managing an operating system.
Wowza Streaming Engine’s Enhanced Docker Containers
We’ve made significant changes to our container offerings on Docker Hub. We’ve moved away from our legacy containers, which were admittedly heavy and bundled everything together, toward a more modern and efficient architecture.
- Split Architecture
We split Wowza Streaming Engine (WSE) and Wowza Streaming Engine Manager (WSEM) into two separate containers. This follows the Docker philosophy of running one process per container, keeping your deployments lightweight. - Native ARM Support
Our new containers include native support for ARM processors. This is critical for anyone looking to run on Apple Silicon or deploy on AWS Graviton instances, which can be 15-20% cheaper than x86 instances.
Demos of Wowza Streaming Engine and Docker
During the webinar, Ian used a docker-compose file to show just how easy it is to manage these environments. We looked at the specific “Trial” version of our container, which comes pre-configured with SSL certificates and applications, allowing you to get to a “Hello World” stream up and running almost instantly.
One of my favorite features that we demoed was the ability to swap versions on the fly. If you need to test a specific feature or validate a change, you can switch from Engine version 4.9.6 to 4.9.4 just by changing one line in the config file and restarting. This is incredibly powerful for change management and testing upgrades. Avoid the headache of uninstalling and reinstalling software.
Using Volumes to Preserve Docker Data
A common concern with Docker is that, if you shut it down, you lose your data. Ian showed us how to use Volumes to map local directories (like your conf, lib, or content folders) into the Docker container. This is a tactic I use extensively for demos.
I often spend time building highly-optimized transcoding workflows or WebRTC setups. With Volumes, I can save that configuration locally and then spin it up instantly whenever I need it. So, while the container is disposable, your hard work and configurations are preserved.
Achieving Production Scale Through GPUs And Orchestration
Finally, we touched on the fact that Docker isn’t just a valuable tool for testing. It’s also a robust solution for production.
- GPU Access
To address the wall between containers and hardware, you can add a simple runtime: nvidia command to the compose file, you can pass GPU resources through to the container for hardware-accelerated transcoding. - Kubernetes (K8s)
For high-traffic scaling, these containers are designed for orchestration. They support “liveness probes” that allow Kubernetes to monitor the health of a Wowza Streaming Engine instance and automatically kill and rebuild it if it becomes unresponsive. Ian noted that this is the exact architecture that powers our own platform.
Whether you are building a massive deployment on Kubernetes or just want a faster way to test on your local laptop, Docker provides the efficiency you need. Check your images and make sure you are using the new split repositories, not the legacy ones. Download our docker-compose file to see how quickly you can get up and running.
For the full technical breakdown, including Ian’s demo of the configuration files, watch the full webinar VOD here. If you want to discuss how to modernize your specific workflow, please don’t hesitate to contact us.