29 декабря 2017 г.

Проектная документация в ИТ

vlsdtv | 16:20 | Прокоментируй первым!
Проектная документация в ИТ важна, а еще важнее относится к ней не как к ненужной обузе, а как к незаменимой помощнице проектной деятельности.
С самого начала работы в проекте, а еще лучше с самого начала разработки продукта нужно определится с тем что такое проектная документация, зачем она нужна, из чего она состоит и как грамотно воплотить ее в жизнь.
Что ж, на этот счет бытует много мнений, у каждой компании подход по-своему уникален, у каждого сотрудника также, но я в этой статье попытаюсь не просто выразить свое, а сложить у читателя общее объективное понимание темы.
Итак, что такое и зачем нужна проектная документация в ИТ? По-сути это набор документов, необходимых для того чтобы проект был выполнен качественно и в срок, а значит не вызывал перерасходов у Клиента и снижения маржинальности у Интегратора.
Любой приличный Клиент будет требовать качественную документацию по проекту, ведь это одна из причин выполнения работ Интегратором, а не штатными сотрудниками или группой студентов от ИТ.
Для Интегратора проектная документация необходима для грамотного планирования ресурсов, ценообразования и качественного выполнения работ.
Заметьте, я не разделяю проектную и рабочую документацию, практика говорит что такое разделение во-первых искусственное, а во-вторых может нанести вред конечному качеству, что недопустимо.
Договор я не выношу отдельным пунктом, т.к. он является последствием и определить время его появления и закрепления затруднительно – уж больно индивидуально это происходит.
Ну а теперь самое интересное, что же входит в типовой набор? Я предлагаю остановится на таких документах:
1. Техническое задание. Документ, в котором Клиент описывает что он хочет увидеть в результате. На практике, Интегратор может и должен принимать участие в разработке ТЗ и помогать Клиенту разобраться в тонкостях продукта, ведь совсем не просто описать то, что еще не используется. Таким образом, работа и согласование ТЗ могут растянуться, но это не страшно, если с Клиентом ведется диалог
2. План и результаты аудита. Это вообщем-то два перекликающихся документа, но в Плане не всегда возможно учесть все тонкости, толковые инженеры привлеченные к аудиту всегда найдут что добавить. Несмотря на то что Результат аудита это документ ”для Интегратора”, я за то чтобы согласовывать его с Клиентом. Больше общения – лучше, и Клиент на первом этапе уже сможет понять что отношение к нему профессиональное. Иногда это называют Site Survey, это не ошибка, но специфика может отличатся.
3. High-Level DesignЯ уже рассказывал о этом документе, добавлю лишь тот факт что HLD не всегда инструмент проекта, он может быть и инструментом продажи, т.е. появляться до проекта как такового.
4. Спецификации компонентов. Это понимается как КП, и совершенно верно, НО не лишним будет приложить datasheets к КП, если у Клиента возникнут вопросы, он может быстро найти на них ответы, что правильно.
5. Low-Level Design. Этот документ почему-то вызывает много споров относительно своего содержания, многие говорят о том что конфиги нужно описывать в NIP (Network Implementation Plan), я скажу так – зависит от проекта. Приводя в пример решения Microsoft, я за то чтобы LLD был исчерпывающим и самодостаточным. Этот документ составляют инженеры опираясь на ранее согласованный HLD и используя тестовую среду приближенную по характеристикам к Спецификации компонентов. Получив такой документ Клиент всегда сможет вернутся к изначальной конфигурации, а на самом деле даже выполнить работы самостоятельно, что иногда плохо, но иногда хорошо.
6. План выполнения работ. Не совсем документ, но важный этап. Составляет его обычно Project Manager, но по факту важный момент учесть мнение инженеров, т.к. это поможет избежать многих проектных рисков (о которых я обязательно расскажу в одной из ближайших статей).
7. План тестирования. В этом документе важнее всего соблюсти полное соответствие ТЗ. Результатом выполнения плана тестирования должен стать подписанный Клиентом и Интегратором документ (Протокол), в котором подтверждается соответствие результатов тестирования Техническому Заданию. Вы можете встретить название именование этого этапа как NRFU, но это уже специфика, а я говорю о более глобальных вещах в этой статье.
8. Эксплуатационная документация. Я за то чтобы делать один документ по эксплуатации продукта, где нужно описать согласованные сценарии эксплуатации. Этот документ будет крайне полезен если вы оказываете пост-стартовую поддержку проекта, а для сотрудников Клиента с-ма нова и работа с ней вызывает много однотипных вопросов.
В зависимости от продукта, эксплуатационная документация может быть ориентирована как на ИТ специалистов, так и на конечного пользователя. Впрочем, подход к составлению от этого не меняется – информация должна быть однозначной, понятной и применимой.
Вообще эксплуатационной документацией часто жертвуют – Клиент не всегда готов за нее заплатить, а Интегратор не всегда готов настоять и показать ее полезность. Выход из этой ситуации достаточно прост – если вы выполните проект за проектом, то единожды разработанная эксплуатационная документация будет с минимальными изменениями входить в каждый проект.
9. Disaster Recovery Plan (DRP) стоит выделить в отдельный документ т.к. тогда когда он будет нужен, не стоит тратить время на поиск соответствующего раздела в эксплуатационной документации. Ну а для Клиента это еще одно подтверждение правильности выбора подхода работы с интегратором.
10. Последний, но на самом деле не последний этап проекта, а просто то, о чем я хочу сказать в конце, дав пищу уму – это конфигурирование смежных систем.
ИТ должно быть единым, живым организмом, и интеграция должна быть учтена с самого начала и до конца проекта. Конкретные вещи по интеграции зависят от конкретной ситуации, и выделить эту тему в отдельный документ не получится в большинстве случаев.
Учитывайте интеграцию проекта с существующими системами везде где только это возможно – этим вы снизите риски и повысите конечную удовлетворенность Клиента.
Конечно в формате блога сложно покрыть весь объем, но мой основной посыл дать основу для дальнейшего роста, надеюсь эта информация будет полезна.
Читать далее ...

21 июня 2017 г.

Очередное обновление MS Office парализует работу с вложениями в Outlook

vlsdtv | 12:04 | Прокоментируй первым!
Поступил запрос одного из моих филиалов - виснет почта при открытии вложений в outlook.
Задав наводящие вопросы и получив скриншот  - сразу же обратил внимание - после имени файла стоит точка и далее - расширение файла, т.е. ..xls (точка, точка xls).
Мозги ничего умного не подсказали, поэтому отправился искать причину такого поведения на сайт Microsoft и в интернет, который мне и подсказал, что всему виной - очередная порция обновлений MS Office, в частности - KB3191898, KB3203467, KB3191938, KB3191932. (описание, что они закрывают можно найти на сайте Microsoft).
Данные обновления относятся ко всем версиям  Outlook - 2007, 2010, 2013 и 2016.

Варианты решения:
1. Переименовать файлы, что бы имена были с одной точкой, т.е. .xls (точка xls).
2. Не ставить вышеуказанные KB ни вручную, ни через WSUS. Необходимо протестировать данные обновления в тестовой среде и потом уже разворачивать через WSUS (если конечно есть, где тестировать). Бездумно ставить все обновления ни к чему хорошему никогда не приводили :)
3. Если они уже стоят - удалять только вручную.

Информацию "надыбал" тут и тут (возможно есть еще где-то).

P.$. Как-то плоховато работают программеры из Microsoft - то обновления кривые выпустят, то скайп сломают (который до сих пор не пришел еще в "чувство".
Читать далее ...

16 мая 2017 г.

Память в VMware vSphere

vlsdtv | 17:02 | Прокоментируй первым!
Попросили меня рассказать, как использует память виртуальные машины, какая и что из них означает.
Ведь если кто не сведущ в VMware vSphere или по английски - достаточно тяжело разобраться в этом хитросплетении терминов.
Если зайти VMware vSphere Client и открыть вкладку Summary для виртуальной машины, то можно увидеть что-то типа такого:

Читаем и понимаем:
Memory - это то количество оперативной памяти, которое я выделил виртуальной машине при создании. За это количество гостевая ОС никогда не выйдет при ее использовании. Это же количество памяти можно увидеть в гостевой ОС.
Memory Overhead - это количество памяти, которое может потребоваться гипервизору на поддержание работы виртуальной машины сверх используемой памяти (т.е. расчетные накладные расходы на виртуализацию, но не текущие).
Вроде как бы понятно
Смотрим на панель Resources, пытаемся расшифровать:

Consumed Host Memory - это количество физической памяти хоста ESXI, выделенной виртуальной машине. Обычно это значение не больше значения Memory на предыдущей картинке. Но может быть и больше, поскольку Consumed Host Memory включает в себя и Memory Overhead, но не с картинки выше, а реально используемый гипервизором Overhead (о котором будет идти речь ниже). И важный момент - счетчик Consumed для Memory на вкладке "Performance" не включает в себя Overhead.
Active Guest Memory - это количество памяти, которое по мнению гипервизора VMkernel активно используется гостевой операционной системой. Вычисляется этот параметр на базе статистических показателей. То есть, если ОС не очень активно использует память, то можно ей ее немного подрезать в условиях нехватки ресурсов.
Теперь идем на вкладку "Resource Allocation" vmware vsphere hypervisor. Здесь все немного сложнее:

Появляются вот такие показатели:
Для Host Memory (видим, что это 2187 МБ = сконфигурированная память 2048 МБ + Overhead):
Consumed - это, опять-таки, объем потребляемой виртуальной машиной физической памяти хоста ESXI (постоянно меняется). И он включает в себя накладные расходы гипервизора по памяти.
Оverhead Consumption - это текущий объем затрат памяти на поддержание виртуальной машины (здесь 42 МБ в отличие от расчетного в 110 МБ)

формула такова: Consumed = Private + Overhead Comsumption

Для Guest Memory (2048 МБ сконфигурировано в настройках):
Private - это объем памяти физически хранимый хостом для виртуальной машины (см. формулу выше).
Shared - это объем памяти, который отдается другим виртуальным машинам от разницы между сконфигурированным объемом (Configured Memory) и потребляемым (Consumed). Суть в том, что ОС Windows при загрузке очищает всю память виртуальной машины, но потом эти пустые страницы приложениями не используются. Поэтому гипервизор отдает их другим ВМ, пока ВМ, владеющая памятью не потребует их. Эти страницы и есть Shared. Как мы видим, Private + Shared = Guest Memory.
Swapped - это объем памяти, ушедший в файл подкачки vswp. То есть это не файл подкачки Windows, а файл подкачки в папке с виртуальной машиной. Само собой этот показатель должен быть нулевым или совсем небольшим, поскольку своппинг, который делает ESX (а точнее VMkernel) - это плохо, т.к. он не знает (в отличие от Windows), какие страницы нужно складывать в своп, поэтому кладет все подряд.
Compressed - это объем памяти, который получен после сжатия страниц с помощью механизма Memory Compression (то есть, хранимый в VM Compression Cache).
Ballooned - это объем памяти, который забрал balloon-драйвер (vmmemctl), чтобы отдать ее другим нуждающимся виртуальным машинам.
Unaccessed - это память, к которой гостевая ОС ни разу не обращалась (у Windows - это близко к нулю, так как она обнуляет память при загрузке, у Linux должно быть как-то иначе).
Active - опять-таки, активно используемая память на основе статистики гипервизора.

На хорошем и производительном хосте  метрики Compressed, Ballooned, Unaccessed - должны быть около нуля, так как это означает что машины не борются за ресурсы (то есть не сжимают страницы и не перераспределяют память между собой). Ну и, конечно, если показатель Active маленький, стоит задуматься об урезании памяти (но сначала посмотрите в гостевую ОС, она лучше знает, чем гипервизор, все-таки).
Ну и последняя секция Resource Settings:
Reservation, Limit, Shares, Configured
Worst Case Allocation- это сколько будет выделено виртуальной машине при самом плохом раскладе (максимальное использование ресурсов), то есть вся память будет использоваться, да еще и накладные расходы будут (т.е., Configured + максимальный Overhead).
Overhead Reservation - это сколько зарезервировано памяти под Overhead гипервизором.

ТаблицаVMware ESXI Overhead
Такая вот наглядная табличка


Читать далее ...

На злобу дня: Wana decrypt0r 2.0

vlsdtv | 09:42 | | Прокоментируй первым!
Отмечусь и я (модно наверное)

Почему ~ 80% наших компьютеров не могут быть заражены этим шифровальшиком?
         Да потому что на наших дешевых китайских роутерах а-ля tp-link/d-link/zyxel и т.д. и т.п., которые мы покупаем, которые изначально уже настроены в NAT, это практически невозможно.
Роутер даже не догадывается о том, что можно форвардить 445 и прочие порты самостоятельно. Что бы что-то выставить наружу в оборудовании - нужно проделать ряд дополнительных мероприятий, т.е. поработать ручками.
Очень умиляют фотки в интернете, где стоят в одной куче масса компьютеров и у всех на экране - "платите бабки".
Эти компы имеют прямой выход в интернет? Или тот же банковский терминал имеет расшаренные наружу порты? Или все сервера к примеру в МВД соединены с интернетом напрямую?
Глубоко сомневаюсь. 
Верите?
Я - с трудом. Человеческого фактора никто не отменяет, не думаю что сисадмины на местах такое вытворяют.

Ужас :)

В выходные долго пытался скачать с центра обновления мелкософта обновления - все падал сайт (видимо желающий был не я один), поэтому оставлю тут ссылки. Для себя (мне еще пригодятся):

Шифровальшик распространяется через 445 порт (его использует samba, служба доступа к файлам, etc.), эксплуатирует уязвимость в SMBv1 протоколе (эту устаревшую версию можно отключить отдельно: тут написано как).
Вкратце так:
dism /online /norestart /disable-feature /featurename:SMB1Protocol

Установить патчи при этом все равно рекомендуется

На мой взгляд есть несколько способов побороть данную напасть:
1. Поставить патчи безопасности - у кого не установлены.
2. Наипростейший вариант - это отключить работу программ или служб, которые используют порты. В первую очередь это порты 135-139, 445, Это можно сделать вручную. Можно использовать такую программулину

3. Можно использовать командную строку - netsh
написать простейший bat-ник со следующим содержимым и запустить его:
netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=135 name="Block_TCP-135"
netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=137 name="Block_TCP-137"
netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=138 name="Block_TCP-138"
netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=139 name="Block_TCP-139"
netsh advfirewall firewall add rule dir=in action=block protocol=tcp localport=5000 name="Block_TCP-5000"
Бездумно все порты не надо закрывать!
4. Кто использует в сети антивирус Касперского для бизнеса - может воспользоваться следующей рекомендацией.
5. Бэкапов еще никто не отменял

P.$. Здесь описано мое мнение. Оно может расходится с мнением окружающих.
Читать далее ...

Search