97 вещей которые должен знать solution arcitect - 2
2019-12-10 14:51:12 +0600 +0600
Упростить существенную сложность; уменьшить случайную сложность
Для многих разработчиков программного обеспечения планирование возможностей оборудования - это тема, которая выходит за рамки их зонs комфорта, но все же остается важной частью работы архитектора.
Есть ряд причины, по которым архитекторы программного обеспечения часто не в состоянии правильно выбрать аппаратное обеспечение, но чаще причина связана с непониманием и неясными требованиями.
Основная причина, по которой мы пренебрегаем аппаратными соображениями, заключается в том, что мы сосредоточены на программном обеспечении и склонны игнорировать требования к оборудованию. Кроме того, мы естественным образом изолированы от оборудования высокоуровневыми языками и программными платформами. Неясные требования также являются фактором, поскольку они могут изменяться или могут быть плохо поняты. Так же архитектура развивается, аппаратные соображения то же меняются.
Кроме того, наши клиенты не могут понимать или быть в состоянии предсказать размер их собственной пользовательской базы или динамики использования системы.
Наконец, оборудование постоянно развивается. То, что мы знали об оборудовании в прошлом, не применить сегодня.
Без аппаратной экспертизы прогнозирование аппаратных конфигураций для разрабатываемых систем невозможно. Для решение этих проблем некоторые архитекторы используют большие факторы безопасности (беут большой запрос прочности). Такой подход, как правило, не основан на объективных оценках или какой-либо методологии.
В большинстве в случаях, это приводит к чрезмерным возможностям инфраструктуры, которые не будут использоваться даже в периоды пикового спроса. В результате деньги клиентов тратятся на большее количество оборудования, чем на систему.
Лучшая защита от плохого планирования оборудования - это тесное сотрудничество с инфраструктурой. Архитекторы инфраструктуры, в отличие от архитекторов программного обеспечения, являются специалистами в области аппаратного обеспечения, планирование мощности. И они должны быть частью вашей команды. Однако не каждый архитектор программного обеспечения имеет роскошь работать с архитектором инфраструктуры. В таких случаях есть некоторые вещи архитектор программного обеспечения может сделать, чтобы уменьшить ошибки при планировании аппаратного обеспечения.
Вспоминать прошлый опыт может помочь. Вы внедрили системы в прошлом и у вас есть некоторые знания о планировании аппаратных мощностей - пусть даже не слишком актуальные из за ушедешего времени. Вы также можете обсудить эту тему со своим клиентом и убедить его выделить средства на планирование емкости оборудования.
Бюджетирование при планировании мощностей может быть намного более экономичным чем покупать больше оборудования, чем нужно. В этом случае горизонтальная масштабируемость является ключом - добавляйте аппаратное обеспечение по мере необходимости, а не с запасом в начале.
архитекторам программного обеспечения необходимо постоянно измерять емкость и изолировать компонентОВ для выполнения в предсказуемых средах.
Планирование емкости оборудования так же важно, как и архитектура программного обеспечения, и ему необходимо уделять первоочередное внимание независимо от того, есть у вас архитектор инфраструктуры или нет. Точно так же, как архитектор отвечает за установление связей между требованиями бизнеса и программным решением, он отвечает за представление связей между оборудованием и программным обеспечением.
By Neal Ford