Netflix: як ми оволоділи хмарою AWS

  • Sep 07, 2023

Хмарний архітектор Netflix Адріан Кокрофт розповідає про вибір компанією Amazon Web Services для своїх хмара, вплив цього рішення на її розробників і чого вона очікує від майбутньої хмари технології

У 2011 році на онлайн-сервіс прокату відео Netflix регулярно припадало 30 відсотків усього інтернет-трафіку завантажень у США.

Для підтримки цієї комбінації величезний трафік і непередбачувані стрибки попитуNetflix витратив останні кілька років на розробку глобальної системи розповсюдження відео за допомогою хмари Amazon Web Services (AWS).

за аутсорсинг Amazon каже, що їй вдалося заощадити на підтримці й оновленні інфраструктури центру обробки даних і краще реагувати на попит. Однак хмарний архітектор Netflix Адріан Кокрофт у списку бажань все ще є ряд пунктів — головним чином, швидші механізми вводу-виводу — яких не вистачає в хмарі.

Перш ніж взяти на себе відповідальність за нагляд і розробку хмари Netflix, Кокрофт працював у Sun і eBay, де він допоміг заснувати eBay Research Labs.

За словами Кокрофта, перехід до хмари дозволяє організації змінити спосіб роботи її розробників і дозволяє їй відмовитися від ІТ-операцій — концепцію, яку він називає «безопераційним». Але він вважає, що компанії все ще мають бути дуже критичними

оцінка типів технологій, які пропонуються в хмарі.

З: Наприкінці лютого У хмарі Microsoft Azure стався серйозний збій і Amazon мав неприємності в минулому. Як ви можете бути настільки впевнені в залежності від однієї хмари?
Відповідь: Я думаю, що є деякі архітектурні відмінності — те, як Microsoft побудувала свою хмару, має набагато більше зв’язків між регіонами. У них є реплікація даних по всій країні, якою керують централізовано, тому вони повинні мати послуги, які охоплюють усе. Ми не використовували їхню архітектуру в жодному реальному значенні, окрім перегляду її для деяких цілей зберігання.

Амазонка дуже налаштована на розділення регіонів, тому східні, західні та центральні регіони США керуються дуже централізовано — вони не спілкуються з кожним взагалі інше, що насправді викликає біль, тому що є служби, які ми хотіли б мати міжрегіональними, але ми не можемо, тому що вони не хочуть виконувати зв’язок. Вони також мають [окремі] зони доступності [в кожному регіоні]. Вони мають мали збої керування для зон [Elastic Block Store (EBS)]. але вони переробили EBS, щоб зупинити це.

Що вас найбільше хвилює, коли справа доходить до розробки хмарної архітектури?
Коли ми вперше перейшли до хмари, ми почали з серії проектів Pathfinder і тестів — що це за звір, як він поводиться, які об'єкти є зрілими, як це масштабується і як це працювати?

Штаб-квартира Netflix

Завдяки аутсорсингу Amazon Netflix каже, що вдалося заощадити на підтримці та оновленні інфраструктури центру обробки даних і краще реагувати на попит.Кредит зображення: Netflix

Архітектура Netflix заснована на тому, що ми знайшли, і ми намагалися уникати деяких речей, які не працювали, тому ми не маємо сильна залежність від EBS, яка завжди мала варіанти продуктивності, і була низка збоїв, які допомогли нам сказати: «Це те, що не варто використовувати'. Він відносно низькопродуктивний — одне зі слабких місць у хмарі [AWS].

Екземпляри, доступні від AWS, мають таку саму ємність процесора, пам’яті та мережі, що й екземпляри, доступні для використання в приватному центрі обробки даних, але наразі вони набагато обмеженіші для дискового введення/виведення. Зазвичай вони мають два внутрішніх диски та є варіанти зберігання, підключені до мережі, як-от EBS, який може забезпечити кілька сотень операцій введення/виведення за секунду. У центрі обробки даних легко забезпечити тисячі чи десятки тисяч операцій введення/виведення за секунду. Отже, це прогалина в хмарних пропозиціях від AWS.

Важко зробити в хмарі високопродуктивний IO [введення-виведення], але це починає змінюватися сторонні постачальники знаходять способи зовнішнього підключення високопродуктивного вводу-виводу, і ми попрацювали над цим з нашими Архітектура сховища даних [Cassandra]..

У Amazon тепер є DynamoDB із твердотільними дисками, що є для мене дуже обнадійливим знаком — я вже деякий час просив SSD у хмарі. Ми сподіваємося, що врешті-решт ми зможемо отримати до них більше доступу, ніж просто через DynamoDB.

Багато підприємств, здається, зацікавлені в SSD, тож чому, на вашу думку, Amazon знадобилося деякий час, щоб розгорнути їх?
Для них це суто масштаб. Для того, щоб Amazon щось зробила, вони повинні зробити це в масштабі, який дійсно приголомшує. Якщо ви думаєте про розгортання послуги інфраструктури з новим типом апаратного забезпечення — якщо вони зробили це неправильно, вони не зможуть повернути його назад і зробити це знову по-іншому. Тож їм доводиться надто вдосконалювати те, що вони роблять.

У певному сенсі існують паралелі між Apple і Amazon.

Певним чином є Паралелі між Apple і Amazon. Apple створює продукти, які займають багато часу, і коли вони виходять, вони дуже добре відшліфовані. З Amazon їм потрібно багато часу, щоб зробити щось, але коли це виходить, це дуже масштабно. На все, що вони роблять, потрібен тривалий час, але вони мають величезні ресурси й починають роботу над цими проектами раніше, ніж інші люди, і над ними працює більше людей.

Те, що ми робимо в Netflix, полягає в залученні цих інвестицій. У Amazon тисячі людей працюють над AWS і набагато більше інженерів, ніж у нас у Netflix. Ми можемо використовувати [ці інвестиції], використовуючи API і повідомляючи їм, чого ми хочемо.

Схоже, що основними споживачами хмари є або технологічно-орієнтовані стартапи, або великі компанії, такі як Netflix. А як щодо середнього бізнесу?
Що ж, більшість людей, які використовують хмари, є стартапами, які використовують п’ять або десять машин. Ми почали там. Два роки тому наша виробнича система була...

...кілька сотень машин, і він продовжував рости.

Те, що зазвичай відбувається в [середньому бізнесі], — це розвиток із нуля, тож коли вони хочуть розвивати нова програма з нуля, інженери захоплюють машини з хмари та використовують Amazon як інфраструктуру шар. Вони називають це тіньовими ІТ. Зрештою, він може бути розгорнутий всередині або розгорнутий у хмарі, але принаймні він архітектурно готовий до роботи в хмарі.

Наскільки легко розробникам Netflix отримати доступ до хмари AWS, яка лежить в основі Netflix?
Якщо ви думаєте про інфраструктуру як послугу та платформу як послугу (PaaS), ми створили PaaS поверх Інфраструктура AWS, яка є настільки тонкою, наскільки ми можемо побудувати, використовуючи стільки функцій Amazon, які здаються цікавими та корисний. Потім ми наносимо поверх нього тонкий шар, щоб ізолювати від нього наших розробників.

Ми почали розробляти компоненти з відкритим кодом. Ми розробили дещо для управління Cassandra назвав Пріам. Це в основному а Сервер Tomcat який працює на кожному екземплярі та контролює резервне копіювання. Оскільки ми маємо відкритий вихідний код, тепер ви можете створювати Cassandra як службу на хмарній платформі.

Як зупинити хмарну PaaS від проблем зі складністю та залежностями?
Ми не відстежуємо залежності. Ми дозволяємо кожному окремому розробнику стежити за тим, що він має робити. Ви несете власну відповідальність за розуміння того, які залежності споживаються та надаються [послуги].

Ми створили відокремлену систему, де кожна служба здатна протистояти збоям кожної служби, від якої вона залежить.

Кожен сидить у центрі зв’язків із постачальниками та споживачами, і кожна команда відповідає за те, щоб знати, якими є ці відносини, і керувати ними. Він повністю переданий — у нас немає централізованого контролю. Ми не можемо надати діаграму архітектури, вона має забагато прямокутників і стрілок. Працюють буквально сотні служб.

Я не переживаю з цього приводу, тому що ми створили відокремлену систему, де кожна служба здатна витримати збій кожної служби, від якої вона залежить. Типове середовище для розробників – це образ, у якому вони можуть писати код, який працює на ідеальна машина, яка завжди працюватиме, а оператори вирішать, як створити цю ідеальну машину їх. Це традиційний договір розробника проти операцій. Але, звичайно, машини не ідеальні, і код не ідеальний, тому все ламається, і всі скаржаться один на одного.

Тож ми позбулися операційної частини цього та залишили лише розробників, тому ви не можете покладатися на всі, і ви повинні припустити, що всі інші розробники пишуть зламаний код, який є неправильним розгорнуто. І коли ви пишете їм виклик REST, ви можете нічого не отримати назад або зламаний код, і вам просто доведеться впоратися з цим.

Змусивши кожного відповідати за надійність свого коду, ми закінчили тим, що навчили цілу будівлю, повну розробників, створюють свій код дуже надійно, і я думаю, що це тому, що ми взяли милицю мати операції, щоб виправити його подалі від їх.

Є деякі суперечки щодо того, як це називати безопераційним. Є спосіб самоорганізації, тобто платформа як послуга, де розробники роблять усе автоматизація операційної функції — вони керують нею самі, але не витрачають на це надто багато часу це.

Що ви хочете бачити від Amazon у майбутньому?
Те, про що я публічно просив, це кращий IO у хмарі. Очевидно, я хочу SSD. Ми вже деякий час просили постачальників хмарних технологій зробити це. З Cassandra нам довелося перейти до горизонтального масштабу та використовувати внутрішні диски та потрійне повторення зони доступності, тому ви отримуєте сховище даних із потрійним резервуванням, яке ретельно стежить, щоб не перевантажувати диски.


Отримуйте останні новини та аналіз технологій, блоги та огляди. доставлено безпосередньо до вашої скриньки з ZDNet Великобританії. інформаційні бюлетені.