
Обирайте нудні технології: есе Дена Маккінлі про жетони інновацій
Есе Дена Маккінлі 2015 року твердить, що кожна компанія має приблизно три «жетони інновацій», які слід витрачати обережно, надаючи перевагу інструментам із добре відомими режимами відмов.
Три жетони інновацій
В есе, опублікованому 30 березня 2015 року, Ден Маккінлі пропонує просту модель бюджету: кожна компанія отримує близько трьох «жетонів інновацій», і запас надовго залишається фіксованим. Вибір Node.js коштує один жетон; MongoDB — теж, як і технологія service discovery, якій менше року. А написати власну базу даних, додає він, означає потрапити в халепу. Такі рішення можуть бути слушними для JavaScript-консалтингу чи компанії з баз даних, але більшість команд намагається переосмислити торгівлю чи платежі, і витрачати обмежену увагу на інновації в інфраструктурі — добрий спосіб зазнати невдачі або принаймні відкласти успіх. Додаткові жетони можуть з'явитися після періоду стабільності, хоча команди схильні переоцінювати вміст власного гаманця.
Нудне не означає погане
Есе обережне з самим словом: «нудне» не слід плутати з «поганим». Існують технології, які водночас і нудні, і погані — їх використовувати не варто. Але MySQL, Postgres, PHP, Python, Memcached, Squid і Cron нудні та достатньо добрі. Їхня цінність не лише в тому, що можливості добре вивчені, а й у тому, що відомі їхні режими відмов. Маккінлі відділяє відомі невідомі — «ми не знаємо, що станеться, коли ця база даних сягне 100% CPU» — від невідомих невідомих — «нам навіть не спало на думку, що запис статистики спричинить паузи GC». Обидві множини рідко порожні навіть для технологій віком у десятиліття; для нових блискучих інструментів друга категорія значно більша.
Оптимізуйте глобально
Технологічні вибори не відбуваються ізольовано, пише він; їхній масштаб охоплює всю команду та систему, що постає із суми цих виборів. Додавання технології тягне за собою «операції» та «когнітивні витрати»: хтось мусить це моніторити, тестувати, написати init-скрипт. Мислення «найкращий інструмент для завдання», на його думку, бере міопічний погляд на обидва слова — завдання в тому, щоб компанія залишалася прибутковою, а найкращий інструмент той, що займає «найменш погане» місце для якнайбільшої кількості проблем. Утримувати систему надійною в довгостроковій перспективі, пише він, коштує набагато дорожче, ніж незручності, з якими стикаєшся під час її створення.
Додавати нове — свідомо
Нова технологія все ж іноді потрапляє до набору інструментів, і Маккінлі пропонує не заборону, а розмову: додавання має наслідки для всієї компанії, тож потребує видимості на рівні всієї компанії. Перша вправа — запитати, як розв'язати нагальну проблему, нічого не додаючи; це також виявляє випадки, коли справжня «проблема» — чиєсь бажання спробувати інструмент. Міграції мають супроводжуватися чітким зобов'язанням і графіком, щоб не накопичувати локально оптимальні рішення. Etsy дає і застережний, і надихаючий приклад: ранній проміжний шар на Python, який довелося ампутувати роками, та стрічки активності, що роками працювали на PHP, MySQL, Memcached і Gearman і виросли у 20 разів, поки ніхто не дивився, — бо платформа була спільною.
SiTech — веброзробка з підтримкою AI
Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.