інструменти

Технології та речі якими я користуюсь.

fly.io vs Heroku: developer experience

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

Два місяці з fly.io

Два місяці тому я перевіз всі свої проекти на платформу fly.io. Ділюся з вами досвідом використання. ЦінаОтож, найприємніше що я отримав, це швидші ресурси за нижчу ціну. За вересень я заплатив $17.09, за жовтень $17.02. Всього в мене крутиться 5 проектів, спільний для всіх редіс та спільний для всіх постгрес. За той самий сетап на хероку я платив би десь 80$. МережаВ мене...

Мережа у fly.io

Всі ваші сервери знаходяться всередині приватної IPv6 мережі. Всі регіони зв'язані у одну мережу, а гнучкий DNS дозволяє вам резолвити імена типу top<number>.nearest.of.<appname>.internal, який автоматично підбере вам найближчий інстанс. Втім мені воно не потрібно, в мене всі апки живуть у Франкфурті. Крім того доступно ще багато регіонів, навідміну від Heroku, у якого їх всього два. За необхідності,...

Friendship ended with Heroku, now fly.io is my best friend.

Коли я починаю проект то завжди намагаюсь застосувати нову технологію. Для @Donate1024Bot я обрав дві таких: хостинг на fly.io та верстку з Tailwind CSS. І якщо остання завдала клопоту, то перша виправдала себе на 100%. Про це і розповім. Вперше я натрапив на fly.io на HackerNews, де обговорювався їх блог-пост A Foolish Consistency: Consul at Fly.io. Я тоді прочитав цей матеріал і подумав...

Чи добре бути поліглотом?

Серед "справжніх" інженерів популярна думка що програміст має вирішувати задачі, а вже яким чином—то справа десята. Наприклад в FAANG на співбесіді ти можеш писати код на будь-якій тобі зручній мові, а на проекті працювати з тим що вже там є, і це не обов'язково буде улюблений Python, на якому ти вирішувала літкод задачі. Мовна спеціалізація нехарактерна для великих західних контор. Це у нас вакансія на...

Біґдата у терміналі

Ще з самого початку існування нашої пиріжок спільноти, мені було цікаво зробити статистику повідомлень. Типу хто скільки за який період написав. Функція не несе ніякого змісту, але ж цікаво дізнатися, хто найбільше зависає? Коли робив бота для встановлення кастомних статусів, то вирішив заодно додати туди простеньку статистику. Після підключення у чат один з учасників поцікавився, з якого періоду вона рахується? Чи можна отримати результати за весь...

Личные облака: Nomad

Чтобы разгрузиться от тревожных новостей, на прошлых и этих выходных я плотно засел за реализацию личного облака для проектов. Суть такова: я хочу удобный и понятный способ деплоить приложения, не теряя простоты Heroku но получив расширенную гибкость, лучше производительность и снизив расходы. На практике это означает что мне нужна инфраструктура с менеджед базой данных, https, масштабированием, приватным докер реестром и не за дорого. Сейчас все мои...

Личные облака

Уже много лет меня беспокоит проблема понятной и удобной инфраструктуры. В каждом проекте, где я работал, так или иначе приходилось решать эту задачу, каждый раз по-разному и каждый раз недостаточно хорошо. Что я понимаю под личным облаком и удобной инфраструктурой? приватная сеть с балансировщиком, VPNом внутрь, фаерволамилегко масштабируемые вычислительные ресурсыmanaged базы данных с автобекапами, автообновлениями, горизонтальной и вертикальной масштабируемостьюмониторинг и алёртыобъектное хранилище и CDN, очередиединый, простой...

Докер для разработки

Непопулярное мнение—не использую докер в разработке. Исключения—когда нужно сделать хитрый образ и протестировать сборку локально намного быстрее чем мучать заведомо медленный CI/CD. А так то случаи когда мне пригождался докер, можно пересчитать по пальцам руки. Пару раз делал фичу которая требовала поднять кухню из прометеуса-графаны и на этом всё. Девелоперские окружения, например python, java, node или руби ставлю локально с помощью pyenv, rvm,...

Линукс на лептопе. Чем я заменил макбук

Больше двух лет прошло с тех пор, как я переехал на линукс. Для тех кто пропустил, начало: «Как я съезжал с macOS после 5 лет работы за макбуком» и промежуточная ретроспектива: «Линукс на десктопе год спустя». До конца этого лета в качестве мобильного средства разработки я пользовался MacBook Pro 2015. На моих задачах он уже давно тормозил и совершенно меня не устраивал, поэтому я ограничивался там...

Экономия на спичках: считаем стоимость хостинга пет-проектов на kubernetes

Я люблю простые и понятные решения. Для хостинга всех своих проектов я использую Heroku. Он достаточно дешев, лёгок в настройке и подымается буквально за минуту. Советую всем. Сейчас у меня там крутится несколько проектов, два из которых работают постоянно — это adopt.com.ua где вы можете найти себе котика или пёсика, и blogigram с помощью которого был опубликован этот пост. Эти проекты кушают 46$ в месяц,...

Неосиляторы

Каждый ІТ-специалист в повседневной работе использует множество сложнейших инструментов. Эффективность работы часто зависит от умения пользоваться этими инструментами. Всё начинается еще с редактирования текста—в любой IDE есть много горячих клавиш, функций, кнопочек которые призваны упрощать жизнь. Каждый язык, фреймворк и технология тоже содержит кучу вещей, которые помогают в работе и повышают эффективность решения, но в замен требуют инвестиций—обучения, чтения документации, экспериментирования с параметрами и...

Боже, джаву храни!

Не так давно я писал об нарушении обратной совместимости как главном грехе разработчика. У меня есть несколько Ruby приложений которые уже давно живут в продакшене. Версия ruby, которую я использовал, 2.5, перестала поддерживаться, и всех попросили переехать на 2.7. Однако сделать это было не так просто. Бампнув версию и попытавшись запустить я получил кучу ошибок. Я отложил это дело до лучших дней и недавно...

Как оверсинкинг и перфекционизм мешают мне заканчивать проекты

Перфекционизм—ближайший друг прокрастинации. Я часто страдаю желанием сделать все "как надо", но неожиданные препяствия, возникающие на этапе делания как надо а не как попало часто тормозят работу, убивают мотивацию и приводят к затягиванию сроков и перерасходу бюджета. Рассмотрим мой недавний микропроект с ClickHouse. Задача была довольно простая—взять данные из одного места и положить в другое. Всё. Что может быть проще? После завершения PoC клиент...

ClickHouse. Нюансы

Вообще это очень трендовая база. На хайлоад++ и других конференциях вы можете посмотреть множество докладов посвященных ClickHouse. На хабре куча статей. Материалов очень много. Вся эта движуха прошла мимо меня потому что я предпочитаю использовать проверенные инструменты до последнего. Ну и хайлоад++ не посещаю. После PoC я прикинул, что нужно сделать для синхронизации основного хранилища в ClickHouse, и приступил к доработке продакшн-решения. Неожиданность подстерегала меня в...

Когда олимпиадники могут. ClickHouse

На одном из самых старых проектов которые я разрабатываю начала тупить отчетность. Как только я поставил клиенту BI (напоминаю, это было самое быстрое и самое эффективное решение задачи которое я когда-либо делал), то аналитики сразу начали городить кучу дашбордов и отчетов. В основном все работало бодро, но некоторые запросы изрядно тупили. Проблему довольно долго удавалось игнорировать, но в какой-то момент данных стало уж слишком много чтобы...