Over the past year we have been working on making it easier for us to demonstrate our product features and for users to get started using them. This began with a new build and deployment infrastructure that runs all demos we present through our website, as described in a previous blog.
What I will talk about in this blog is how we extended the existing workflow to also publish “downloadable” versions of the demos we are running so you can try them out. We hope that these are useful whether you are completely new to our products, or are familiar with us but looking to try out a new feature.
What is a downloadable demo, and how can it help you?
What we mean by the term “Downloadable Demo” is a fully configured and ready to use demonstration of one of our solutions. Depending on the exact demo this might be as simple as a Unified Origin with some content, ranging to a complex microservice based design using Unified Origin, Remix, and Capture along with multiple other components.
Having these “downloadable demos” is valuable because it makes it much easier to get started with using or evaluating our products, be it for a demo to an end customer, an internal validation or a simple proof of concept. Being able to easily deploy a full stack that demonstrates the relevant feature with a single docker-compose up
command means you don’t have to worry about (for example) installing and configuring Apache and can focus on the product instead. However it does still give you the flexibility to customize it by updating logos or using your own content to make it “yours”.
The fact that they are built as an extension to the existing demos we host at demo.unified-streaming.com also makes it easier for us to keep them up to date.
How do they work?
It all starts from a private git repository in our internal systems, which contains the build instructions for one or more Docker images used by the demo, a Helm chart that is used to deploy it to our Kubernetes cluster, and a Jenkinsfile
describing the CI/CD workflow to actually build and deploy. This was detailed in my previous blog post about demo infrastructure.
As this all relied on our infrastructure it wouldn’t be too useful to share as-is, because we don’t want someone to have to run a whole Kubernetes cluster and Jenkins just to play around with a demo.
So we’ve extended it by publishing the built Docker images to Docker Hub and adding a Docker Compose based deployment that is fully self-contained using these publicly available images. On top of this we also publish a slightly modified set of Dockerfile
s so you can see how the images are built, the only real changes being to remove some references to our internal build systems.
As we added this to the existing Jenkins workflow for building and deploying the demo, it means that whenever we update a demo, for example when doing a new software release, the publicly downloadable version also gets updated and tested.
Conceptually, the new workflow just has a few extra steps added on to publish the demo to GitHub after successfully deploying changes to the stable branch.
As for how to run them, they will all have detailed instructions in the README.md
on GitHub, but in general it should be as simple as cloning the repository and then running docker-compose up
!
We really hope that these demos are useful and are always curious to know what you think. If you try them out and find them useful or have any feedback please get in touch.
Stay tuned for follow-up articles where we will go into much more detail about each individual demo with a full walkthrough of how to use and customize them.
Try them out here: