Доклад (5)
Go, микросервисы и DevPlatform: как мы перестроили ВКонтакте
ВКонтакте — крупнейшая соцплатформа страны с аудиторией более 90 млн пользователей и инфраструктурой, с историей уходящей в 2006 год. За это время внутренняя архитектура постепенно складывалась в крупную взаимосвязанную систему, усложняющую разработку, масштабирование и внедрение новых функций.
В этом докладе я расскажу, как мы во ВКонтакте системно подошли к декомпозиции, почему мы выбрали Go для трансформации и как с помощью единой платформы разработки DevPlatform облегчаем переход на микросервисную архитектуру.
Вы узнаете:
1. Почему ВКонтакте требовалась трансформация
2. Почему мы выбрали Go для реструктуризации платформы
3. Как с помощью единой платформы разработки DevPlatform убираем боль операционной сложности микросервисов на Go
Доклад основан на реальном опыте крупного высоконагруженного сервиса России и будет полезен всем, кто работает с legacy-системами и планирует архитектурную трансформацию.
Доклад принят в программу конференции
DO_NOT_USE_OR_YOU_WILL_BE_FIRED - как большие компании выходят в Open Source
Выход внутреннего проекта в open source — это не просто 'git push'. Это согласования с юристами, вычищение секретов из истории коммитов (23 миллиона утечек в 2024 году — только на GitHub), и осознание того, что ваш код может оказаться под пристальным вниманием людей, которым вы вроде бы и ничего не должны.
Расскажу практический опыт подготовки Go-библиотек к публикации: чем полезны vanity imports, почему 'internal/' в Go работает лучше чем '__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' в JavaScript. И отдельно — про лицензии и IP-права, чтобы не повторить сценарий Nginx vs Rambler.
Доклад принят в программу конференции
Построим облако с нуля
Как собрать свое облако, способное масштабироваться под любые нагрузки? Погрузимся в связку KVM, Qemu и Go для управления виртуализацией, развернем отказоустойчивое хранилище на Ceph и научимся управлять ресурсами через механизм реконсиляции. Узнайте, какие инструменты и подходы превратят ваш сервер в мощное облако — без магии, только код и железо.
Доклад принят в программу конференции
Компиляция Go в динамическую либу или как мы ускорили выкатку фичи в 2 раза, но нам не понравилось
Небольшой сказ с примерами о том какие плюсы и минусы мы с командой обнаружили в процессе использования либ, написанных на Go и почему решили более к этому не возвращаться
Доклад принят в программу конференции
GO NATS Together - Проверили как это работает
Требования к надежности, безопасности растут, а хочется простое, гибкое и производительное решение для брокера сообщений? Возможно, стоит присмотреться к NATS.
Neural Autonomic Transport System - это высокопроизводительная система обмена сообщениями с открытым исходным кодом, написанная на Go. В процессе доклада рассмотрим его внешнее и внутреннее устройство, сосредоточившись на сути мехнизмов и сущностей. На десерт поделимся секретами правильной настройки прав и нашим опытом по решению проблем репликации очередей для интенсивного потока сообщений. Уверены, что после нашего доклада вы точно скажете "Вау, это реально работает".
Доклад принят в программу конференции
Мастер-класс (2)
Воркшоп «Сломай, чтобы починить: Secure Development Lifecycle (SDL) для Go»
Go даёт вам безопасность памяти, детектор гонок и одну из лучших в индустрии защиту цепочек поставок. Но модуль с опечаткой (тайпсквоттер) прожил в Go Module Mirror три года. Один запуск goimports подменил crypto/rand на math/rand в rclone - и каждый пароль стал предсказуемым. Компилятор не жаловался.
На этом воркшопе вам предстоит сломать Go-микросервис без единой практики безопасности - раунд за раундом, слой SDL за слоем. Инъекции, гонки, отравленные зависимости, утечка секретов в образе. Каждую уязвимость вы сначала эксплуатируете, потом чините. К концу - у вас понимание, как встроить SDL в CI/CD-пайплайы и тестовая уязвимая кодовая база для обучения команды. Опыт в безопасности не нужен. Нужен ноутбук с Go 1.22+, Docker и готовность увидеть, что же компилятор не проверяет.
Доклад принят в программу конференции
Мастер-класс «Создаем маркетплейс на Go с помощью AI»
Мы покажем, как с использованием нашей библиотеки правил для AI-ассистентов разработки написать полноценный маркетплейс на Go: от витрины и чекаута до процессинга заказов.
Доклад принят в программу конференции
Инструменты и фреймворки (2)
(En) Lightning Talks «Flight Recorder: Go's Black Box for Production»
Debugging production latency is frustrating because you need to start tracing "before" the problem happens. You can't predict when a request will take 5 seconds instead of 50 milliseconds. By the time you notice, the interesting execution is gone.
Доклад принят в программу конференции
(En) MoniGo: Real-Time Performance Monitoring and Observability for Go Applications
As Go applications grow in complexity, understanding their runtime behavior becomes essential. In this talk, we’ll explore MoniGo: an open-source real-time performance monitoring library for Go that provides instant insights into CPU usage, memory allocation, and function-level metrics.
We’ll walk through how MoniGo captures live service-level and function-level metrics, integrates with UI dashboards, and helps developers identify performance bottlenecks without heavy dependencies.
Attendees will learn:
- How to instrument Go applications with minimal code.
- Techniques to visualize and interpret system and service-level performance data.
- How MoniGo was designed, optimized, and open-sourced for the community.
Whether you're just starting with Go or looking to add observability to your stack, this session will help you understand how to measure what matters - with simplicity, clarity, and open-source spirit.
https://github.com/iyashjayesh/monigo
Доклад принят в программу конференции
Язык и стандартная библиотека (2)
Охота на утечки горутин: новый профиль в Go
Утечки горутин — скрытая и опасная проблема в Go-приложениях. Лёгкие и «дешёвые» горутины могут превращаться в долговечно работающие зомби, постепенно увеличивая потребление памяти и нагрузку на CPU. Реальные кейсы, такие как инцидент в Uber (×9 рост памяти и +16% CPU), показывают, насколько дорого обходятся такие ошибки в продакшене.
В докладе мы разберём:
* какие паттерны в Go чаще всего приводят к утечкам горутин;
* реальные случаи из продакшн кода и даже самого компилятора Go;
* как диагностировать проблему с помощью существующих инструментов — например, uber-go/goleak;
* новый Goroutine Leak Profile, уже добавленный в master-ветку Go и ожидаемый в Go 1.26;
* какие утечки новый профиль не может найти;
* практические рекомендации, которые помогут вам защитить свои сервисы от скрытых утечек.
Доклад будет полезен всем, кто разрабатывает Go-сервисы, особенно в высоконагруженных системах.
Доклад принят в программу конференции
Внутреннее устройство профилировщика Go
В докладе рассказывается про внутреннее устройство профиля исполнения языка Go. Что он содержит, как собирается, чем отличается от аналогов, как его может исползовать компилятор.
Доклад принят в программу конференции
Расширяем горизонты (1)
(En) Stocking Your Career Basket with Go: A Strategic Guide to Open Source Opportunities
Open source can be more than a side project, it can be a career accelerator. In this talk, we’ll look at how Go developers can treat open source like a supermarket for professional growth: choosing the right “aisles” (projects), picking the “products” (skills and contributions) that matter most, and leaving with a basket full of opportunities. You’ll walk away with practical strategies for making open source work for your career, not just your GitHub profile.
Доклад принят в программу конференции
AI для гоферов (1)
Конструктор AI агентов на GO
Перед нами стояла задача разработать экосистему AI-агентов: от ассистента продукт-менеджера, помогающего формировать бэклог, до помощника по найму курьеров.
В докладе я разберу ключевые компоненты архитектуры и расскажу о внутренних библиотеках, которые мы создали для решения этой задачи. Мы обсудим возникшие трудности и способы их преодоления.
И главное — всё это реализовано на Go
Доклад принят в программу конференции
Системное программирование (1)
(En) Lightning Talks «Why Go Hides Its Spinlocks»
A spinlock is the difference between pacing by the door versus taking a nap while waiting for a package. One burns CPU cycles. The other yields to the scheduler. Both have their place, but Go deliberately hides spinlocks from you.
This talk explains the core trade-off between spinning and parking, reveals the hidden spin within a Mutex, and explores why Go's runtime uses a "spinbit" design that allows only one goroutine to spin at a time.
You'll learn when spinning wins, when it's catastrophic, and why adaptive hybrid locks beat both pure approaches.
Доклад принят в программу конференции