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. Denizli Konteyner Ev | Bu yazıda konteyner evlerin modern yaşam tarzlarına uyumu hakkında önemli bilgiler var. KAYRA Konteyner Ev Çözümleri olarak, alternatif konut seçeneklerinin yaygınlaşması için çaba gösterdiğiniz için teşekkür ederiz.

  2. The sleek design of Venster Systems’ pleated insect screens adds a touch of sophistication to our home. We’re impressed! | Darıca Plise Perde Çeşitleri

  3. Bursa / Harmancık Kurumsal SEO March 17, 2024 at 10:49 pm - Reply

    Altıntepe Beton Kırma | Rüzgar Karot’un kaliteli malzemeleri ve deneyimli ekibi ile işlerimi güvenle teslim ediyorum.

  4. Çayeli / Rize Web Yazılım March 17, 2024 at 10:57 pm - Reply

    Teşvikiye / Şişli Karotcu | Rüzgar Karot’un sunduğu hizmetten çok memnun kaldım, her aşamada kalite ve güven sağladılar.

  5. İstanbul / Şile Web Tasarım March 17, 2024 at 11:04 pm - Reply

    Tapenade Recipes | Your blog is a source of inspiration for me. I always come away feeling motivated after reading your posts.

  6. Ankara Web Yazılım March 17, 2024 at 11:04 pm - Reply

    Esenkent, Maltepe Battaniye Yıkama | PENTA’nın sunduğu çözümler hakkında bu kadar olumlu geri bildirimler almak harika! Kesinlikle denemek istiyorum.

  7. Kastamonu Web Yazılım March 17, 2024 at 11:12 pm - Reply

    Venster Systems’in pileli sineklikleri, kullanımı kolay ve pratik bir çözüm sunuyor. | Dilovası Sineklik Fiyatları

  8. Bitlis / Mutki Kurumsal SEO March 17, 2024 at 11:18 pm - Reply

    Zip Perde Modelleri Sakarya | Plise perdelerinizin modern tasarımı, evimizin dekorasyonunu tamamlıyor ve her odada birinci sınıf bir görünüm sunuyor. Çok beğendik!

  9. Ergani / Diyarbakır March 17, 2024 at 11:19 pm - Reply

    Darüşşafaka Karotçu | Rüzgar Karot’s professionalism and effective communication ensured smooth progress in our work.

  10. Deep Web Nedir? March 17, 2024 at 11:25 pm - Reply

    Akşehir Jakuzi Modelleri | Atlas Jakuzi’nin sunduğu ürünlerle evimde bir lüks oteldeymiş gibi hissediyorum. Harika bir deneyim!

  11. Müzisyen March 17, 2024 at 11:32 pm - Reply

    Plise Perde Mardin | I highly recommend Venster Systems’ screens to anyone looking for a reliable solution to fly problems.

  12. PHP sizeof() Nedir? March 17, 2024 at 11:33 pm - Reply

    Venster Systems’in pileli sineklikleri gerçekten etkileyici. Hem işlevsellikleri hem de şık tasarımlarıyla dikkat çekiyorlar. | Jaluzi Gümüşhane

  13. Bozcaada / Çanakkale March 17, 2024 at 11:40 pm - Reply

    Black Stiletto Nails Are Hot Trend in 2024 | Your writing has a way of making complex topics easy to understand. Thank you for breaking it down.

  14. Demirci / Manisa SEO March 17, 2024 at 11:41 pm - Reply

    Yukarı Beton Delme | Rüzgar Karot’un esnek çalışma saatleri ve müşteri odaklı yaklaşımı işlerimi kolaylaştırdı.

  15. Web Sitesi Grafik Tasarım March 17, 2024 at 11:47 pm - Reply

    Oudesluis | Deze blog heeft me echt geholpen meer te begrijpen over de waarde die MAFA toevoegt in webdesign en softwareontwikkeling. Ik ben onder de indruk van hun werk.

  16. Hizan / Bitlis SEO March 17, 2024 at 11:48 pm - Reply

    Kastamonu Seydiler Organize Sanayi Bölgesi | MAFA’s content serves as a reliable source of information and inspiration in the field of web design and development. Thank you for the resources.

  17. Ağrı / Taşlıçay Web Yazılım March 17, 2024 at 11:55 pm - Reply

    Short Haircuts for Very Fine Thin Hair | Your writing is a symphony of voices, harmonizing in perfect unity. Thank you for the beautiful melody.

  18. Çorum / Dodurga Kurumsal SEO March 17, 2024 at 11:56 pm - Reply

    The variety of colors and patterns available in Venster Systems’ pleated blinds makes them suitable for any decor style. We’re extremely satisfied! | Ataşehir Zip Perde Çeşitleri

  19. Karapürçek / Sakarya Web Tasarım March 18, 2024 at 12:03 am - Reply

    Wat is Veilige Modus? | Ich bin immer beeindruckt von der Qualität und Konsistenz von MAFA’s Arbeit im Bereich Webdesign und Softwareentwicklung. Sie liefern immer hervorragende Ergebnisse.

  20. Geyve Web Tasarım March 18, 2024 at 12:04 am - Reply

    History of Iso | Your positivity is contagious. Reading your blog always brightens my day.

  21. Harmancık Web Yazılım March 18, 2024 at 12:10 am - Reply

    Evimdeki her pencere için farklı bir tarz arayışındaydım, Venster Systems’in geniş ürün yelpazesi bu konuda bana büyük bir esneklik sağladı. | Şile Pileli Sineklik Modelleri

  22. Hisarcık / Kütahya SEO March 18, 2024 at 12:11 am - Reply

    Mevlana Beton Kesme | Rüzgar Karot’s professionalism and effective communication ensured smooth progress in our work.

  23. Gebze Peçete | Eminoğlu Packaging’s quality and reliability make our job effortless. We’re happy to always receive the best service.

  24. NFC Nasıl Çalışır? March 18, 2024 at 12:19 am - Reply

    Wat is Roaming? | Geweldige blog! Ik ben onder de indruk van de diensten van MAFA op het gebied van webdesign en softwareontwikkeling.

  25. Plise Perde Çeşitleri Karaman | Bu makalede Zip Perde’nin dayanıklılığı ve estetiğiyle ilgili detayları öğrenmek güzeldi. Venster Systems’in ürünlerinin kalitesi gerçekten dikkate değer.

  26. Kocaeli / Gebze Web Yazılım March 18, 2024 at 12:27 am - Reply

    Fenerbahçe / Kadıköy Beton Delme | Rüzgar Karot’s professionalism and effective communication ensured smooth progress in our work.

  27. İzmir SEO March 18, 2024 at 12:33 am - Reply

    Ankara Jaluzi Modelleri | Venster Systems’in pileli sineklikleri, yüksek kaliteli malzemeleriyle uzun ömürlü bir kullanım vaat ediyor.

  28. WordPress OMGF Eklentisi | MAFA’s insights into web design and development offer fresh perspectives on familiar topics. Thank you for the new insights.

  29. Ankara Web Yazılım March 18, 2024 at 12:41 am - Reply

    Battalgazi, Sultanbeyli Halı Yıkama | PENTA’nın sunduğu çözümler, işletmelerin hijyen standartlarını artırmak için mükemmel bir seçenek gibi görünüyor. Kesinlikle tavsiye ederim!

  30. İstanbul / Ümraniye SEO March 18, 2024 at 12:42 am - Reply

    Fevzi Çakmak / Küçükçekmece Beton Kesme | Rüzgar Karot’un hızlı geri dönüşleri ve çözüm odaklı yaklaşımı işlerimi kolaylaştırdı, teşekkür ederim!

  31. Ağın / Elazığ March 18, 2024 at 12:48 am - Reply

    Ideas Of Wearing Flat Top Haircut for All Textures And Tastes | Your blog is a symphony of thoughts, each one a melody waiting to be heard by those who listen closely.

  32. CSS Grid ve Flexbox ile Duyarlı Tasarım Teknikleri | After reading MAFA’s articles, I feel more connected to the broader community of web designers and developers. Thank you for fostering a sense of camaraderie.

  33. Görele / Giresun March 18, 2024 at 4:28 am - Reply

    Native Reklam Nedir? | Bu blog, alışkanlıklarımın önemli bir parçası haline geldi ve bunda iyi nedenler var. İçerik her zaman ilgili ve bilgilendirici.

  34. Python raise Nedir? March 18, 2024 at 4:37 am - Reply

    Standart Konteyner – KPK305 | Bu yazı, konteyner evlerin çevre dostu tasarımı ve ekonomik avantajlarını vurguluyor. KAYRA Konteyner Ev Çözümleri olarak, yenilikçi yaşam alanlarının yaygınlaşması için çaba gösterdiğiniz için minnettarız.

  35. Elmadağ / Ankara Web Yazılım March 18, 2024 at 5:01 am - Reply

    Derince Plise Perde Modelleri | Venster Systems’in pileli sineklikleri, hem estetik görünümleriyle hem de sağlam yapılarıyla beni etkiledi.

  36. JavaScript sin() Nedir? March 18, 2024 at 5:43 am - Reply

    Zübeyde Hanım Beton Kesme | Rüzgar Karot’un müşteri memnuniyeti odaklı yaklaşımı ve etkili iletişimi işlerimizi çok kolaylaştırdı.

  37. Yjandn March 18, 2024 at 7:38 am - Reply

    purchase metronidazole pills – order zithromax zithromax pills

  38. RichardMug March 18, 2024 at 9:43 am - Reply
  39. Zonguldak / Alaplı Kurumsal SEO March 18, 2024 at 11:14 am - Reply

    Süloğlu / Edirne | Prefabrik çözümlerimizi EVKON’dan aldık ve sonuçtan çok memnun kaldık. Kesinlikle tavsiye ederim.

  40. WORKSUITE CRM Nedir? March 18, 2024 at 11:20 am - Reply

    Düzce Jaluzi Modelleri | Venster Systems’in pileli sineklikleri, montajı kolay olduğu için herkesin rahatlıkla kullanabileceği bir ürün.

  41. Shopify Nasıl Kullanılır? March 18, 2024 at 11:29 am - Reply

    Siirt Toptan Kadın Giyim | RENE Toptan Tekstil ve Giyim Çözümleri’nde alışveriş yapmak her zaman keyifli bir deneyim. Ürünlerinin kalitesi ve hizmet anlayışları gerçekten takdire şayan.

  42. Vakıf March 18, 2024 at 11:36 am - Reply

    Tufanbeyli, Adana Jakuzi | Atlas Jakuzi’nin ürünleri, evimdeki banyo deneyimimi tamamen değiştirdi. Teşekkürler!

  43. HTML font Etiketi March 18, 2024 at 11:37 am - Reply

    Wat is Beamer? | Deze blog heeft me echt geholpen meer te begrijpen over de innovatieve aanpak van MAFA in webdesign en softwareontwikkeling. Ik ben onder de indruk van hun werk.

  44. MP2 Nedir? March 18, 2024 at 11:43 am - Reply

    Yeni plise perdelerimizle evimizin havası tamamen değişti. Çok teşekkürler Venster Systems! | Elâzığ Jaluzi Perde Fiyatları

  45. Bursa / İnegöl Web Tasarım March 18, 2024 at 11:44 am - Reply

    Altayçeşme Beton Delme | Rüzgar Karot’un sunduğu hizmetten çok memnun kaldım, profesyonel ve hızlı bir işleyişleri var.

  46. Mutki / Bitlis Web Tasarım March 18, 2024 at 11:52 am - Reply

    Köşk / Aydın Toptan Giyim | RENE Toptan Tekstil ve Giyim Çözümleri’nin ürünleri gerçekten çeşitlilik açısından zengin. Her tarza ve ihtiyaca uygun ürünler bulmak mümkün.

  47. Kocaeli / Dilovası Kurumsal SEO March 18, 2024 at 11:59 am - Reply

    Webapplicatie laten maken Noord-Holland | Deze blog heeft me echt geholpen om meer te begrijpen over de innovatieve benaderingen van MAFA op het gebied van webdesign en softwareontwikkeling. Ik ben onder de indruk van hun werk.

  48. Konya / Karapınar Web Yazılım March 18, 2024 at 12:00 pm - Reply

    Andırın / Kahramanmaraş Toptan Kadın Giyim | RENE Toptan Tekstil ve Giyim Çözümleri’nde her sezon için harika ürünler bulabilirsiniz. Modayı yakından takip eden bir firma oldukları kesin.

  49. Adıyaman / Tut Web Tasarım March 18, 2024 at 12:06 pm - Reply

    Golang Nedir? | Web tasarımı ve yazılımı hakkındaki yazılarınızın kalitesi her zaman üst düzeyde. Böyle değerli içerikler paylaştığınız için teşekkür ederim.

Leave A Comment

your ideal recruitment agency

view related content