全球最大的云计算实例:Netflix如何架构IT

在线视频租赁服务商Netflix每月的视频访问超过10亿次,是全球最大的云计算实例。

 

近日在旧金山举行的Linux基金会协作峰会上,Netflix的云系统架构总监Cockcroft透露,Netflix的Linux、FreeBSD和各种基于开源软件的服务都是纯粹的“原生云计算”。

 

Cockcroft之所以这么说是因为虽然每月的视频访问量超过10亿次,但Netflix并没有自己的数据中心,2009年Netflix开始使用亚马逊的AWS云计算服务,到2012年11月,Netflix把所有IT基础设施都转移到了亚马逊的AWS云端。

 

 

具体来说,根据客户需求,Netflix的前端服务运行在500-1000台基于Linux的Tomcat JavaServer和NGINX web服务器上,存储则采用亚马逊的S3云存储和NoSQL Cassandra数据库服务器(采用Memcached高性能分布式内存对象缓存系统)。所有这些服务都通过亚马逊AWS的三大可用云区发布,确保用户 无论使用移动设备还是浏览器都能快速浏览视频。

 

Cockcroft透露,如果三个亚马逊云区中的一个出现故障,Netflix依然可以通过其余两个云区提供完整的服务。Cockcroft表示这并不是照搬亚马逊的广告词,而是通过开源软件Chaos Gorilla对AWS全局测试的结果。

 

实现云区间的视频和服务的备份并不容易,Netflix目前已经有了自己的CDN——Open Connect,并且在本地ISP节点部署了大量服务器。但真正困难的问题在于当一个云区出现故障时,如何让DNS系统将流量及时指向可用的云区?众所周 知,DNS与API有很大的不同,DNS的设计原理更多依赖工程师手动配置,因此实现自动化的难度很大。目前Netflix内部有一个技术计划,目标不是 如何杜绝云计算宕机,而是对云计算的宕机过程变得更加平缓,而不是像断电一样突然之间瘫痪,这可以为后继手段争取时间。

 

需要指出的是,Netflix的云计算架构依然存在风险,例如2012年12月亚马逊AWS东岸数据中心的负载均衡故障导致圣诞节期间Netflix的服务不可用。

 

虽然Netflix的云计算架构并不完美,但是通过将IT基础设施全部转移至云端,Netflix实现了IT架构的高度敏捷性和可用性:新功能代码 能在数天内发布而不是过去的数月,在数分钟内配置并启用新的硬件而不是过去的数周,Netflix在公有云上构建了互联网上占用带宽最多的媒体发布平台, 并快速成长为能够颠覆传统电视行业的互联网巨头,这一切,都离不开其云计算架构的成功。