Golang meetup (Online) Evrone
ср, 08 ноябрь 2023, 19:00 (GMT+03:00) | |
Бесплатно | |
Есть трансляция | |
Evrone
|
Теги: go golang meetup online paas
Онлайн-митап от Evrone, посвещённый языку Go
Программа сформирована, но можно подать доклад на следующий митап.
Подписывайтесь на наш телеграмм канал с анонсами митапов.
Расписание
Как делать микросервисы единообразными, когда их много, а разрабы все разные?
Олег Козырев Авито
Проблема, с которой столкнулся наш отдел, заключалась в следующем. У нас было несколько десятков микросервисов, и их число продолжало расти. При этом, как это часто бывает, в Go разработку люди пришли из других языков и принесли с собой различные практики. Всё бы ничего, но когда один сервис написан так, как привыкли писать на PHP, другой вдохновлен Ruby, а третий и вовсе отдаёт плюсами, то становится жутко. С таким зоопарком подходов переключаться от сервиса к сервису очень сложно и трудозатратно, а главное, чревато большим количеством ошибок в разработке. Тут тебе и стабильность продукта страдать может и тайм ту маркет расти. Решением сперва стал шаблонный сервис, на который стали ориентироваться при создании новых сервисов и рефакторинге старых, а потом и cli-утилита, которая занималась кодогенерацией скелета проекта и основных его компонентов. Также общие элементы, как, например, клиент к бд или grpc dialer, были вынесены в отдельный репозиторий с целью переиспользования во всех сервисах. Польза такого подхода дала о себе знать. Создание новых сервисов и поддержка старых ускорились, а влияние человеческого фактора в рутинных операциях снизилось. Да и разрабы стали счастливее, потому что уже не нужно было писать однообразный код, а он сам генерился.
Paranoia driven development
Мясников Алексей Яндекс
Если что-нибудь может пойти не так, оно пойдёт не так (закон Мерфи). В докладе мы намеренно станем программистами-параноиками. Потребитель вашего кода (в первую очередь ты сам) может и будет его использовать неправильно. А значит баги закладываются еще на этапе дизайна публичного API. Контракты, заложенные в сигнатурах функций и интерфейсах, определяют сколько родится багов при использовании вашего кода. В твоей власти спроектировать контракты так, чтобы не допускать ошибок при их использовании. На нескольких примерах мы пройдем путь от ненадежных контрактов к надежным. На всех этапах дизайна кода будем исходить из того, что кодом будут пользоваться самые "одаренные" программисты.
Микросервисы в небольших командах разработки: почему вам нужен PaaS?
Алексей Коротин Sports.ru
Для кого доклад:
- небольшие команды
- для тех, кто планирует или начал переход на микросервисы
- для тех, кто уже перешёл, но страдает от высокой стоимости поддержки
Тезисы:
- Какие проблемы поможет решить PaaS? (сокращаем порог входа и человеческий фактор, увеличиваем унификацию)
- PaaS - необязательно сложно и дорого (нет небоходимости всё кастомить, можно брать готовые решения и со временем тюнить их под себя)
- С чего начать? (базовый фреймворк, конфигурация, лейаут сервиса, observability, CI и деплой, автоматизация)
- Архитектура компонентов (минимальный набор необходимых фич, как что устроено)
- Как организовать миграцию старых сервисов на новые рельсы
- С какими проблемами столкнулись лично мы (разные виды сервисов, тулинг)
- Дальнейшее развитие (разные типы сервисов, генерация чего-либо для уже готового сервиса)
Обработка ошибок в go в 2023
Виталий Попов InDrive
Доклад дает конкретный алгоритм выбора способа обработок ошибок в go для проекта. Плюс маленький обзор пакетов, существующих, для каждого из способов.