Highload fwdays'19 у Києві

Highload fwdays'19 у Києві
DataArt виступив спонсором Highload fwdays'19, конференції з високонавантажених систем, яка втретє пройшла у Києві.

З доповідями виступили експерти Google, StackOverflow, Amazon, Netflix. Обговорювали практичні питання розробки високонавантажених проектів, архітектури, масштабування, роботу з базами даних, DevOps та інше.

Андрій Бєлік (Project Manager, DataArt) розповів про доповіді, які запам'яталися найбільше.

“Більш за все мене надихнув Дмитро Волошин (Co-founder&CTO, Preply.com) з доповіддю “100 релізів на день”.

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

Що важливо:

  • Мати можливість швидко ввімкнути/вимкнути фичу. Навіть якщо щось пішло не так, завжди можна відключити фичу та піти розбиратися з нею на dev environment.
  • Код рев'ю, і без нього ніяк.
  • Тести, чеки, версійність — без них теж буде погано.
  • Культура роботи та деплою в команді (як ключова частина процесу).

Оточення і як це працює наразі:

  • Cloud environment for testing.

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

У практиці команда доставляла замовнику до 60–70 фіч на день. Це не 100, як у назві, але з такими темпами й амбіціями скоро це буде реально. Багатьом командам варто такому повчитися.

Підсумовуючи, добре поставлений процес і злагоджена робота команди є ключовими факторами успіху.

Julien Simon з Amazon Web Services у доповіді "Scaling ML from 0 to millions of users" розповів і показав, як можна застосувати готовий Machine Learning для гнучкості та, водночас, економії.

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

На панельну дискусію "Tech / Team Leads" щодо нюансів роботи в різних проектах зібралися CTO компаній: Ілля Селезньов (Team Lead, Playtika), Кирило Латиш (CTO, Сools Inc), Дмитро Волошин (Co-founder & CTO, Preply.com), Олександр Марченко (СТО, rabota.ua).

Ключові тези:

  • Робота команди так чи інакше вимірюється грошима.
  • Важливо проводити 1-2-1 з командою — працюйте над фідбеком і мотивацією.
  • Обов'язково виділяти достатньо часу на якісний добір.
  • Новий учасник команди повинен бути корисним команді (володіти принаймні одним скілом краще за інших).

Останньою в програмі була доповідь "The role of catastrophic failure in software design" від Jeff Atwood (засновника Stack Overflow) і Michael Krakovskiy (CTO, Modern Guild).

 

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

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

Тези від доповідачів:

  • Не треба боятися припускатися помилок.
  • Потрібно вчитися на чужих помилках.
  • Робіть ретроспективи, логування, постмортем.
  • Не обов’язково знати всі відповіді, важливіше ставити/мати запитання.

Доповідачі навели серіал “Чорнобиль” від HBO як один з кращих прикладів аналізу за останні роки. У серіалі показано, як один з персонажів весь час збирає дані, при цьому ретельно записує всі деталі у зошит. Наприкінці фільму глядачі бачать похвилинну деталізацію трагедії та корінь причини, завдяки безлічі детальних фактів.

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

Відео всіх доповідей.