В данном посте хотелось бы просуммировать наш опыт работы над крупными интернет-проектами и рассмотреть характер и объем работ системной и инфраструкторной поддержки проектов.
Работы можно отсортировать по «уровням» (с какой-то погрешностью). Высоким уровнем будет считаться уровень приложения и данных, низким уровнем будет аппаратная часть.
Также, можно проследить требования к «вовлеченности» в проект для различных работ. Например, для каких-то работ, например, установка оборудования в стойку, вовлеченность в проект не требуется. Достаточно обладать нужными навыками и знаниями.
Для замены сбойного диска необходимо, например, знать конфигурацию RAID-а, и хорошо бы иметь доступ к утилитам конфигурации, чтобы посмотреть, какой диск надо заменить. Т.е. уровень вовлеченности должен быть немного больше, хотя, в данном случае, документации все еще достаточно.
Для работ более высокого уровня, скажем, оптимизация БД, необходимо быть знакомым с ее архитектурой и как она (БД) используется приложением. Данные знания, скорее всего, не покроются документацией на требуемом уровне, необходимо работать над аналогичными проблемами в течении какого-то времени, чтобы представлять себе происходящее.
Таким образом, «уровень» работ сильно коррелирует с «вовлеченностью».
С другой стороны, объем работ распределен по «уровням» и «вовлеченностью» неравномерно и, по нашему опыту, иллюстрируется прилагаемой диаграммой.
Т.е. около 5-10% работ могут выполняться без специфических знаний и документации и около 10-25% работ могут быть выполнены при наличии необходимой документации. Для остального объема требуется довольно сильная вовлеченность сотрудников.