Deploy a Live Streaming and Video-on-Demand (VOD) Platform on Oracle Cloud

Whether you're an A-list celebrity, a content production house, an independent filmmaker, or a musician, In.Live helps creators control their artistic destiny.

Running its live streaming and video on demand (VOD) platform on Oracle Cloud Infrastructure (OCI) enables the In.Live platform to integrate all sorts of live and on-demand performances with any kind of formally created media.

Founded in 2020, San Francisco-based In.Live has developed a streaming media platform that enables creators to market, distribute, and monetize their live streaming and on-demand content directly to their fans and partners, while maintaining control of their art, brand, and user data. The rising momentum of cryptocurrencies and non-fungible tokens (NFTs) has opened new doors to creators of all types, helping them to raise funds, build communities, and design immersive metaverse experiences, using the In.Live platform.

In.Live partnered with Oracle Cloud engineers to design an architecture that:

  • Deploys an OCI Center for Internet Security (CIS) landing zone to be used as the secure baseline for the initial tenancy design
  • Provisions Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) clusters, nodes, and pods on bare metal and virtual machines (VMs)
  • Automates OKE provisioning using Terraform
  • Provisions eight VMs for stream ingestion, applications and services
  • Provisions one VM for Postgres database installation and configuration

Highlights of In.Live's current state architecture include:

  • Ampere Altra A1 compute instances
  • Kubernetes clusters powered by Ampere instances
  • PostgreSQL and MySQL database instances
  • Kafka, Prometheus, and Grafana are used for monitoring and logging
  • A GitLab server is deployed for DevOps

Architecture

In.Live has built and deployed its streaming platform using Ampere Altra A1 compute instances and a combination of PostgreSQL and MySQL instances.

There are two categories of users of the In.Live streaming platform: content creators and content consumers. Creators can stream their content live or through video-on-demand (VOD). Creators send their video content to In.Live's stream cloud where the video stream is transcoded using a K3S cluster powered by Ampere instances. The K3S cluster currently uses four workers and allows for up to 8 to 10 shows. K3S scales the platform by adjusting the number of instances as needed. Fastly content distribution network (CDN) delivers the live stream. Videos are stored in object storage for VOD access.

Another K3S cluster is deployed for the platform's back end, supporting the ticketing and integration features of the In.Live platform. Using Arm instances, the application platform allows creators to schedule and monetize their content by using ticket sales. The platform integrates with various commerce (payment), customer relationship management (CRM), website, and Web3 platforms. Both the application platform and stream cloud use PostgreSQL for database storage.

Stripe is used for payment and monetization. Google Cloud Platform (GCP) Firebase is used for chat and data warehouse and analytics are run through BigQuery. BigQuery is also used to collect and analyze social media interactions, application data, web site traffic, and production video statistics. Consumers use the In.Live platform for show management, show browsing, and show ticketing. Consumers purchase tickets to be able to access the content that is delivered from Fastly CDN. If creators have integrated with Web3, consumers also have the option to access NFT and metaverse content.

In addition to collecting and analyzing data, In.Live has deployed Kafka, Prometheus, and Grafana for monitoring and logging. A GitLab server is deployed for DevOps. MySQL instances are used for databases to support the monitoring and logging tools.

The following diagram illustrates the architecture:



live-oci-architecture-oracle.zip

The platform is currently deployed in a single availability domain with three fault domains. OCI Region – Sydney is used for an edge site. On the roadmap for In.Live is to explore options for high availability and disaster recovery by taking advantage of additional availability domains and regions.

The architecture has the following components:

  • Tenancy

    A tenancy is a secure and isolated partition that Oracle sets up within Oracle Cloud when you sign up for Oracle Cloud Infrastructure. You can create, organize, and administer your resources in Oracle Cloud within your tenancy. A tenancy is synonymous with a company or organization. Usually, a company will have a single tenancy and reflect its organizational structure within that tenancy. A single tenancy is usually associated with a single subscription, and a single subscription usually only has one tenancy.

  • Region

    An Oracle Cloud Infrastructure region is a localized geographic area that contains one or more data centers, called availability domains. Regions are independent of other regions, and vast distances can separate them (across countries or even continents).

  • Availability domain

    Availability domains are standalone, independent data centers within a region. The physical resources in each availability domain are isolated from the resources in the other availability domains, which provides fault tolerance. Availability domains don’t share infrastructure such as power or cooling, or the internal availability domain network. So, a failure at one availability domain is unlikely to affect the other availability domains in the region.

  • Virtual cloud network (VCN) and subnets

    A VCN is a customizable, software-defined network that you set up in an Oracle Cloud Infrastructure region. Like traditional data center networks, VCNs give you complete control over your network environment. A VCN can have multiple non-overlapping CIDR blocks that you can change after you create the VCN. You can segment a VCN into subnets, which can be scoped to a region or to an availability domain. Each subnet consists of a contiguous range of addresses that don't overlap with the other subnets in the VCN. You can change the size of a subnet after creation. A subnet can be public or private.

  • Route table

    Virtual route tables contain rules to route traffic from subnets to destinations outside a VCN, typically through gateways.

  • Security list

    For each subnet, you can create security rules that specify the source, destination, and type of traffic that must be allowed in and out of the subnet.

  • Internet gateway

    The internet gateway allows traffic between the public subnets in a VCN and the public internet.

  • Service gateway

    The service gateway provides access from a VCN to other services, such as Oracle Cloud Infrastructure Object Storage. The traffic from the VCN to the Oracle service travels over the Oracle network fabric and never traverses the internet.

  • Load balancer

    The Oracle Cloud Infrastructure Load Balancing service provides automated traffic distribution from a single entry point to multiple servers in the back end.

  • Compute

    The Oracle Cloud Infrastructure Compute service enables you to provision and manage compute hosts in the cloud. You can launch compute instances with shapes that meet your resource requirements for CPU, memory, network bandwidth, and storage. After creating a compute instance, you can access it securely, restart it, attach and detach volumes, and terminate it when you no longer need it.

  • Object storage

    Object storage provides quick access to large amounts of structured and unstructured data of any content type, including database backups, analytic data, and rich content such as images and videos. You can safely and securely store and then retrieve data directly from the internet or from within the cloud platform. You can seamlessly scale storage without experiencing any degradation in performance or service reliability. Use standard storage for "hot" storage that you need to access quickly, immediately, and frequently. Use archive storage for "cold" storage that you retain for long periods of time and seldom or rarely access.

Get Featured in Built and Deployed

Want to show off what you built on Oracle Cloud Infrastructure? Care to share your lessons learned, best practices, and reference architectures with our global community of cloud architects? Let us help you get started.

  1. Download the template (PPTX)

    Illustrate your own reference architecture by dragging and dropping the icons into the sample wireframe.

  2. Watch the architecture tutorial

    Get step by step instructions on how to create a reference architecture.

  3. Submit your diagram

    Send us an email with your diagram. Our cloud architects will review your diagram and contact you to discuss your architecture.

Explore More

Learn more about the features of this architecture and about related architectures.

Acknowledgments

  • Authors: Robert Huie, Sasha Banks-Louie
  • Contributors: Greg Thurston, Dave Swanson, Robert Lies

    Partner Team: In.Live Team: Eswar Priyadarshan, Javad Mustafayev