The Doppler Quarterly Winter 2017 | Page 31

goal of four nines of service uptime . Failures are unavoidable in any large scale distributed system , including a cloud-based one . However , the cloud allows one to build highly reliable services out of fundamentally unreliable but redundant components . By incorporating the principles of redundancy and graceful degradation in our architecture , and being disciplined about regular production drills using Simian Army , it is possible to survive failures in the cloud infrastructure and within our own systems without impacting the member experience .
Cost reduction was not the main reason we decided to move to the cloud . However , our cloud costs per streaming start ended up being a fraction of those in the data center -- a welcome side benefit . This is possible due to the elasticity of the cloud , enabling us to continuously optimize instance type mix and to grow and shrink our footprint near-instantaneously without the need to maintain large capacity buffers . We can also benefit from the economies of scale that are only possible in a large cloud ecosystem .
Given the obvious benefits of the cloud , why did it take us a full seven years to complete the migration ? The truth is , moving to the cloud was a lot of hard work , and we had to make a number of difficult choices along the way . Arguably , the easiest way to move to the cloud is to forklift all of the systems , unchanged , out of the data center and drop them in AWS . But in doing so , you end up moving all the problems and limitations of the data center along with it . Instead , we chose the cloud-native approach , rebuilding virtually all of our technology and fundamentally changing the way we operate the company . Architecturally , we migrated from a monolithic app to hundreds of micro-services , and denormalized our data model , using NoSQL databases . Budget approvals , centralized release coordination and multi-week hardware provisioning cycles made way to continuous delivery , engineering teams making independent decisions using self service tools in a loosely coupled DevOps environment , helping accelerate innovation . Many new systems had to be built , and new skills learned .
It took time and effort to transform Netflix into a cloud-native company , but it put us in a much better position to continue to grow and become a global TV network .
Netflix streaming technology has come a long way over the past few years , and it feels great to finally not be constrained by the limitations we ’ ve previously faced . As the cloud is still quite new to many of us in the industry , there are many questions to answer and problems to solve . Through initiatives such as Netflix Open Source , we hope to continue collaborating with great technology minds out there and together address all of these challenges .
This article was originally published on the Netflix Technical Blog .
WINTER 2017 | THE DOPPLER | 29