Netflix: The streaming content Company
Scaling and being elastic in order to grow or contract according to demand is the challenge for tech-based organizations in a world marked by information technology. In addition to the situation that the whole world is going through due to the COVID 19 pandemic that orders us to confinement which increased internet usage and entertainment applications consumption.
This time we will talk about one of the most important streaming content companies in recent years and its step-by-step process from having its own data center (on-premise) to adapting to the public cloud since it seems to us an interesting topic to understand and explain how the increasing demand for Netflix has affected its effective and flexible measures to satisfy its audience.
To give us a little context, the company is around 20 years old and started as a DVD rental website with 30 employees. “Today it is a global streaming service with more than 5,000 titles, 167 million subscribers, and $ 11 billion in annual revenue that has dramatically transformed the entertainment industry”, according to Tom Macaulay Senior editor in Computerworld.
In 2008 after having a difficult time - a data center failure shutted down all services and
stopped DVD shipments for three days - they decided to move their service to the public cloud and became secondary customers of Amazon Web Services (AWS), choosing the company for its scale and its extensive set of services and features.
By migrating its infrastructure to the AWS cloud, Netflix started using different data stores, both SQL and NoSQL, for different purposes. MySQL databases are used for movie title management and for transactional / billing purposes. Hadoop is used for big data processing based on user records. ElasticSearch has powered the search for titles for Netflix applications.
This made the infrastructure much more agile, replacing monolithic programs with small software components manageable by the microservices architecture, managed by their own small teams that understood how their service worked and interacted with other systems. This was quite innovative at the time. Microservices also help increase scalability and partitioning your workload. By adopting microservices, Netflix engineers easily change any service that leads to faster deployments. More importantly, they can track the performance of each service and quickly isolate their problems from other running services. To control its cascade failure and allow resilience, each microservice is isolated from the calling processes by Hystrix (a type of library created to improve the behavior of a service system).
So then, with the help of Amazon, Netflix developed a concept of resilience with which they began to elaborate elastic and elastic architectures, referring to the ability to adapt and grow before the traffic demands, since they have developers responsible for their part and in turn together they make the application go.
They have been doing this through Observability and so before technical problems hit the customer, they began testing the capacity of their infrastructure for when traffic increases, experimenting with Chaos Engineering (a software system in production) with tools such as Chaos Monkey (based on throwing bugs to test development tools) and the self-service chaos engineering tool Chaos Automation Platform, to generate reliability and anticipate turbulent or unexpected conditions. In other words, they anticipated chaos. Every month, they shut down one region and proved that they could move all of their customers to another region in six minutes. This is truly amazing!
Using elastic and scalable website architectures, they must ensure that users can navigate or make transactions and queries safely and smoothly on normal days and on high-demand days.
Thus, the migration improved the scalability and availability of the Netflix service and the speed through which the company could launch new content, features, interfaces, and interactions. It also freed up engineer capacity, cut transmission costs, dramatically improved availability, and added AWS expertise and knowledge. Dave Hahn, a senior engineer in Netflix cloud operations and reliability team, said: "The other thing is that the cost model is really good for us. You pay for what you use. That allows us to do many experiments".
This is possible thanks to the elasticity of the cloud, which allows you to constantly optimize the mix of instance types, and to increase and decrease the space they occupy almost instantly without having to maintain large capacity buffers. He also highlighted: “We want our engineers to focus, as much of their time as possible, on product innovation for the Netflix customer experience; what sets us apart from our competitors".
So then, "stay at home"; Netflix has become an almost indispensable service. Taking into account the last 3 months, the species has increased by 13% and reaches a market capitalization of US $ 163.00 million. Moving to the cloud has brought them many benefits.
Cloud services are not exclusive to companies that host customer information. Netflix started relying on public cloud services a few years ago, which allowed Cloud Computing to evolve worldwide; not only because this technological reference has done so, but at present, it is a necessity both for the protection of information and the immediacy of the content housed there.
There is no doubt that data is the true treasure of any company. Organizations that manage data effectively will take advantage of a significant opportunity as well as a competitive advantage. Is your company one of them? At Teracloud we offer solutions that are simple, flexible, and reliable through tools that automate, reduce obsolescence, and free up resources for other tasks that add value, take the step and go further.
Damian Gitto Olguin
Co-Founder / CTO
If you want to know more about our services, email to our team member firstname.lastname@example.org