Обновить
-18
0

Системный архитектор

Отправить сообщение
Этот код не из прода. Клиентская часть голосовалки как бы лезет на dev-стенд в момент голосования:

  // TODO hmmm
  server.use('/api', proxy('http://e-vote.dev.gas20.ru', {
    proxyReqPathResolver:  (req): any => {
      return '/api' + req.url;
    }
  }));


При этом gas20.ru зарегистрирован на физическое лицо. Хотя может это вы в проде гоняете голоса через домен, выданный физику?
Крупнейшие акционеры «Ростелекома» — Росимущество (38,2 % обыкновенных акций), Внешэкономбанк (3,4 % обыкновенных акций), а также ПАО «Банк ВТБ» и консорциум инвесторов (29,4 % обыкновенных акций).

Ростелеком слишком сильно аффилирован с государством Российская Федерация, устраивающим многодневные голосования на пеньках, в багажниках автомобилей и занимающимся прямым вбросом бюллетеней в объёмах сравнимых с количеством проголосовавших. Это уже не считая прямого недопуска хоть каких-то кандидатов, которые могут соревноваться с кандидатами, одобренными в Администрации Президента Российской Федерации.
Простой способ: завершить транзакцию и отправить письмо. В крайнем случае адресат не получит уведомление.

Правильный способ: завершить транзакцию, в рамках транзакции в БД создаётся событие отправки уведомления. Эти события периодически выгребаются и отправляются в очередь. Может получиться два сообщения, если крашнулось во время транзакции. Из очереди рассыльщик выгребает сообщения, формирует и отправляет письма. Письмо может уйти дважды. Письмо нужно обогащать данными пользователя и самого события. В общем сложно, дорого и опять без гарантий.

Давят сроки. Они всегда давят. На чём будет настаивать архитектор? Что выберет разработчик, его тимлид и начальник тимлида? Что получится в итоге?
Часто хранилища сущностей присутствуют и в Event Sourcing — проектах.
Часто? А какие ещё есть варианты отображать фильтрованные или просто сортированные списки сущностей с их актуальными статусами по городам/контрагентам/другим_полям?
Вы привели примеры улучшений в разы. В таблицах — порядки, по 10-20 порядков. Разы против миллиардов. Ну хорошо, найдут несколько крутых способов оптимизации — ускорят в сто-двести раз. Только нужны-то миллиарды раз.

Нужно принципиально иное решение, иной подход.
Делали как обычно — 6-9 месяцев и в продакшен лишь бы в сроки уложиться и заказчику, и подрядчику? Или есть какая-то иная причина публичного теста всего за 2 недели до единого дня голосования?
В России попросту не работает многое из того, что описал автор. Например, отсутствие нормы small talks делает неприменимыми все эти идеи очередей, единого кулера, общих мест для случайных встреч и т.д. Двое незнакомых американцев, столкнувшись у кулера, начнут общаться. Двое русских программиста, отстоявшие даже часовую очередь, так и не поговорят друг с другом.

Зато нет офиса — нет давления менеджеров, нет чайко-менеджмента и множества бесполезных совещаний. А вольница без постоянно висящего над тобою начальника — это вообще исконная русская мечта.
Сдал достаточно много разных IT-экзаменов не пользуясь дампами. Мне нравится подкреплять изученное сертификатами. Всё с первого раза. Иногда по два экзамена подряд, как в случае с TOGAF. Поэтому из своей практики считаю, что выводы автора не соответствуют тому, что есть в реальности.
Из всех фотографий только на одной есть рабочее место — с ноутом. На этом рабочем месте нельзя разместить два 24 дюймовых монитора.
Вот только последние 5% продукта до выхода на рынок делаются столько же, сколько и 95% продукта до этого. Экономист Парето тихо завидует в сторонке. И это пока он не посмотрит на то, как Google допиливает поиск последние 15 лет.
Прекрасная статья. Но есть много но. Выбор языка программирования, СУБД, брокера сообщений, необходимого железа, протокола — это императивные решения. Но они тоже, как правило, относятся к ведению архитектора и в подавляющем большинстве случаев являются частью архитектуры. Так же частью архитектуры являются решения по способу реализации наиболее критичных частей системы.

При этом декларативные SQL-запросы почти никогда не относятся к архитектуре (структура запросов, например, избежание JOIN-ов ради данных в кеше — может относиться). Схема БД иногда относится к архитектуре, а иногда нет. Например, если система разбита на мелкие микросервисы с собственными БД, то схемы этих БД зачастую не относятся к архитектуре — их можно в любой момент переписать и поэтому их структура не важное решение и точно не важнейшее.

В это прекрасной статье автор сделал классическую ошибку — вместо архитектуры (Architecture) он описал дизайн (Design) системы. Да, сейчас в индустрии разработки ПО редко отделяют дизайн (форму системы) от архитектуры (содержания системы), но высококлассный архитектор должен удерживать это различие в уме.
А с третьей стороны, самолёты стали настолько отказоустойчивы, что у нас в ряде катастроф выяснялось, что летающие по 10-15 лет пилоты банально не умеют летать без автопилота. То есть самолёты радикально надёжны в плане отказоустойчивости.

В дискуссии же напрямую отрицались очевидные и многократно проверенные факты. Например, что дублирование микросервисов/серверов увеличивает отказоустойчивость. Что добавление Kubernetes при правильной настройке и распределении сервисов по серверам и датацентрам увеличивает отказоустойчивость. Что грамотные архитектурные решения увеличивают отказоустойчивость. Это отрицается, хотя это факты из практики. И так как докладчик весьма компетентен, а многие его высказывания по теме реальной отказоустойчивости очень глубоки, то встают вопросы к его ангажированности или ловле хайпа.

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

В США другая история. Особенно в IT-компаниях. В США высшее образование при занятии большого спектра управленческих должностей желательно, но необязательно. Обязательными для занятия ряда должностей могут быть профильные сертификации. Но профильные сертификации если и содержат требования к наличию диплома бакалавра, то они не запретительные — без диплома соискателю требуется лишь на год-полтора больше опыта по профилю сертификации.
Каким наиболее простым способом можно сформировать комиссии так, чтобы в равной мере учесть интересы каждой из партий?
Прекрасная задача. Она великолепно демонстрирует отрыв математической задачи от реального мира.

В математической абстракции любой задачи теории игр есть чёткие границы — условия задачи. Они ясны, непротиворечивы и объективны.

В реальности вес конкретного города или должности в глазах разных партий будет разным. В реальности, кто получает город в 10 единиц будет получать больше, чем кто получает 10 городов по 1 единице. Или наоборот — в зависимости от страны. В реальности, ситуация не статична. В реальности параметров гораздо больше, чем в задаче, и зачастую трудно выделить те, которые можно использовать без учёта остальных толстых хвостов распределения интересов.

К чему это приводит? К тому, что политологи терпят провалы в попытках политической деятельности. К тому, что управляемая экономистами экономика быстро приходит к экономическому кризису и разрухе. К тому, что после передачи политики теоретикам государства, этих теоретиков изгоняют, как Платона из Сиракуз.
Уверены. До момента, когда не натыкаются на потенциальную замену разработчика через найм на рынке.
Мера осторожности только одна — не играть новичку против профессионалов.
Спасибо за информацию. Только ситуации в стране с госденьгами такова, что взявший деньги у государства рискует уголовным сроком. Суд не поверит ни правильно оформленным договорам на потраченные деньги, ни предъявленному оборудованию — просто проигнорирует, если кому-то потребуется ваш бизнес или ваши деньги.
Заинтересовавшийся, помни: начав играть на фондовом рынке ты играешь против профессионалов. Ты посвящаешь изучению рынка и его инструментов по несколько часов в день, а твои оппоненты на другой стороне стола — 40 часов в неделю, каждую неделю в течение многих лет до этого. Ты один, напротив тебя корпорации профессионалов с несравненной мощью по потокам проходящей через них информации. Ты точно готов играть в настолько неравных условиях?
Дело не в тяжелее, а в том, что тебя и так прёт. Ты не можешь иначе.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность