Проект підтримки УББ порталу 8 Проект підтримки УББ порталу 9 Проект підтримки УББ порталу 10

Підтримка високонавантаженого порталу Української Біржі Благодійності

#Кейси #Галузеві рішення #Highload

Наприкінці червня 2019 роки до нас звернулася директор Української Біржі Благодійності із запитом про підтримку існуючого проекту.

Платформа порталу Української Біржі Благодійності (УББ) представляє собою високонавантажених сайт, за допомогою якого благодійні фонди збирають пожертви від відвідувачів на соціальні ініціативи, наприклад: допомога дітям, біженцям, ветеранам АТО, дитячим будинкам, притулкам для тварин, людям, які постраждали внаслідок нещасних випадків, і так далі. УББ - загальнонаціональна платформа, з якою співпрацюють десятки благодійних фондів.

Оскільки організація некомерційна, для УББ критично важливі:

  • Звіти та прозорість фінансових операцій. Будь-який відвідувач сайту, який вже пожертвував гроші, повинен мати можливість перевірити куди вони у підсумку потрапили і як були використані.
  • Стабільність системи. Оскільки в різні часові проміжки кількість одночасних онлайн-відвідувачів може варіюватися від 100 до 10 000 (десяти тисяч), система повинна витримувати високі навантаження, не втрачаючи працездатності.
  • Масштабування. Можливість виконувати більший обсяг робіт силами тієї ж команди: створювати більше проектів, стежити за звітністю і коректністю введеної інформації.

За фактом призначене для користувача навантаження на порталі УББ нерегулярне, але велике. На момент звернення до нас влітку 2019 року біля платформи були такі проблеми: при різкому стрибку кількості відвідувань на сайт портал починав "виснути" і "падати", відвідувачі не могли зробити пожертвування, або ж самі транзакції ставали в чергу і зависали. Подібне призводило до проблеми підрахунку грошових надходжень на проекті. Щоб вирішити проблему і забезпечити правильний підрахунок, необхідні були нелюдські зусилля і постійний контроль команди УББ.

Такі стрибки в навантаженні цілком зрозумілі: вони відбуваються через сюжети зі збору коштів на телеканалах. Графік показу таких сюжетів спрогнозувати не можна, так як телеканали самі пропонують провести їх в доступні тимчасові проміжки. Коли сюжет про дитину, яка потребує допомоги, показують по національних телеканалах, на сайт заходять тисячі людей одночасно. Допускати падіння сайту під високим навантаженням у цьому випадку не можна, адже всі ці люди хочуть допомогти зараз, а не побачити "білий екран".

Приклад сайту УББ

Паралельно з вирішенням головних проблем з highload, директор УББ Ірина Гуцал хотіла впровадити багато нового функціоналу. Наприклад, регулярні пожертви (підписка на регулярне пожертвування коштів певної категорії благодійності). Саме реалізацію функціоналу регулярного платежу ми вибрали пілотною частиною функціоналу.

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

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

Роботу проекту ми стабілізували приблизно за 2 місяці від початку підтримки. Окремо за це варто подякувати команді УББ, яка дійсно добре знає свій проект і його потреби. Завдяки тому, що ми практично переписали критично важливий функціонал прийому платежів, навіть із збереженням старої архітектури проект перестав падати від навантажень. Якщо раніше кожен сюжет на ТВ викликав колосальні складності у всієї команди, то після стабілізації цей процес став більше схожий на "Ну що, все нормально?" "Є деякі проблеми, але в цілому - так".

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

Розділ спецпроектів

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

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

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