openplanning

Giới thiệu về Netflix và công nghệ điện toán đám mây của họ

  1. Netflix
  2. Netflix Cloud

1. Netflix

Netflix là một công ty dịch vụ giải trí của Mỹ, cung cấp dịch vụ về các Video trực tuyến (online Video streaming) và Video theo yêu cầu (Video on demand), được thành lập năm 1997, và có trụ sở tại Los Gatos, California. Ban đầu họ là một công ty phân phối DVD, hình thức bán hàng của họ là gửi các DVD cho khách hàng thông qua email (DVD Emailing). Vào ngày 25 tháng 2 năm 2007, Netflix phân phối chiếc DVD thứ 1 tỷ. Đồng thời cũng trong năm đó Netflix tái cơ cấu (reinvent) lại toàn bộ cách thức kinh doanh của họ. Mặc dù rất thành công với hình thức phân phối DVD thông qua email, nhưng họ cũng nhận thấy rằng trước sau gì nó cũng bị thay thế (supplant) bởi các video trên Internet (Video streaming over the internet), chính vì vậy họ quyết định đổi mới.
Đúng một năm trước thời điểm Netflix có ý định tái cơ cấu. Năm 2006, ở một nơi khác Amazon, một công ty chuyên về thương mại điện tử công bố một dự án lớn của họ và chẳng có liên quan gì tới lĩnh vực mà họ đang kinh doanh, đó chính là "điện toán đám mây" (Cloud computing). Họ đã bỏ rất nhiều tiền đầu tư vào hạ tầng máy chủ và cho thuê như các dịch vụ.
Dịch vụ mà sau này được đặt tên là Amazon S3 (Amazon Simple Storage Service) cho phép người dùng lưu trữ liệu của họ tại các máy chủ đám mây, và cho phép bạn truy suất bất kỳ lúc nào và ở đâu.
Netflix nhận thấy rằng Amazon chính là đối tác mà họ cần. Thay vì phải đầu tư rất nhiều tiền cho các máy chủ và các máy lưu trữ hãy sử dụng hạ tầng dịch vụ của Amazon. Trong thời điểm đó truyền tải các dữ liệu lớn như video trên Internet vẫn là thứ gì đó chưa được đảm bảo chắc chắn vì nhiều lý do trong đó có chất lượng băng thông (brandwidth) vì vậy các máy chủ cần được đặt gần các khu vực có nhiều khách hàng sử dụng dịch vụ, trong khi đó Amazon đang đầu tư rất nhiều khu vực đặt máy chủ của họ trên khắp nước Mỹ.
Tại thời điểm hiện tại Netflix là công ty dịch vụ xem phim trực tuyến và video theo yêu cầu (video on demand) lớn nhất thế giới, tới tháng 10 năm 2017 Netflix có 109,25 triệu thuê bao trên khắp thế giới, bao gồm 52,77 triệu tại Mỹ, họ đã có măt tại 40 quốc gia, và đang xâm nhập vào 130 quốc gia khác.

2. Netflix Cloud

Sau khi chính thức sử dụng dịch vụ của Amazon, Netflix bắt đầu trở thành người tiên phong trong công nghệ phần mềm cho điện toán đám mây, làm những thứ mà chưa có một người nào làm trước đó. Hầu như tất cả mọi thứ của họ được chạy trên Amazon Web Service (AWS), mà thực chất là hạ tầng máy chủ. Thời điểm đó AWS không thực sự chú tâm đến các thành phần phần mềm (Software component). Không ai làm, vì vậy họ phải tự sáng tạo ra công nghệ phần mềm cần thiết để ứng dụng của họ làm việc tốt trên môi trường đám mây.
Thật thú vị, các công nghệ phần mềm trên nền tảng đám mây không tới từ các công ty IT truyền thống mà bạn có thể đang nghĩ tới như Oracle, Microsoft, IBM hoặc các công ty khác, mà nó được phát minh bởi các công ty làm việc thực tế, đó là Netflix, Amazone và sau đó là cả Facebook.
Hầu như tất cả tài nguyên của Netflix được triển khai trên Amazon Web Service (AWS). Dưới đây là hình ảnh kiến trúc hệ thống của họ:
Hệ thống API của Netflix được phát triển trong nhiều năm, và hầu như tất cả được thực hiện trên AWS.
Đứng trên phương diện các lập trình viên, bạn chắc chắn đặt câu hỏi họ đã làm những gì cho cộng đồng phát triển các ứng dụng đám mây.
Netflix đã quyết định rằng nhiều đổi mới của họ là hệ thống hữu ích và mục đích chung có thể được sử dụng cho nhiều mục đích khác nhau. Chính vì vậy họ quyết định mở nguồn công nghệ này cho phép những người khác có thể tiếp cận với nó. Tất nhiên các công nghệ liên quan trực tiếp tới Video (Video Streaming) vẫn được họ giữ bí mật, còn các công nghệ chung đã được mở nguồn.
Ngay sau khi Netflix mở nguồn công nghệ của họ, nó ngay lập tức được chú ý bởi nhóm phát triển của Spring, những người luôn luôn hướng về phía trước. Họ ngay lập tức nghiên cứu Netflix OSS (Netflix Open Source Software) để đánh giá có cần phải tái cơ cấu lại nó hay không? Và nhận thấy rằng nó rất tốt và không cần thiết phải cải tiến gì cả.
Tuy nhiên cần phải làm gì đó để nó dễ sử dụng hơn cho những người tiêu thụ (Các lập trình viên), bởi vì dù sao thì Netflix OSS cũng là một sản phẩm được phát triển cho các mục đích của chính Netflix. Vì vậy nhóm phát triển Spring tập trung vào việc làm cho các lập trình viên dễ dàng sử dụng các thư viện của Netflix hơn. Trong nhiều trường hợp, tất cả các điều cần thiết đó là thêm vào các sự phụ thuộc (Dependency) và các Annotation.