Ця публікація є співавтором з Шреелолою Хегде, Сріхарша Девінені та Лі Уаттерворт з Клудери.
Cloudera – глобальний лідер з управління даними, аналітики та AI. Платформа Cloudera дозволяє організаціям керувати, обробляти та аналізувати масові набори даних, допомагаючи підприємствам у таких галузях, таких як фінанси, охорона здоров'я, виробництво та телекомунікації, прискорюють впровадження AI/ML та розблокують інформацію в реальному часі.
Ключовим елементом, що сприяє успіху платформи, є середовище розробки, де розробники можуть будувати та перевіряти нові функції для випуску. Навколишнє середовище, побудоване на Kubernetes, зіткнулося з численними проблемами на місцях, особливо в масштабах та використанні ресурсів.
Ця публікація охоплює те, як Cloudera модернізував свої операції з розвитку, застосувавши гібридний хмарний підхід, побудований на службі Amazon Elastic Kubernetes (Amazon EKS). Ця стратегія врівноважує існуючу здатність до локальних середовищ з еластичністю хмари, використовуючи вдосконалення, такі як Карпентер, Ботлеокет та Вілію для оптимізації масштабування, безпеки та економічної ефективності.
Оперативні виклики, що стикаються з локальними
- Навколишнє середовище розвитку стикається з проблемами, що працюють на місцях:
- Навколишнє середовище потрібно часто масштабувати вгору та вниз, але обмежувалося фіксованою потужністю.
- Процеси побудови та тестування для таких послуг, як Apache Spark, Hive та HBase, необхідні контейнери до 64 ГБ оперативної пам’яті та 32 VCPU, які швидко перевищували доступні ресурси.
- Запити на витяг під час інтенсивного кодування спринтів зросли до 300%, що призвело до 45-хвилинного збільшення часу набуття, створюючи вузьке місце в трубопроводі CI/CD, що значно уповільнило швидкість розвитку. Це, у свою чергу, затримка доставки функцій та ризикувати графіком випуску, збільшуючи при цьому інфраструктурні витрати та час у режимі очікування.
- Дизайн додатків також передбачав пошук та збереження артефактів та наборів даних від Amazon S3, що запровадило затримку для локальних агентів, ще більше розширюючи цикли побудови та тестування.
- Ці обмеження створили вузькі місця в трубопроводі розробки та підкреслили необхідність еластичності, що перевищує локальні кластери.
Огляд рішення
Cloudera вирішив ці виклики, прийнявши гібридну хмарну модель, де передбачувані навантаження залишалися локальними, а динамічні навантаження переміщуються на AWS. Архітектура зібрала еластичність AWS із встановленою локальною інфраструктурою Cloudera, забезпечуючи безшовне масштабування, зменшила затримку та оптимізовані витрати.
Архітектура високого рівня середовища розвитку в AWS
Модернізована архітектура Kubernetes надала такі переваги:
- Еластичність з Amazon Eks та Karpenter: Cloudera, використовуючи Карпентер, змогла масштабувати свої навантаження з кількох вузлів до тисяч протягом декількох хвилин, а також укладено договір, коли попит знизився. Це забезпечило ефективне масштабування під час перенапруг, усуваючи бездіяльні відходи ресурсів під час заморозки. Це також дало змогу декількома запитами на тягання працювати паралельно, не чекаючи потужностей, надаючи розробникам швидшого часу повороту та покращення швидкості випуску. Інтелектуальне забезпечення забезпечило, що обчислювальні екземпляри завжди відповідали вимогам щодо навантаження, що покращило ставки використання та зменшило витрати до 40%.
- Поводження з великими контейнерами з Карпентером: Будівництво та тестування, що потребують масивних контейнерів, миттєво відповідали оптимізованому обчисленню через забезпечення інтелектуального вузла Карпентера. Ця еластичність у режимі реального часу не забезпечила жодних затримок або суперечок ресурсів.
- Посилення безпеки за допомогою BottleRocket: ОС на основі Linux додатково посилило процес масштабування, доставляючи оптимізоване контейнер середовище з мінімальними накладними операційними системами. Його незмінна файлова система зміцнила безпеку, запобігаючи несанкціонованим змінам, в той час як атомні оновлення спрощені виправлення системи та скорочення часу обслуговування. Ця зміна зменшила поверхню атаки середовища розвитку на 60%, впорядковану виправлення через атомні оновлення та покращила ефективність обчислення на 35%.
- Зниження затримок збірки за допомогою Bottlerocket та Amazon Elastic Block Store (Amazon EBS) (Amazon EBS) знімки: Час запуску POD впав з 30 хвилин до секунд, використовуючи знімки Bottlerocket та Amazon EBS для попереднього кешування великих зображень. Це вдосконалення дало розробникам можливість починати нові конструкції майже миттєво, перетворюючи продуктивність. Потягнути запиту Шипи більше не створювали вузькі місця.
- Масштабна мережа з цилієм: мережа модернізована за допомогою Cilium, яка забезпечувала безпеку на основі ідентичності, вдосконалену спостережливість рівня POD та мережеві роботи, керовані EBPF. Вводячи гнучке управління IP-адресами, Cilium дозволив Cloudera масштабувати понад 10 000 навантажень, не стикаючись з проблемами виснаження IP, все, пропонуючи чітку видимість у мережі рівня POD.
- Усунення бездіяльних ресурсних відходів за допомогою екземплярів AWS Graviton та Flex: Graviton та Flex екземпляри відіграли важливу роль у оптимізації витрат та продуктивності. Graviton надав великі переваги цін на робочі місця на основі ARM, тоді як екземпляри Flex підвищили ефективність для завдань компіляції X64. Разом ці варіанти обчислення зменшили експлуатаційні витрати майже на третину та інфраструктурні витрати на 40%, забезпечуючи збалансовану ефективність та вартість Cloudera для різноманітних потреб у навантаженні.
- Вирішення затримки S3 за допомогою хмарної інтеграції: запуску в Amazon EKS, відкинув затримку до Amazon S3 до мілісекунд, прискорення пошуку артефактів. Це мало додаткову вигоду від зниження витрат на переказ мережі на 30%.
Це цілісне рішення не тільки стосувалося кожного вузького місця, але й створило фундамент, яка еластично масштабується, надійно працює та оптимізує витрати в гібридних умовах.
Результати бізнесу
Прийняття цього гібридного середовища Kubernetes трансформувало операції з розвитку Клудери. Час побудови та тестового циклу покращився на 50%, що дозволило швидше доставити нові функції та вдосконалення. Можливість масштабувати від 10 до більш ніж 1000 вузлів за лічені хвилини дала розробникам надійний доступ до необхідних ресурсів, усуваючи вузькі місця під час великого попиту. Оптимізуючи передачу даних за допомогою Amazon S3, мережеві витрати були зменшені на 30%, а затримка була скорочена на мілісекунди. Інтелектуальне масштабування та об'єднане навантаженням відбір обчислення знижено витрати на інфраструктуру на 40%. Bottlerocket знизив поверхню атаки на 60% та покращив ефективність обчислення на 35%.
Ці досягнення не тільки посилили безпеку, але й доставили звільнених інженерів від управління інфраструктурою та дозволяли їм зосередитись на основному розвитку.
Висновок
Успішна реалізація Cloudera демонструє трансформаційну силу контейнерного стека AWS – Amazon Eks, Karpenter та Bottlerocket. Модернізоване середовище Kubernetes призвело до безшовного масштабування, підвищення безпеки та оптимізованого управління витратами, забезпечуючи при цьому пікові продуктивності для динамічних навантажень. Подорож Cloudera доводить, як інтеграція спеціально побудованих рішень AWS може різко покращити управління інфраструктурою, зменшити експлуатаційні накладні витрати та прискорити продуктивність розробників.
Завдяки автоматизованому забезпеченню вузлів, інтелектуальному розміщенню робочого навантаження та впорядкованими операціями, Cloudera демонструє, як організації можуть досягти ефективності в контейнерних умовах. Слідом за перевіреною архітектурою Cloudera, підприємства можуть створити надійне, масштабоване та економічно ефективне середовище Kubernetes, яке відповідає сьогоднішнім вимогливим потребам розвитку, готуючись до майбутнього зростання. Поговоріть зі своєю командою облікових записів AWS, щоб зробити наступні кроки для створення модернізованого середовища Amazon EKS.
Про авторів