fly.io vs Heroku: developer experience

Головна особливість Heroku завжди полягала в дуже потужній абстракції інфраструктури. Програмістам не потрібно було думати ні про сервера та їх налаштування, ні про бази даних, ні про сторедж, ні про мережу. Heroku все робить сам коли ти пушиш в нього проект. git push heroku master і все.

Хочеш постгрес? Один клік в UI. Хочеш redis? Так само один клік. Прив'язати домен, один клік. Все дуже просто і цього вистачає щоб запускати маленькі проекти та не думати про інфраструктуру.

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

З постгресом взагалі біда, його не можна наклікопсити, а по-дефолту fly пропонує тобі досить потужний та дорогий інстанс.

Нещодавно до мене звернувся один із давніх підписників—розробник проекта @frontendly_feed, та попросив допомогти знизити вартість, в нього проста конфігурація виходила дуже дорогою. Ми подивилися і з'ясували що проблема була якраз в постгресі, який мало того що був на 4Гб, так до нього ще на додачу йшов волюм на 200Гб. В сумі до все виходило досить дорого.

Але просто так не можна змінити розмір волюму. Потрібно акуратно перенести дані, розбиратися з бекапом та рестором. Випадково у процесі ми все видалили🙈. Добре що до того був зроблений бекап і вдалося відновити.

Натомість Heroku взагалі ховає від розробників абстракцію дисків і пропонує рахувати рядки в базі. Більше рядків—більше платиш, ізі.

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

Ну і мережа, з одного боку круто що у fly все сек'юрно, та не стирчить в інтернет, а з іншого це все додає тертя у процес.

Тому на жаль наразі fly ніяк не може бути повноцінною заміною Heroku—надто все низькорівнево та складно. Того року я читав лекцію в КПІ і показував як за 5 хв підняти Python апку. З fly це було б не 5 хв, а всі 50, і то, студенти би швидш за все не розібралися, бо треба розуміти надто багато абстракцій.

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

У мене все є, залишилося зібратися з силами і нарешті зробити клон Heroku та завоювати серця і гаманці мільйонів розробників по всьому світу.


Сподобалось? Долучайтеся до мого телеграм каналу: https://t.me/full_of_hatred