

Moving towards a publish/subscribe model enables every service to publish its changes as events into a message bus, which can then be consumed by another service of interest that needs to adjust its state of the world. They become the immutable stream from which we can reconstruct the entire system state. Events are much more than triggers and updates. It promotes decoupling and provides traceability as a first-class citizen in a web of distributed transactions. Rethinking service interactions as streams of event exchanges-as opposed to a sequence of synchronous requests-lets us build infrastructure that is inherently asynchronous. It would also lead to availability problems as the call graph spans out and cause blind spots while trying to effectively track down and answer business questions, such as: why do cash flow projections deviate from our launch schedule? Why is the forecast for the current year not taking into account the shows that are in active development? When can we expect our cost reports to accurately reflect upstream changes? However, a failure in any one of the microservice calls for Content Finance Engineering would lead to a plethora of computations being out of sync and could result in data being off by millions of dollars. Often in a microservice architecture, some percentage of failure is acceptable. This impacts our programming slate, which in turn influences cash flow projects, talent payments, budgets for the year, etc. In a simple world, services can interact through HTTP just fine, but as we scale out, they evolves into a complex graph of synchronous, request-based interactions that can potentially lead to a split-brain/state and disrupt availability.Ĭonsider in the above graph of related entities, a change in the production date of a show. Netflix embraces distributed governance and encourages a microservices-driven approach to applications, which helps achieve the right balance between data abstraction and velocity as the company scales. Embrace eventingįrom an engineering standpoint, every financial application is modeled and implemented as a microservice.

Similar to how VCs rigorously tune their eye for good investments, the Content Finance Engineering Team’s charter is to help Netflix invest, track, and learn from our actions so that we continuously make better investments in the future.
