Прагматичная архитектура: как проектировать Go-приложение, руководствуясь чисто практическими соображениями

Резерв

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Должна ли архитектура быть красивой? А бизнес-логика? Даниил расскажет, почему правильная архитектура должна быть простой (go way же), как прагматично строить свои сервисы, и почему книги об архитектуре не о воздушных замках, а об удобной организации привычных сервисов.

Целевая аудитория

Разработчики на Go, которые не понимают, почему вокруг архитектурных вопросов столько хайпа.

Тезисы

Бытует мнение, что архитектура ПО — это сложно. Архитектурой занимаются очень умные люди в костюмах и с белой доской под мышкой, цитирующие наизусть Дядю Боба и пространно рассуждающие, «какой именно архитектурный шаблон из дюжины самых расхожих наилучшим образом применим в данной задаче».

Есть и другое мнение: архитектура ПО — это то, чем развлекают себя неспособные к написанию настоящего кода болтуны, ведь «реальная программа не имеет к архитектуре никакого отношения».

Печальная правда в том, что ошибаются и те, и другие: архитектура — это сложно только в том смысле, что требует иного взгляда на задачу, нежели принято у «кодеров», и не нужно только в том смысле, что разработка «от шаблона» обречена на провал.

Что мы сделаем: возьмем реальную задачу и разработаем для неё архитектуру, попутно объясняя, откуда возникают те или иные требования и как формируются те или иные решения. Какую пользу принесут нам эти решения сейчас и в перспективе и какими проблемами чреваты.

В результате должен получится некий алгоритм разработки архитектуры. Да, именно алгоритм, ведь архитектура стандартного приложения не предполагает большой вариативности.

30+ лет профессионального стажа. Полжизни в эксплуатации. Последние 9 лет пишет на Go.

YADRO

YADRO создает все, без чего невозможно представить современную связь и интернет: системы хранения данных, серверы, коммутаторы, базовые станции 2G/4G и сети операторской связи — от прототипов и «железной» реализации до ПО. Если вы пишете софт в большой российской IТ-компании или банке, с высокой вероятностью ваши сервисы крутятся, а данные ваших клиентов хранятся на их оборудовании. Пожалуй, одни из самых интересных исследовательских задач для C++-, Go-разработчиков и инженеров по тестированию вы встретите у них.

Видео