Tag Archives: SRE

Рік прогресу інфраструктури: Звіт інженера з надійності сайту за 2023/2024

Як старший інженер з надійності сайту (SRE) Фундації OpenStreetMap, протягом останнього року я зосереджувався на підвищенні ефективності, покращенні відмовостійкості та масштабуванні нашої інфраструктури для підтримки постійного зростання проєкту OpenStreetMap. Від міграції в хмару до оновлення серверів, ми зробили кілька покращень порівняно з минулим роком, щоб краще адаптувати інфраструктуру OpenStreetMap для вирішення проблем стійкості та зростання.

Покращення сервісів для користувачів

Оновленя рендерингу

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

Новий сервіс для аерофотозображень

Запущено новий сервіс аерофотозображень, який підтримує GeoTIFF COGs. Наразі сервіс розміщено на сайті aerial.openstreetmap.org.za, який містить 16 ТБ зображень з високою роздільною здатністю. Новий сервіс полегшить розміщення додаткових зображень у майбутньому.

Перехід на альтернативу Gmail та боротьба зі спамом

Після того, як я зіткнувся зі значними проблемами зі спамом у Google Workspace OSMF, я переніс поштові сервіси OSMF на mailbox.org. Це зменшило кількість спаму та підвищило ефективність адміністрування. Ми також перебуваємо в процесі перенесення історичних даних OSMF Google Docs на власний хостинг.

Протидія DDoS-атакам та вандалізму

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

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

Хостинг даних Planet на AWS S3

Разом з Операційною командою OpenStreetMap я перемістив наш хостинг даних planet на AWS S3 з дзеркалами в ЄС та США, що дозволило нам повністю відновити старий каталог історичних даних. Завдяки спонсорству AWS OpenData, diffʼи реплікації та дані planet стали більш доступними.

Полегшення управління системами

Повне управління інфраструктурою AWS за допомогою OpenTofu

Разом з командою OpenStreetMap я успішно перевів усі ресурси AWS, якими керували вручну, на використання принципів інфраструктури як код (IAC) за допомогою OpenTofu (колись Terraform). Цей перехід дозволив нам підвищити економічну ефективність, посилити безпеку, застосувавши модель IAM з найменшими привілеями, і отримати кращу видимість витрат за допомогою детальних тегів для виставлення рахунків. Крім того, ми інтегрували S3 Storage Analytics для подальшої оптимізації наших витрат, налаштували додаткові резервні копії та впровадили розширені правила життєвого циклу.

Покращене сповіщення про відмови сервісів

Ми впровадили SMS-сповіщення про перебої в роботі критично важливих сервісів, разом із спонсорованим обліковим записом PagerDuty. Ці вдосконалення забезпечують швидший час реагування та кращу координацію під час збоїв, а також повну інтеграцію з Prometheus/Alertmanager та Statuscake, які знаходяться в стадії розробки.

Скорочення технічного боргу

Цього року ми досягли прогресу у зменшенні технічного боргу, перевівши кілька застарілих сервісів на більш зручні для обслуговування рішення. Наприклад, ми контейнеризували старі сервіси, включаючи застарілі вебсайти “State of the Map”, які раніше працювали на недостатньо підтримуваних екземплярах WordPress. Цей перехід покращив масштабованість, безпеку та довготривалу експлуатаційну придатність цих сервісів.

Крім того, ми замінили наше власне встановлення OTRS на встановлення пакунків Znuny з Debian. Ця зміна спрощує оновлення та зменшує навантаження на технічне обслуговування, гарантуючи, що система залишається актуальною та безпечною без спеціальних модифікацій.

Забезпечення відмовостійкості інфраструктури, незважаючи на апаратні збої

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

Модернізація інфраструктури

Міжсайтова реплікація резервних копій

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

Інфраструктура високої доступності

Ключове оновлення обладнання на наших майданчиках в Амстердамі, Дубліні та OSUOSL підвищило продуктивність, ємність зберігання даних та надійність мережі. Нові комутатори були встановлені у 2022 році, і зараз ми завершили налаштування конфігурації високої доступності (HA) для забезпечення покращеного обслуговування, яку ми продовжили вдосконалювати, перейшовши на подвійні окремі канали звʼязку з нашим провайдером для кращої відмовостійкості.

Міграція Debian

Ми переходимо з Ubuntu на Debian 12 (Bookworm) як наш стандартний дистрибутив. Всі нові сервери тепер працюють на Debian. Наше управління конфігурацією chef було оновлено тестовим кодом для забезпечення постійної сумісності. Цей перехід знаменує собою перехід до більшої довгострокової стабільності та безпеки. Пост в Mastodon, присвячений цьому переходу.

Дивлячись у майбутнє

Наступний рік відкриває нові захоплюючі можливості, оскільки ми продовжуємо наш прогрес. Ключові пріоритети на 2024 / 2025 рік включають

Залучення

Залучення спільноти та зовнішня комунікація: Посилення співпраці з Робочою групою з питань комунікації (Communication Working Group — CWG)) та покращення нашої комунікації з спільнотою щодо статусу сервісів та перебоїв у роботі.

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

Планування та оптимізація

Планування потужностей для зростання інфраструктури: Зі зростанням OpenStreetMap та попиту на наші сервіси, ми забезпечимо можливість масштабування для задоволення попиту. Передбачаючи майбутні потреби та балансуючи між продуктивністю та економічно ефективним зростанням, ми прагнемо підтримувати якість та доступність сервісів на рівні, якого очікує наша спільнота.

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

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

Продовження вдосконалення інфраструктури

Впровадження розподільників навантаження високої доступності: Впровадження конфігурації HA (VRRP + LVS + DSR) для розподільників навантаження для підвищення надійності системи та зменшення потенційних простоїв.

Завершення інтеграції Prometheus з PagerDuty: завершення інтеграції Prometheus для моніторингу та PagerDuty для оптимізації оповіщення та реагування на інциденти.

Завершення переходу до середовища на Debian: Перенесення всіх сервісів, що залишилися, з Ubuntu на Debian для підвищення стабільності та безпеки.

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