Після двох років роботи в AWS Bare Metal: відповіді на ваші найскладніші запитання щодо виходу з AWS

Після двох років роботи в AWS Bare Metal: відповіді на ваші найскладніші запитання щодо виходу з AWS


Коли ми опублікували, що перехід від AWS до «голого металу» заощадив нам 230 000 доларів на рік. У 2023 році історія виходить далеко за межі нашої читацької аудиторії. Теми обговорень на Hacker News і Reddit були наповнені гострими запитаннями: чи залишили ми зарезервовані екземпляри, як ми вийшли з ладу на одній стійці, що з ціною для людей і коли хмара є кращою відповіддю? Ці подальші дії є нашою довгостроковою відповіддю.

За останні двадцять чотири місяці ми:

  • Запустив стек MicroK8s+ Ceph у виробництво протягом 730+ днів із виміряною доступністю 99,993%.
  • Другу стійку було додано у Франкфурті, приєднавшись до нашої основної клітки Paris замість резервного DWDM, щоб усунути проблему «єдиної стійки».
  • Середню затримку клієнта було зменшено на 19% завдяки виключенню локального NVMe та галасливих сусідів.
  • Реінвестовані заощадження в придбання сервера зі штучним інтелектом на голому металі для розширення сповіщень/підсумків на основі LLM і автоматичних виправлень коду на основі журналів/трасувань і показників у OneUptime.

Нижче ми розглядаємо повторювані теми з відгуків спільноти, а також номери, які ми використовуємо всередині.

Економити 230 000 доларів на рік? Це просто зарплата інженера.

В Америці це так. В решті світу. Це в 2-5 разів більше зарплати інженерів. ми використовується Щоб заощаджувати 230 000 доларів на рік, але зараз економія зросла в геометричній прогресії. Зараз ми заощаджуємо понад 1,2 мільйона доларів США на рік, і ми очікуємо, що ця сума буде зростати разом із зростанням нашого бізнесу.

«Чому б просто не купити плани заощаджень або зарезервувати валюту?»

пробував. Довга відповідь: навіть коли ми оцінили все, математика все одно віддала перевагу голому металу. Якщо ви порівняєте нашу безкоштовну установку з AWS, ми побачимо економію понад 76%.

Деякі уточнення:

  • накопичувальні плани не роби цього Зменшити S3, вихлоп або пряме підключення. Навіть після знижки в 37% ви все одно повинні платити прейскурантну ціну за пропускну здатність, яка становила 22% від нашого рахунку AWS.
  • EKS мав додаткову плату в розмірі 1260 доларів США на місяць і 600 доларів на місяць за шлюз NAT. Ці витрати зникають, коли ви самостійно запускаєте Kubernetes.
  • Наше робоче навантаження залишається незмінним 24 години на добу. Ми вже досягли >90% бронювання; Не було можливості детонації холостого ходу для «правильного розміру». Якби у нас був такий вибуховий профіль, про який згадували багато коментаторів, вибір був би іншим.

«Скільки насправді коштувала міграція та поточні операції?»

Ми витратили тиждень інженерів на початкову міграцію між SRE, платформою та власниками бази даних (і це найгірша оцінка). Більшу частину цього часу ми й так потребували: формалізація інфраструктури у вигляді коду, діаграми димового тестування, посилення політики резервного копіювання. додаткова робота, яка існувала чисто Тому що Був близько тижня голого металу.

Поточні поточні витрати виглядають так:

  • Практична клавіатура: ~24 інженер-години/квартал для всієї команди платформи, включаючи регулярні виправлення та оновлення мікропрограми. Це еквівалентно часу AWS, який ми витрачали на оптимізацію витрат, розробку політики IAM, зниження підтримки та оновлення наших віртуальних машин на AWS.
  • Дистанційна рука: 2 втручання (переважно диск) за 24 міс. Середній час відповіді: 27 хвилин. Ми не набираємо команду на місці. Ми покладаємося на постачальника спільного розміщення, щоб фізично керувати нашими стелажами. Це означає відсутність традиційних апаратних адміністраторів.
  • Автоматизація: Зараз ми рухаємося до Талосу. Ми керуємо конфігурацією за допомогою завантаження PXE за допомогою Tinkerbell, зображень за допомогою Talos, Flux і Terraform, а також запускаємо набір відповідності перед кожним оновленням Kubernetes. Усі ці інструменти також зміцнили наші активи AWS, тому вони не були чисто новими зусиллями.

Доречним є питання альтернативної вартості. Ми відстежуємо це так само, як ми відстежуємо швидкість об’єкта: чи команда інфрачервоного зв’язку занизила корабель? Відповідь була «ні» — темп наших випусків збільшився, оскільки ми відновили деякі години/місяць, витрачені на зустрічі «ради з витрат» AWS.

«Хіба в однієї стійки немає єдиної точки відмови?»

У нас є кілька стелажів із двома різними DC/провайдерами. Ми:

  • Орендував додаткову четвертну стійку у Франкфурті з іншим постачальником і енергокомпанією.
  • Наразі: розгорнуто другу площину керування MicroK8s, яка відображає пул Ceph з асинхронною реплікацією. Майбутнє: ми прямуємо до Талосу. Нічого проти microk8s, але нам подобається спосіб Talos керувати кластерами k8s.
  • Додано окремі шляхи позасмугового керування (4G/супутник), щоб ми могли отримати доступ до обладнання навіть під час подій метро-волокна.

Відмовостійкий кластер AWS, про який ми згадували у 2023 році, все ще існує. Ми щоквартально репетуємо повні версії, використовуючи ті самі випуски Helm, які надсилаємо клієнтам. Відмовостійкість DNS залишається найповільнішим етапом (кеш-розпізнавач може ігнорувати TTL), тому ми об’єднали будь-який вхід через BGP із нашим транзитним постачальником, щоб скоротити рухомий трафік до субхвилин.

«А як щодо життєвого циклу обладнання та несподіваних капітальних витрат?»

Ми амортизуємо сервери протягом п’яти років, але ми збільшили їх розмір за допомогою двох процесорів AMD EPYC 9654, 1 ТБ оперативної пам’яті та блоків NVMe. За наших поточних темпів зростання блоки досягнуть насичення ЦП до того, як ми досягнемо п’ятого року. Коли це станеться, ми плануємо помістити старе обладнання в наш регіональний аналітичний кластер (ми використовуємо для цього Posthog + Metabase) і придбати нову партію. Завдяки дельті заощаджень ми можемо оновлювати 40% парку кожні 24 місяці та все одно щорічно витрачати менше, ніж оптимізований рахунок AWS вище.

Ми також купуємо розширену гарантію від OEM (Supermicro) і зберігаємо три холодні запасні частини в клітці. Обладнання служить 7-8 років, а не 5, але ми вважаємо це 5, щоб бути дуже консервативним.

«Ви переосмислюєте керовані послуги?»

Ще одна різка критика від Reddit: навіщо перебудовувати служби, які AWS уже надає? Нам комфортно торгувати з трьох причин:

  1. Портативність є частиною нашої обіцянки продукту. Клієнти OneUptime самостійно розміщують у своєму власному середовищі. Використання того самого відкритого стеку, який ми постачаємо (Postgres, Redis, Clickhouse тощо), робить нас чесними. Ми працюємо на Kubernetes, і наші клієнти також працюють на Kubernetes.
  2. Зрілість інструменту. Два роки тому ми зробили ставку на Terraform + EKS + RDS. Сьогодні ми використовуємо MicroK8s (у майбутньому Talos), розгортання Argo, колекції OpenTelemetry та інформаційні панелі Ceph. Нічого з цього не визначено заздалегідь. Ми ні за що не тримаємо гачок.
  3. Вибіркове використання хмари. Ми все ще платимо за AWS для резервного копіювання Glacier, CloudFront за периферійне кешування та короткострокову пакетну ємність для навантажувальних тестів. Коли еластичність має значення, хмара має сенс; Голий метал виграє, коли домінує базове навантаження.

Керовані послуги є феноменальними, коли вам не вистачає досвіду або вам потрібні функції, окрім розрахунків товарів. Якби ми пішли олл-ін на потоки або покрокові функції DynamoDB, ми майже напевно все ще були б на AWS.

«Як зараз працюють сценарії пропускної здатності та DoS?».

Ми прагнемо досягти 95-го процентиля 5 Гбіт/с у двох операторів. Той самий трафік на виході з AWS в EU-West-1 був би у 8 разів дорожчим. Для захисту від DDoS ми використовуємо Cloudflare.

«Чи постраждала довіра?»

Коротка відповідь: ні. Насправді це було краще, ніж AWS (порівняно з нещодавнім простоєм AWS)

У нас було понад 730 днів із виміряною доступністю 99,993%, і ми навіть пережили простой у всьому регіоні AWS, який стався тиждень тому.

«Як тепер аудит і комплаєнс працюють поза хмарою?».

Під час переходу ми залишалися сертифікованими за стандартами SOC 2 Type II та ISO 27001. Найбільші аудитори Delta подбали про:

  • Фізичний контроль: за запитом ми надаємо журнали пропусків, записи камери та щоквартальні перевірки доступу від colo. Kolo вже відповідає резервуванню Tier III, тому їх звіт додається до нашого звіту.
  • Керування змінами: плани Terraform, а тепер і конфігурації машин Talos дають нам незмінний доказ змін. Аудиторам це сподобалося більше, ніж скріншот консолі AWS.
  • Безперервність бізнесу: ми підтверджуємо помилки, передаючи робочі навантаження іншим центрам домену.

Якщо ви перебуваєте в регульованому місці (наприклад, HIPAA), очікуйте, що документообіг трохи збільшиться. Ми обійшли це, покладаючись на стандартні пакети відповідності від постачальників colo – вони надходили безпосередньо в наш реєстр ризиків.

«Чому б не залишитися в хмарі, а змінити постачальника?»

Ми оцінили Hetzner, OVH, LeaseWeb, Equinix Metal і AWS Outposts. Коротка версія:

  • Параметри Hyperscaler були дешевшими з точки зору обчислень, але все ще дорогими, коли виходили з них після досягнення петабайт/місяць. Пункти пропуску також мали мінімальні зобов’язання, які перевищували наші вимоги.
  • Європейські спеціалізовані хости (Hetzner, OVH) є фантастичними для лабораторних груп. Завдання полягало в створенні кластера Ceph на кілька 100 Тбайт із надлишковими висхідними лініями зв’язку та угодами про рівень обслуговування. Як тільки ми встановили такий рівень ціноутворення, заощадження пішли нанівець.
  • Equinix Metal був ближче всього, але «голий метал» на вимогу все ще має 25-30% премії в порівнянні з нашим планом капітальних витрат. Їхній глобальний слід є привабливим; Ми все ще можемо використовувати їх для короткострокового розширення.

Володіння обладнанням також дозволяє нам збільшити щільність потужності (ми використовуємо стійки 15 кВт) і плануємо повторно використовувати компоненти. Для нашого стаціонарного відбитку, колокація виграла безперечно.

«Як зараз виглядає повсякденна робота?»

Ми наводимо тут реальні цифри, тому що Reddit тримав нас чесними:

  • Щотижня: виправлення ядра та мікропрограми (Talos повторно розгортає його), перевірка працездатності Ceph, середній загальний час 1 година на тиждень протягом місяців.
  • Щомісяця: оновлення площини керування Kubernetes у стилі канарки. Близько 2 інженер-годин. Ми сподіваємося, що з появою Талоса це зменшиться.
  • Щоквартально: навчання з аварійного відновлення, планування потужностей та аудит контрактів з перевізниками. Близько 12 годин між трьома інженерами.

Загальні зусилля, включаючи підготовку, становлять ~14 інженер-годин на місяць. В епоху AWS ми витрачали однакову кількість часу, але на інші завдання: переслідування розбіжностей у вартості, розширення винятків Security Hub і відображення змін у керованих службах. Важка робота зникла; Воно не розмножувалося.

«Ви все ще використовуєте хмару для чогось важливого?»

Абсолютно. Хмара все ще вирішує проблеми, які ми не хочемо визнавати:

  • Glacier зберігає довгострокові журнальні записи за ціною, яку не може порівняти локальне сховище об’єктів.
  • CloudFront 14 обробляє крайові POP, які ми не хочемо створювати. Ми припиняємо TLS на межі для маркетингових активів і документів. Незабаром ми перенесемо його на Cloudflare, оскільки вони дешевші.
  • Ми готуємо короткочасне середовище AWS для навантажувального тестування.

Тож так, ми відмовилися від AWS для базових робочих навантажень, але ми все одно використовуємо корпоративну картку, коли еластичність або географія переважують економію фіксованих витрат.

Коли хмари ще правильна відповідь

Це залежить від вашого робочого навантаженняМи рекомендуємо залишатися тут, якщо:

  • Ваша модель використання різка або сезонна, і ви можете автоматично наближатися до нуля між піками.
  • Ви значною мірою залежите від керованих служб (Aurora Serverless, Kinesis, Step Functions), де операційне навантаження є основною цінністю.
  • У вас немає бажання створювати команду платформи, яка буде працювати з Kubernetes, Ceph, спостережливістю та реагуванням на інциденти.

Cloud-first був правильним закликом для наших перших п’яти років. Щойно наші обчислювальні площі, вага даних і вимоги до незалежності стабілізувалися, «голе метал» став правильним рішенням.

що далі

  • Ми працюємо над детальним модулем Runbook + Terraform, щоб допомогти командам Прогноз капітальних витрат Для кольорового трюку. Сподіваюся, у блозі пізніше цього року.
  • На черзі глибше занурення в Талос, як просили багато хто в темі HN.

Питання, які ми не розглянули? Повідомте нам у ланцюжку обговорень – ми раді продовжувати ділитися серйозними подробицями.

Пов’язане читання:



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *