table of contents

We live in tumultuous, but interesting times. The rich have gotten richer, the poor—poorer and innovators have devised innovative ways to work through the disruption that has been brought about by the coronavirus-induced pandemic. The pandemic has also brought about a battery of changes to our lifestyle, beginning with many of us learning how to cook complex dishes from scratch, others finding newer hobbies, or even spending time to learn something new about ourselves. During the pandemic, many of us have also finally found the time to curl up on our couches, turn into couch potatoes and binge-watch Netflix originals till we run out of bandwidth. 

Sudden surges

Although most services such as Netflix, Amazon Prime video and many other video and audio streaming service providers have highly scalable systems that can withstand sudden surges and spikes in usage, there are chances that these services might experience outages which can result in user frustration and in some extreme cases of long-term outages—abandonment of the platform too. Complex, large-scale distributed systems such as Netflix and Amazon Prime video and many others that potentially have millions of users must be tested effectively and extensively keeping in mind surges and spikes. 

However, unusually heavy spikes such as those caused by the pandemic have been unprecedented and have possibly not been in any company’s testing team kitty.

Netflix team

Continuous integration delivery and production

The problems of CI/CD and resolving the problems of constantly engaged systems

Companies like Netflix have constant updates to their system, which are continuously tested and delivered to their live platforms. For this, Netflix testing teams create hundreds of thousands of tester accounts every day, each being used in thousands of test scenarios to avoid any shortfalls.

This has caused the testing of Netflix to move from a manual testing regimen that would work on a test system before making it live to a large, distributed automated testing of Netflix client and server applications running at scale in production. To facilitate this, testing at Netflix has gone from a low-volume manual mode to a continuous, fully automated, voluminous mode where nothing is left to chance.

An imaginary scenario with real implications

Imagine this—you, and millions of others are at nail-biting, suspenseful climax in the story and suddenly—boom! Netflix is now offline. This would send alarm bells ringing at Netflix HQ and testing SWAT teams would suddenly fly in from your windows to analyse what went wrong. However, thankfully, this does not happen often.

The Goal

The goal at Netflix is simple—to be online for their users 99.99% of the time. Although Netflix has a pretty decent track record of staying online, they do occasionally encounter glitches that put the system off track. One of these incidents occurred when a development team at Netflix deployed software that impacted the large infrastructure at Netflix negatively, causing widespread disruption in services and thousands of unhappy customers.

This led to Netflix scrambling to create a fix that would essentially resolve the issue in few hours, but also gave Netflix some food for thought—that their testing regimen was inadequate and ineffective for such a large, distributed, user-facing system.

What could go wrong?

What happened at Netflix was an oversight on various levels. A new piece of code that was designed to clean up unused resources was actually being tested on the production server. This oversight caused two major problems due to bugs in the code:

  1. The first bug caused a dry run mode flag in cleanup that was to protect the actual cleanup to be interpreted incorrectly—reversing its effect. This was caused to a poorly written unit test that could have caused this issue to be caught in development.
  2. The second bug was in a piece of code that checked if a resource was actually unused. The conclusion of this check overlooked some cases that existed only in production.

The combination of these two bugs caused a removal of key resources in production—resulting in the actual outage at Netflix.

Preventing these problems

Preventing or reducing the incidents of these problems leads to a common dilemma

Should testing be done in a test environment or in a production environment? Although most of us would advocate testing to be done in pre-production so that actual customers are not impacted, some would advocate testing in production to ensure that code is running well in both test and prod. The reality of the scenario is that the code should be tested in all three situations: dev, test and prod. The challenge faced by Netflix was to devise an effective methodology that helps in deciding why, when and how to test in these environments.

This also led to another set of questions

  • Is the test environment a safe and complete mirror of our production environment?

OR

  • Is the test environment the latest build with features that others might need to integrate with?

The result of this was the common scenario of having overtly complex and numerous test environments. 

The answer

The answer to this problem that was creating from thinking of a fix to the existing problem was simple—end-to-end automation that would replicate thousands of scenarios without problems. 

This answer, however, came with its own set of problems—finding a scalable solution to creating a production-like pre-production environment that does not require cloning production entirely and resulting in a massive investment requirement as well.

Another problem was that pre-production and production usage patterns could be completely different from each other. Traffic is also thousands of times less when compared to production. 

Testing payments

Testing payments was another colossus altogether. Instead of testing payments in production using real money, it is better to create fake MOPs and fake transactions exercised on them in sandbox accounts that does not overburden the existing payment systems in place. 

Netflix testing payment

The approach

Of the thousands of possible approaches, Netflix chose production capture and replay to scale their test to be as close as possible to prod.

A large number of requests from customer devices was taken from persistence and duplex-replayed them in test after they were stripped of their personally identified information. This caused tests to become real-world scenarios. This also helped in identifying numerous corner-case bugs that were previously unknown.

The bugs identified were routed back into functional and integrated tests via a schema. This also helped in gaining confidence on quality feature migration and helped to accelerate change velocity. This also gave way to an interesting learning:

All the basic duplex tests could be run in PRODUCTION through tester accounts. However, prod capture and replay duplex tests were limited to the test environment because replaying in production would harm actual customer data with reissue of requests.

Netflix owner

Hastings says. “And instead tragically it is a biological one, so everybody is locked up and we had the greatest growth in the first half of this year that we ever had.” With a market capitalization of around US$230 billion, it has been vying with Walt Disney since March for the title of the world’s most valuable entertainment group.

Masked and refreshed data could safely be used to replay requests in the test environment after a time delay. This focused our interest on the data set and not the production environment. Although this was not totally as stable as production, but gave us a good idea of how it could be.

Failing is important in testing. Failures help test teams to identify real issues in downstream implementations. To mitigate this, all functional validations were to run real canaries in production, essentially exposing a small percentage of actual customer traffic to both versions of the API under test.

Running canary analysis algos on the metrics that were gathered from these implementations and a compare-verify regimen would check if client and server metrics were equivalent. This would help to capture failing request logs from the canaries and would help to debug and triage issues better. 

Learnings

Learnings from such an approach are manifold. 

  • The first one would be to understand that test and prod are different, but their differences must be embraced to utilize the capability of both.
  • Although testing is good in a sandboxed environment, testing in production is important for such implementations.
  • Solving the problems in either environment can go a long way in ensuring test success
  • Stay on the lookout for rethinking your testing strategy. Even if it may come at an extra cost, the end result would be worth it.
  • Find a pragmatic testing shape that is right for your company—do not look for a textbook shape that fits in.
  • Start production simulation and chaos experiments—these will help to validate your functional and resiliency testing capabilities for the future.

At Netflix, chaos testing is done at scale in production. Testing everything from fire raining from the sky to aliens killing their servers, they leave nothing to chance. If they haven’t, why should you? The testing teams at Volumetree are experienced, reliant and know where to hand out the red flags. Give your software the quality edge it needs. Schedule a consultation with our test consultants today!

build your mobile app

 

post tags :

4,228 Comments

  1. Erzurum / Aziziye Kurumsal SEO March 12, 2024 at 2:05 pm

    Mimar Sinan / Tuzla Karot | Rüzgar Karot’un işlerindeki profesyonellik ve güvenilirlikleri beni her zaman memnun etti.

  2. hire a hacker to catch a cheating spouse March 12, 2024 at 2:06 pm

    This web site is really a walk-through for all of the info you wanted about this and didn’t know who to ask. Glimpse here, and you’ll definitely discover it.

  3. ECW Nedir? March 12, 2024 at 2:12 pm

    Bekilli Toptan Bayan Giyim | RENE Wholesale Textile and Clothing Solutions are a step ahead of their competitors in terms of product variety. Whatever your needs, you can find them here.

  4. Nevşehir / Kozaklı Web Sitesi Tasarımı March 12, 2024 at 2:12 pm

    Wat is Inprivate-Navigatie? | Ik ben altijd onder de indruk van de creativiteit en efficiëntie van MAFA als het gaat om webdesign en softwareontwikkeling. Ze leveren altijd topkwaliteit werk.

  5. Web Tasarım Sektörü March 12, 2024 at 2:19 pm

    Web Sitesi Yaptırmak İstiyorum | After reading MAFA’s articles, I feel more equipped to tackle challenges and overcome obstacles in web design and development. Thank you for the preparation.

  6. Otopark March 12, 2024 at 2:20 pm

    Aydınlı Mahallesi, Tuzla Yorgan Yıkama | PENTA’nın çözümleri sayesinde işletmemizdeki temizlik ve hijyen standartlarını en üst düzeye çıkardık. Kesinlikle tavsiye ederim!

  7. Drupal Redirect Modülü March 12, 2024 at 2:26 pm

    Web Sitesi Çizimi | Yazılarınızı okuduktan sonra, web tasarımı ve yazılım dünyasındaki yeni gelişmeleri ve trendleri takip etmeye daha fazla hevesli hissediyorum. Sizin gibi bir kaynağa sahip olduğum için minnettarım.

  8. İzmir / Selçuk Kurumsal Web Tasarım March 12, 2024 at 2:27 pm

    İzmir Torbalı Organize Sanayi Bölgesi | After reading MAFA’s articles, I feel more equipped to navigate the complexities of web design and development. Thank you for the guidance.

  9. Beykoz / İstanbul Web Yazılım March 12, 2024 at 2:33 pm

    PHP array_udiff_uassoc() Nedir? | Yazınızda bahsettiğiniz web tasarım trendleri gerçekten ilginçti. Web sitemin daha modern ve güncel bir tasarıma sahip olması için bu trendleri dikkate alacağım. Bilgilendirici içerikleriniz için teşekkür ederim.

  10. Kabataş / Ordu March 12, 2024 at 2:34 pm

    Tanıtım Filmi Örnekleri | MAFA’s articles are more than just words on a page; they’re windows into the future of web design innovation.

  11. Hamamözü Jakuzi | Atlas Jakuzi’nin ürünleriyle evimde kendime özel bir alan yaratmak mümkün. Bu yazı, bu konuda çok değerli bilgiler içeriyor.

  12. Pamukkale / Denizli Kurumsal Web Tasarım March 12, 2024 at 2:41 pm

    Hayrabolu Toptan Bayan Giyim | RENE Toptan Tekstil ve Giyim Çözümleri’nin kalitesi gerçekten dikkat çekici. Müşteri memnuniyeti odaklı hizmetleriyle sektörde öne çıkıyorlar.

  13. Ankara / Şereflikoçhisar Web Tasarım March 12, 2024 at 2:47 pm

    Pınartepe Karot | Rüzgar Karot’un sağladığı çözümler sayesinde işlerimizde önemli bir ilerleme kaydettik, teşekkür ederim!

  14. Profesyonel Web Sitesi Fiyatları Nedir? March 12, 2024 at 2:48 pm

    Balayage for Short Hair: 39 Stunning Hair Color Ideas | This post couldn’t have come at a better time for me. Thank you for the inspiration.

  15. Bursa / Orhangazi Kurumsal Web Tasarım March 12, 2024 at 2:54 pm

    Tatvan / Bitlis Toptan Bayan Giyim | RENE Toptan Tekstil ve Giyim Çözümleri’nin tasarımları her zaman benzersiz ve trendlere uygun. Her tarza hitap eden ürünler bulmak mümkün.

  16. 301 Yönlendirme Neden Önemlidir? March 12, 2024 at 2:56 pm

    Panama Recipes | Your authenticity is what makes your blog so special. Thank you for being true to yourself.

  17. Malatya / Arguvan SEO March 12, 2024 at 3:02 pm

    Yıldırım / Bursa Toptan Bayan Giyim | RENE Wholesale Textile and Clothing Solutions are a step ahead of their competitors in terms of product variety. Whatever your needs, you can find them here.

  18. Easy Digital Downloads Nedir? March 12, 2024 at 3:02 pm

    Beyşehir, Konya Jakuzi Fiyatları | Atlas Jakuzi’nin kaliteli ürünleri ve müşteri odaklı hizmet anlayışı beni gerçekten etkiledi. Teşekkürler!

  19. jQuery replaceWith() Nedir? March 12, 2024 at 3:09 pm

    Doesburg | This blog has really helped me learn more about MAFA and why they’re the leading authority in web design and software development. Their work is simply amazing.

  20. Bursa / Osmangazi Web Tasarım March 12, 2024 at 3:10 pm

    117 M2 Tek Katlı Prefabrik Ev | Firmanın sunduğu hizmetten çok memnun kaldık. Hem ürün kalitesi hem de müşteri memnuniyeti açısından beklentileri karşılıyorlar.

  21. Grafik Tasarım March 12, 2024 at 3:16 pm

    Üsküdar / İstanbul Toptan Giyim | RENE Toptan Tekstil ve Giyim Çözümleri’nin müşteri hizmetleri gerçekten mükemmel. Herhangi bir sorunuz olduğunda hızlı ve etkili bir şekilde yardımcı oluyorlar.

  22. Yozgat / Sorgun Kurumsal Web Tasarım March 12, 2024 at 3:17 pm

    PR Şirketleri | This blog post is a prime example of why I keep coming back to this site. The insights shared here are invaluable.

  23. JavaScript atan2() Nedir? March 12, 2024 at 3:23 pm

    Wat is Smartcover? | I admire the creativity and dedication MAFA always exhibits in their web design and software development projects.

  24. Karahallı / Uşak Web Sitesi Tasarımı March 12, 2024 at 3:24 pm

    Tavşanlı Jakuzi Modelleri | Atlas Jakuzi’nin sunduğu lüks ve konforu deneyimlemek gerçekten harika bir fırsat.

  25. Ankara / Kızılcahamam Kurumsal SEO March 12, 2024 at 3:30 pm

    İnternet Sitesi Nasıl Yapılır? | MAFA’nın içerikleri, web tasarımı ve yazılım dünyasındaki kendime olan güvenimi artırıyor. Sizin gibi bir kaynağa sahip olduğum için minnettarım.

  26. WordPress Quform Eklentisi March 12, 2024 at 3:37 pm

    İslahiye Jakuzi Fiyatları | Atlas Jakuzi’nin lüks ve şık tasarımlarıyla evimdeki banyo deneyimim tamamen değişti. Teşekkürler!

  27. WordPress SEO Optimizasyonu March 12, 2024 at 3:38 pm

    JavaScript contentEditable Nedir? | I’ve been eagerly anticipating this blog post ever since I saw the teaser on social media, and it did not disappoint!

  28. Balıkesir / Marmara Web Yazılım March 12, 2024 at 3:44 pm

    Rouveen | MAFA continues to impress with their innovative approach to web design and software development. I always look forward to seeing their work.

  29. Giresun / Görele Web Tasarım March 12, 2024 at 3:45 pm

    Keşan, Edirne Jakuzi Modelleri | Atlas Jakuzi’nin ürünleri, evimdeki banyo deneyimimi tamamen değiştirdi. Teşekkürler!

  30. Ovacık / Karabük March 12, 2024 at 3:52 pm

    Openhouseperth.Net Insurance | Your posts always leave me feeling motivated and uplifted. Thank you for the positivity.

  31. İpsala / Edirne Web Tasarım March 12, 2024 at 3:53 pm

    Kozlu, Zonguldak Jakuzi Modelleri | Atlas Jakuzi’nin ürünleriyle evimde kendime özel bir alan yaratmak mümkün. Bu yazı, bu konuda çok değerli bilgiler içeriyor.

  32. CTA (Call To Action) Nedir? March 12, 2024 at 3:59 pm

    Yenice / Çanakkale Toptan Kadın Giyim | The service quality at RENE Wholesale Textile and Clothing Solutions is truly excellent. I’ve always had a seamless shopping experience with them.

  33. Oğuzlar / Çorum Web Yazılım March 12, 2024 at 4:01 pm

    Erzin, Hatay Jakuzi Modelleri | Atlas Jakuzi’nin ürünleriyle evimde kendime özel bir alan yaratmak mümkün. Bu yazı, bu konuda çok değerli bilgiler içeriyor.

  34. Taşkent March 12, 2024 at 4:07 pm

    Web Tasarım Blog | After reading MAFA’s articles, I feel more empowered to take on new challenges and pursue new opportunities in web design and development. Thank you for the empowerment.

  35. JavaScript onreset Nedir? March 12, 2024 at 4:08 pm

    Ways Of How To Make Your Hair Wavy | Your blog is a tapestry of emotions, each thread woven with care and intention.

  36. Akşehir / Konya SEO March 12, 2024 at 4:14 pm

    SCC | I appreciate MAFA Technology’s dedication to providing quality tech news.

  37. Trabzon / Tonya Kurumsal SEO March 12, 2024 at 4:15 pm

    Short Regular Haircuts | I resonate with your message on so many levels. Thank you for putting it into words.

  38. Kahramanmaraş Web Sitesi Tasarımı March 12, 2024 at 4:21 pm

    Van | I’ve shared this blog post with my colleagues because I believe it offers valuable insights that everyone should be aware of.

  39. Üsküdar Web Yazılım March 12, 2024 at 4:22 pm

    Nilüfer / Bursa Toptan Kadın Giyim | RENE Toptan Tekstil ve Giyim Çözümleri’nin ürünleri gerçekten dayanıklı ve kaliteli. Uzun süre kullanabileceğiniz ürünler arıyorsanız doğru adrestesiniz.

  40. Sarıveliler / Karaman March 12, 2024 at 4:29 pm

    İstanbul Rulo Poşet | Eminoğlu Ambalaj, müşteri memnuniyeti odaklı hizmet anlayışıyla fark yaratıyor. Ürünleri kaliteli ve kullanışlı, teşekkürler!

  41. Bartın / Ulus Web Sitesi Tasarımı March 12, 2024 at 4:29 pm

    Çayırova Sandalye Yıkama | PENTA’nın yıkama çözümleri gerçekten etkileyici! Sadece işlerini değil, müşteri memnuniyetini de ön planda tutuyorlar.

  42. Yenişehir / Diyarbakır March 12, 2024 at 4:35 pm

    Çiğli / İzmir | We were highly satisfied with the service provided. They meet expectations both in terms of product quality and customer service.

  43. Dijital Pazarlama Yönetimi March 12, 2024 at 4:37 pm

    Akçaabat Toptan Giyim | RENE Wholesale Textile and Clothing Solutions’ commitment to customer satisfaction always impresses me. Their products are top-notch, and so is their customer service.

  44. WordPress Peak Teması March 12, 2024 at 4:43 pm

    Wat is Presentatieprogramma? | Als het gaat om webdesign en softwareontwikkeling, is MAFA absoluut de beste keuze. Hun ervaring en expertise zijn ongeëvenaard.

  45. Bozyazı / Mersin Web Yazılım March 12, 2024 at 4:43 pm

    Şahintepe Karotçu | Rüzgar Karot’un yenilikçi yaklaşımı ve kaliteli malzemeleri işlerini öne çıkarıyor.

  46. Gümüşhane / Kürtün Web Tasarım March 12, 2024 at 4:50 pm

    Alkent 2000 / Büyükçekmece Beton Delme | Rüzgar Karot’un profesyonel ekibi ve kaliteli hizmeti sayesinde işlerimi sorunsuz bir şekilde hallettim.

  47. WordPress Disable XML-RPC Eklentisi March 12, 2024 at 4:50 pm

    Kulaksız / Beyoğlu Karot | Rüzgar Karot’un sunduğu hizmetten çok memnun kaldım, herkese gönül rahatlığıyla tavsiye ederim.

  48. Rgtull March 12, 2024 at 6:46 pm

    oral finasteride 5mg buy cheap generic diflucan buy fluconazole 100mg generic

  49. Google My Business Nedir? March 12, 2024 at 8:08 pm

    Sazlıbosna / Arnavutköy Beton Delme | Rüzgar Karot’un sağladığı çözümler sayesinde işlerimizde büyük bir ilerleme kaydettik, teşekkür ederim!

  50. Karaburun / İzmir Kurumsal SEO March 12, 2024 at 8:19 pm

    Arguvan Jakuzi | Atlas Jakuzi’nin sunduğu ürünler, evimde kendime ayırdığım zamanı daha da özel kılıyor. Teşekkürler!

Comments are closed.

your ideal recruitment agency

view related content