Как создать частное облако для видеонаблюдения

image

8 лет назад облака стремительно изменили мир — реклама стала наперебой обещать подключить любой бизнес к удалённым серверам, хранилищам в дата-центрах и распределённым вычислительным ресурсам. Сегодня крупные компании могут не просто мигрировать на виртуальные сервера, но и запускать в своём периметре безопасности частные облака.

Ivideon развёртывает и настраивает системы видеонаблюдения где угодно, фактически предоставляя клиентам «частный облачный сервис под ключ». И представьте себе: некоторые решения, которые клиенты воспринимают как наших конкурентов, на самом деле представляют собой Ivideon под чужим брендом… Сегодня вы узнаете, как это всё работает и чем выгодно бизнесу.

Новые облачные технологии

image

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

Термином «облачные решения» сегодня обозначают различные сервисы удаленного хранения и обработки данных, предоставляемые пользователю, как интернет-услуга. Классифицировать их можно следующим образом: публичные, персональные и гибридные. Ivideon использует все модели. Про обычные облака вы уже знаете всё (надеемся) — остановимся подробнее на «экзотических» решениях: Private Cloud (PC), White Label и Enterprise Cloud (EC).

Ivideon Private Cloud

Облачный продукт Private Cloud выбирают корпорации и банки. Существует много компаний, которые, в силу разных причин (внутренние требования службы безопасности, наличие частных дата-центров), хотят полностью перенести функциональность Ivideon на собственные мощности.

Решение PC — как раз тот вариант продукта Ivideon, в котором все серверы (управляющие, архивные и стриминговые) размещаются на мощностях заказчика. Решение предназначено исключительно для собственного, внутреннего использования конечным клиентом.

Для Ivideon Private Cloud мы определили две модели подключения:

  • запрос исключительно на программное обеспечение, то есть установку, монтаж и обслуживание остальных компонентов системы (камер, серверов, коммутационной инфраструктуры) клиенты берут на себя;
  • полный аппаратный и программный комплекс, готовая система видеонаблюдения «под ключ»; клиенты покупают полностью готовую систему, включающую в себя ПО, серверное оборудование, камеры, а также работы по монтажу, настройке и администрированию.

Private Cloud – это высшая степень автоматизации, с которой бизнес не зависит от облачного провайдера, не ограничен шириной интернет-канала, не платит за трафик, сам следит за процессом шифрования и добивается полной автономности в секретном бункере.

Благодаря частному облаку можно дополнительно получить несколько полезных функций:

  • хранение данных на собственном сервере или в своем дата-центре;
  • возможность копирования и быстрого восстановления конфигураций;
  • многоуровневое резервирование данных, стабильную отказоустойчивую систему.

Формула применения частного облака на самом деле ничем не ограничена. Есть фирмы, которые используют PC для контроля за «дочками» и филиалами – десятки, сотни и тысячи объектов действуют в рамках гигантской замкнутой сети. Владельцы PC централизованно управляют всем объектами наблюдения и могут добавлять в систему неограниченное количество камер и пользователей.

Конечно, частное облако сложнее администрировать – заботу о безопасном апдейте всех серверов сети критическими патчами берёт на себя локальная IT-служба. От их профессионализма зависит судьба сервиса – спрашивать, в случае чего, придётся с себя же. Впрочем, этот минус нивелируется — такие услуги Ivideon может оказывать дополнительно.

Партнёрская программа White Label

Облачная партнёрская программа предлагается тем, кто хочет, чтобы в личном кабинете и мобильных приложениях появился их логотип и фирменные цвета – это могут быть операторы связи, интернет-провайдеры, поставщики систем безопасности и другие компании.

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

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

Система под собственным брендом – решение «под ключ», где Ivideon предоставляет софт, брендированную оболочку сервиса, оборудование и маркетинговые материалы. Далее поставщик, оператор или интернет-провайдер, который никогда не занимался видеонаблюдением, сам становится провайдером облачных услуг.

Качеством услуг основное решение Ivideon ничем не отличается от WL, но владельцы лейбла могут предлагать клиентам практически любые тарифы, включая услуги, которых у нас нет и не будет. Эта гибкая модель взаимодействия помогает дать доступ к облачному видеонаблюдения даже тем, кто никогда не интересовался Ivideon.

Enterprise Cloud

Редко используемый серверный продукт, в котором можно локально размещать сервера хранения и стриминга. При этом входящие в состав ЕС управляющие серверы остаются на нашей стороне.

В ЕС на мощностях клиента используются серверы следующего назначения:

  • сервер хранения — тип серверов Private Cloud, которые принимают видео с подключенных камер, транслируют это видео клиентам и записывают в архив;
  • сервер стриминга — тип серверов Private Cloud, которые принимают видео с подключенных камер, транслируют это видео клиентам и не записывают в архив.

Железо для частного облака

image

Обычному пользователю Ivideon достаточно скачать мобильное приложение или установить на практически любой ПК Ivideon Server или Client, но владельцу собственного облака, помимо нашего софта, потребуются серьёзные аппаратные ресурсы. Так выглядит типовая конфигурацию сервера хранения, обслуживающего 80 камер с битрейтом 1 Мбит/сек., настройкой 30 % движения в кадре и с глубиной архива в 30 дней:

Процессор: Intel Xeon E1230v5
Память: 16 Гб
Диски: четыре SATA 7200 по 4 Тб
Сеть: 100 Мбит/с.
Типоразмер: 1U

Примерная конфигурация оборудования для сервера стриминга на 2 000 камер и 100-500 активных просмотров видео:

Процессор: Intel Xeon E1230v5
Память: 32 Гб
Диски: два SATA 7200 по 1 Тб
Сеть: 1000 Мбит/сек.
Типоразмер: 1U

Заметим, что трафик между серверами хранения, стриминга и управляющим сервером составляет примерно 5 % от видеопотоков с камер.

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

Типовая конфигурация управляющих серверов:

Типоразмер: 1/2U c «корзиной» на 8 дисковых отсеков
Процессор: два 12-ядерных (например, E5-2650v4)
Память: 128 Гб (по 64 Гб на процессор)

Диски:

  • четыре SSD SATA 6G eMLC NAND Enterprise по 480 Гб (raid-10 для БД) ;
  • два SATA/SAS по 2 Тб (для некритичных данных, вроде логов и бэкапов);
  • RAID-контроллер: аппаратный, поддерживающий RAID-10.

Сеть: 1 Гбит/с.

Такой кластер из трех серверов способен обслужить 10 тысяч клиентов. Если этого мало, то следует добавить еще три аналогичных сервера, на которые можно перенести базы данных в архиве. В этом случае легко обслужить 20-30 тысяч клиентов. Допустимо повышать количество серверов и дальше – система масштабируется в зависимости от задач.

Для обеспечения отказоустойчивости работы сервиса количество серверов придется удвоить. Сохранность записей обеспечена дупликацией на уровне сервера архива.

Если необходимо получить доступ к видеоряду с камер через веб-портал, то для его работы также потребуется отдельный сервер. Нагрузка на него будет различаться в зависимости от типа обращений — просмотра видео в браузере или запроса к API.

Мы рекомендуем следующую конфигурацию веб-сервера:

  • двухъядерный процессор;
  • 8 Гб RAM = 30 rps (самых жирных);
  • SSD-накопители от 400 Гб;
  • LAN 100 Мбит/с. или 1 Гбит/с.

Мир одного облака

Возможно, в будущем все сольются в одном виртуальном облаке (на серверах Amazon), но мир об этом не узнает, потому что количество провайдеров облачных услуг не уменьшится, а даже вырастет. Отличительная особенность Private Cloud, Enterprise Cloud и White Label – секретность. По NDA мы не можем называть клиентов и раскрывать конфигурации их серверов.

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

Ограничений несколько: нельзя менять базовую архитектуру сервиса, после некорректной работы над которой есть шанс получить тыкву вместо кареты; воспрещается копировать исходники и пытаться применить код где-то ещё, помимо нашего облака.

Для решения простых задач на уровне «не трожь» мы привлекаем техподдержку, но часто этого недостаточно, поэтому в тесном взаимодействии с клиентами частных облаков действует команда разработчиков. Некоторые функции, которые позже внедрялись в общий сервис, когда-то появились как дополнения, разработанные по желанию таких клиентов.

Контакт для связи, если хотите узнать больше об условиях подключения Private Cloud и других возможностях Ivideon для бизнеса.


ссылка на оригинал статьи https://habr.com/ru/company/ivideon/blog/465341/

Тренинг Cisco 200-125 CCNA v3.0. День 27. Введение в AСL. Часть 2

Еще одна вещь, о которой я забыл упомянуть – ACL не только фильтрует трафик по принципу разрешить/отказать, он выполняет ещё много функций. Например, ACL используется для шифрования трафика VPN, однако для сдачи экзамена CCNA достаточно знать, как он применяется для фильтрации трафика. Вернемся к Задаче №1.

Мы выяснили, что весть трафик бухгалтерии и отдела продаж может быть заблокирован на выходном интерфейсе R2 с помощью приведенного списка ACL.

Не переживайте по поводу формата этого списка, он нужен только как пример для понимания сути ACL. Мы перейдем к правильному формату, как только начнем работу с Packet Tracer.

Задача №2 звучит так: серверная может связываться с любыми хостами, кроме хостов отдела менеджмента. То есть компьютеры серверной могут иметь доступ к любым компьютерам отдела продаж и бухгалтерии, но не должны иметь доступ к компьютерам отдела менеджмента. Это означает, что IT-персонал серверной не должен иметь дистанционный доступ к компьютеру руководителя отдела менеджмента, а в случае неполадок явиться в его кабинет и устранить проблему на месте. Учтите, что эта задача не несет в себе практического смысла, потому что я не знаю причин, по которым бы серверная не могла общаться по сети с отделом менеджмента, так что в данном случае мы просто рассматриваем учебный пример.

Для решения этой задачи сначала нужно определить путь передачи трафика. Данные из серверной поступают на входной интерфейс G0/1 роутера R1 и отправляются в отдел менеджмента через выходной интерфейс G0/0.

Если применить условие Deny 192.168.1.192/27 к входному интерфейсу G0/1, а как вы помните, стандартный ACL размещают поближе к источнику трафика, мы заблокируем вообще весь трафик, в том числе к отделу продаж и бухгалтерии.

Поскольку мы хотим заблокировать только трафик, направленный к отделу менеджмента, то должны применить ACL к выходному интерфейсу G0/0. Решить данную задачу можно только расположив ACL поближе к назначению. При этом трафик из сети бухгалтерии и отдела продаж должен беспрепятственно достигать отдела менеджмента, поэтому последней строчкой списка будет команда Permit any – разрешить любой трафик, кроме трафика, указанного в предыдущем условии.

Перейдем к Задаче №3: ноутбук Laptop 3 из отдела продаж не должен иметь доступ ни к каким устройствам, кроме расположенных в локальной сети отдела продаж. Предположим, что за этим компьютером работает практикант, который не должен выходить за пределы своей LAN.
В этом случае нужно применить ACL на входном интерфейсе G0/1 роутера R2. Если мы присвоим этому компьютеру IP-адрес 192.168.1.3/25, то тогда должно выполняться условие Deny 192.168.1.3/25, а трафик с любого другого IP-адреса не должен блокироваться, поэтому последней строкой списка будет Permit any.

При этом запрет трафика не окажет никакого эффекта на Laptop2.

Следующей будет Задача №4: только компьютер PC0 финансового отдела может иметь доступ к сети серверной, но не отдел менеджмента.

Если вы помните, ACL из Задачи №1 блокирует весь исходящий трафик на интерфейсе S0/1/0 роутера R2, но в Задаче №4 говориться, что нужно обеспечить пропуск трафика только компьютера PC0, поэтому мы должны сделать исключение.

Все задачи, которые мы сейчас решаем, должны помочь вам в реальной ситуации при настройке ACL для офисной сети. Для удобства я использовал классический вид записи, однако советую вам записывать все строки вручную на бумаге или печатать их в компьютере, чтобы иметь возможность вносить исправления в записи. В нашем случае по условиям Задачи №1 составлен классический список ACL. Если мы захотим добавить в него исключение для PC0 типа Permit <IP-адрес PC0>, то сможем разместить эту строку только четвертой в списке, после строки Permit Any. Однако поскольку адрес этого компьютера входит в диапазон адресов проверки условия Deny 192.168.1.128/26, его трафик будет заблокирован сразу же после выполнения данного условия и роутер просто не дойдет до проверки четвертой строки, разрешающей трафик с этого IP-адреса.
Поэтому я должен буду полностью переделать ACL список Задачи №1, удалив первую строку и заменив её строкой Permit 192.168.1.130/26, которая разрешает трафик компьютера PC0, а затем заново вписать строки, запрещающие весь трафик бухгалтерии и отдела продаж.

Таким образом, в первой строке у нас размещена команда для конкретного адреса, а во второй – общая для всей сети, в которой расположен этот адрес. Если вы используете современный тип списка ACL, то легко сможете внести в него изменения, разместив строку Permit 192.168.1.130/26 в качестве первой команды. Если у вас имеется классический ACL, вы должны будете полностью его удалить и затем заново ввести команды в правильном порядке.

Решением Задачи №4 является размещение строки Permit 192.168.1.130/26 в начале списка ACL из Задачи №1, потому что только в этом случае трафик компьютера PC0 беспрепятственно покинет выходной интерфейс роутера R2. Трафик компьютера PC1 будет полностью заблокирован, потому что его IP-адрес попадает под действие запрета, содержащегося во второй строке списка.

Сейчас мы перейдем к Packet Tracer, чтобы сделать необходимые настройки. Я уже настроил IP-адреса всех устройств, потому что упрощенные предыдущие схемы были немного трудны для понимания. Кроме того, я настроил RIP между двумя роутерами. На приведенной топологии сети возможна связь между всеми устройствами 4-х подсетей без всяких ограничений. Но как только мы применим ACL, трафик начнет фильтроваться.

Я начну с компьютера PC1 финансового отдела и попробую пропинговать IP-адрес 192.168.1.194, который принадлежит серверу Server0, расположенному в серверной. Как видите, пингование проходит успешно без всяких проблем. Так же успешно я пингую ноутбук Laptop0 отдела менеджмента. Первый пакет отбрасывается по причине ARP, остальные 3 свободно пингуются.

Для того, чтобы организовать фильтрацию трафика, я захожу в настройки роутера R2, активирую режим глобальной конфигурации и собираюсь создать список ACL современного вида. У нас также имеется ACL 10 классического вида. Для создания первого списка я ввожу команду, в которой необходимо указать то же название списка, что мы записали на бумаге: ip access-list standard ACL Secure_Ma_And_Se. После этого система выдает подсказки возможных параметров: я могу выбрать deny, exit, no, permit или remark, а также ввести порядковый номер Sequence Number от 1 до 2147483647. Если я этого не сделаю, система присвоит его автоматически.

Поэтому я не ввожу этот номер, а сразу перехожу к команде permit host 192.168.1.130, поскольку это разрешение действует для конкретного устройства PC0. Я также могу использовать обратную маску Wildcard Mask, сейчас я покажу, как это делается.

Далее я ввожу команду deny 192.168.1.128. Поскольку у нас имеется /26, я использую обратную маску и дополняю ею команду: deny 192.168.1.128 0.0.0.63. Таким образом я запрещаю трафик сети 192.168.1.128/26.

Аналогично я блокирую трафик следующей сети: deny 192.168.1.0 0.0.0.127. Весь остальной трафик разрешается, поэтому я ввожу команду permit any. Далее я должен применить этот список к интерфейсу, поэтому использую команду int s0/1/0. Затем я набираю ip access-group Secure_Ma_And_Se, и система выдает подсказку с выбором интерфейса – in для входящих пакетов и out для исходящих. Нам нужно применить ACL к выходному интерфейсу, поэтому я использую команду ip access-group Secure_Ma_And_Se out.

Зайдем в командную строку PC0 и пропингуем IP-адрес 192.168.1.194, принадлежащий серверу Server0. Пинг проходит успешно, так как мы использовали особое условие ACL для трафика PC0. Если я проделаю то же самое с компьютера PC1, система выдаст ошибку: «хост назначения не доступен», поскольку трафик с остальных IP-адресов бухгалтерии заблокирован для доступа к серверной.

Зайдя в CLI роутера R2 и набрав команду show ip address-lists, можно увидеть, как обеспечивалась маршрутизация трафика сети финансового отдела – здесь показано, сколько раз пинг был пропущен согласно разрешению и сколько раз заблокирован соответственно запрету.

Мы всегда можем зайти в настройки роутера и посмотреть список доступа. Таким образом, условия Задач №1 и №4 выполнены. Разрешите показать вам ещё одну вещь. Если я захочу что-то исправить, то могу зайти в режим глобальной конфигурации настроек R2, ввести команду ip access-list standard Secure_Ma_And_Se и затем команду «хост 192.168.1.130 не разрешен» — no permit host 192.168.1.130.

Если мы снова посмотрим на список доступа, то увидим, что строка 10 исчезла, у нас остались только строки 20,30 и 40. Таким образом можно редактировать список доступа ACL в настройках роутера, но только если он составлен не в классическом виде.

Теперь перейдем к третьему списку ACL, потому что он тоже касается роутера R2. В нем сказано, что любой трафик с ноутбука Laptop3 не должен покидать пределы сети отдела продаж. При этом Laptop2 должен без проблем связываться с компьютерами финансового отдела. Чтобы проверить это, я пингую с этого ноутбука IP-адрес 192.168.1.130, и убеждаюсь, что все работает.

Сейчас я зайду в командную строку Laptop3 и пропингую адрес 192.168.1.130. Пингование проходит успешно, но нам это не нужно, так как по условию задачи Laptop3 может связываться только с Laptop2, расположенным с ним в одной сети отдела продаж. Для этого нужно создать еще один ACL, используя классический метод.

Я вернусь в настройки R2 и попробую восстановить удаленную запись 10, использовав команду permit host 192.168.1.130. Вы видите, что эта запись появилась в конце списка под номером 50. При этом доступ все равно работать не будет, потому что строка с разрешением конкретного хоста находится в конце списка, а строка, запрещающая весь трафик сети – вверху списка. Если попробовать пропинговать с компьютера PC0 ноутбук Laptop0 отдела менеджмента, мы получим сообщение «хост назначения не доступен», не смотря на то, что в списке ACL имеется разрешающая запись под номером 50.

Поэтому если вы хотите отредактировать существующий список ACL, то нужно в режиме R2(config-std-nacl) ввести команду no permit host 192.168.1.130, проверить, что строка 50 исчезла из списка, и ввести команду 10 permit host 192.168.1.130. Мы видим, что теперь список приобрел свой первоначальный вид, где данная запись заняла первую строчку. Порядковые номера помогают редактировать список в любом виде, поэтому современная форма ACL намного удобней классической.

Сейчас я покажу, как работает классическая форма списка ACL 10. Для использования классического списка нужно ввести команду access–list 10 ?, и, следуя подсказке, выбрать нужное действие: deny, permit или remark. Затем я ввожу строку access–list 10 deny host, после чего набираю команду access–list 10 deny 192.168.1.3 и добавляю обратную маску. Поскольку у нас имеется хост, прямая маска подсети равна 255.255.255.255, а обратная – 0.0.0.0. В итоге для запрета трафика хоста я должен ввести команду access–list 10 deny 192.168.1.3 0.0.0.0. После этого нужно указать разрешения, для чего я набираю команду access–list 10 permit any. Этот список нужно применить для интерфейса G0/1 роутера R2, поэтому я последовательно ввожу команды in g0/1, ip access-group 10 in. Независимо от того, какой список используется, классический или современный, применение этого списка к интерфейсу осуществляется одними и теми же командами.

Чтобы проверить правильность настроек, я захожу в терминал командной строки Laptop3 и пробую пропинговать IP-адрес 192.168.1.130 – как видите, система сообщает, что хост назначения недоступен.

Напомню, что для проверки списка можно использовать как команду show ip access-lists, так и show access-lists. Мы должны решить еще одну задачу, которая относится к роутеру R1. Для этого я захожу в CLI этого роутера и перехожу в режим глобальной конфигурации и ввожу команду ip access-list standard Secure_Ma_From_Se. Поскольку у нас имеется сеть 192.168.1.192/27, её маска подсети будет 255.255.255.224, значит, обратная маска будет 0.0.0.31 и нужно ввести команду deny 192.168.1.192 0.0.0.31. Поскольку весь остальной трафик разрешен, список заканчивается командой permit any. Для того, чтобы применить ACL к выходному интерфейсу роутера, используется команда ip access-group Secure_Ma_From_Se out.

Сейчас я зайду в терминал командной строки сервера Server0 и попробую пропинговать Laptop0 отдела менеджмента по IP-адресу 192.168.1.226. Попытка не удалась, но если я отправлю пинг по адресу 192.168.1.130, связь установится без проблем, то есть мы запретили компьютеру серверной связываться с отделом менеджмента, но разрешили связь со всеми остальными устройствами в других отделах. Таким образом, мы успешно решили все 4 задачи.

Давайте я покажу вам кое-что еще. Мы заходим в настройки роутера R2, где у нас имеются 2 типа ACL – классический и современный. Предположим, я хочу отредактировать ACL 10, Standard IP access list 10, который в классическом виде состоит из двух записей 10 и 20. Если использовать команду do show run, можно увидеть, что сначала у нас расположен современный список доступа из 4-х записей без номеров под общим заголовком Secure_Ma_And_Se, а ниже расположены две записи ACL 10 классической формы с повторением названия одного и того же списка access-list 10.

Если я захочу сделать какие-то изменения, например, удалить запись deny host 192.168.1.3 и ввести запись для устройства из другой сети, мне нужно использовать команду удаления только для этой записи: no access-list 10 deny host 192.168.1.3. Но как только я введу эту команду, полностью исчезнут все записи списка ACL 10. Вот почему классический вид списка ACL очень неудобен для редактирования. Современный способ записи намного удобней в использовании, так как позволяет свободное редактирование.

Для того, чтобы усвоить материал данного видеоурока, я советую вам просмотреть его ещё раз и попробовать самим решить рассмотренные задачи без подсказок. ACL является важной темой курса CCNA, и многих смущает, например, процедура создания обратной маски Wildcard Mask. Уверяю вас – достаточно понять концепцию преобразования маски, и все станет намного проще. Помните, что самое важное в понимании тематики курса CCNA – это практические занятия, потому что только практика поможет понять ту или иную концепцию Cisco. Практика – это не копипаст моих команд, а решение задач своим способом. Задавайте вопросы самим себе: что нужно сделать, чтобы заблокировать поток трафика отсюда туда, где применить условия и так далее, и пробуйте на них ответить.

Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).

Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?


ссылка на оригинал статьи https://habr.com/ru/company/ua-hosting/blog/465631/

Музыка для программиста

Я захожу в офис, поднимаюсь на третий этаж, подхожу к Жене, который выглядит, как зайчик-лапушка. Чтобы меня услышать, он достает наушник из уха, а я слышу, как из маленького динамика разносится какой-то дикий рёв и пронизывающий до костей ор! Ох, внешность, как же ты бываешь обманчива…

Если осмотреться по сторонам, можно увидеть, что большинство людей у нас сидит в наушниках. Мне стало интересно, что и зачем слушают наши разработчики, и не мешает ли им это работать.


Мои вьетнамские флешбеки про музыку на работе

На одной из моих бывших работ мы почти дошли до запрета музыки на рабочем месте.

Основным показателем качества нашей работы был безошибочный ввод данных в систему: цифры, буквы, персональные данные. Короче говоря, мы были операционистами: на одном мониторе скан документа, на втором мониторе SAP, куда ты фигачишь данные. Ошибки были чреваты неправильными начислениями зарплат, отпускных, командировочных и так далее.

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

Прошло пару месяцев, назначенные мероприятие не возымели успеха – люди продолжали ошибаться, выполняя свои рабочие задачи. Тогда стальная руководящая рука замахнулась на святое – музыку, которую сотрудники слушали в индивидуальных наушничках.

У нас было несколько встреч, где решалась судьба музыки:

  • запретить или оставить;
  • а если оставить, то создавать ли список допустимой к прослушиванию музыки;
  • разрешить ли слушать музыку со словами;
  • разрешить ли слушать русскую музыку, где все слова понятны.

Я не шучу и не преувеличиваю. Примерно на этой стадии обсуждения мой нервный тик достиг таких масштабов, что больше нельзя было игнорировать очевидное – пора валить из этой конторы. Ну я и свалила.

Музыка и дофамин

Музыка раздражает – это факт. Когда мы слушаем музыку, в мозгу раздражается nucleus accumbens (прилежащее ядро). Это часть мозга отвечает за формирование удовольствия, смеха, зависимости, агрессии, страха и эффекта плацебо.

Что дальше? Дальше в этом ядре вырабатывается дофамин. Считается, что дофамин – это гормон радости, однако, это не совсем так. Дофамин – это гормон настроения. От его уровня в организме зависит весело нам или грустно.

Если при прослушивании музыки у вас повысился уровень дофамина в крови, то попутно поднимется и настроение. От полученного удовольствия вы можете стать более счастливым и расслабленным, что пагубным образом скажется на продуктивности работы.

Если при прослушивании музыки у вас понизился уровень дофамина в крови, вас выбьет из рабочего состояния через другой полюс – внезапно нахлынувший сплин.

Три правды о прослушивании музыки во время работы

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

    Музыка для продуктивной работы должна содержать: шум, гам, вибрации. И не должна содержать: ритма, слов и барабанов.

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

    Вот тут можно послушать получившиеся плейлисты.

  2. Ряд исследований говорит о том, что лучшая музыка для концентрации – это отсутствие музыки. Потому как сознание (читай «внимание») у нас одно, как единый ресурс, и разделяя его между музыкой и работой, мы неизбежно проиграем в последней.
  3. Статьи последних лет уверяют, что музыка – единственный спаситель продуктивной работы в офисе. Мозг пытается обработать все отдельные части данных в офисном шуме: обрывки разговоров коллег, хлопающие двери, звуки доносящиеся с улицы.

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

Альтернативная тишина и драйвер работы

Сейчас в Dodo я вижу, что музыку слушают почти все. Поговорив со многими разработчиками, я пришла к выводу, что всё индивидуально (¯\_(ツ)_/¯). Но есть две тенденции:

  1. Музыка как альтернативная тишина.

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

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

  2. Музыка как драйвер для работы: помогает настроиться на нужную волну, держать себя в тонусе, помогает задержаться в нужном состоянии и просто получить удовольствие в течение рабочего дня.

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

Мы запилили опрос среди своих разработчиков и выяснили, что они отлично работают под разнообразную залихватскую ритмичную дичь, металл, электронщину, drum&buss, а также хиты эстрады 70-х.

Что слушают разработчики Dodo

Женя Биккинин (objectObject backend developer)

Я регулярно слушаю музыку во время работы для фокуса, расфокуса, транса, а иногда как альтернативную тишину. Иногда мне кажется, что я работаю, только чтобы слушать музыку.

На работе я, в основном, сталкиваюсь с решаемыми головоломками. Т.е. я выкладываюсь, но процентов на 80%. Поэтому здесь, музыка для меня – это драйвер.

Что-то похожее я чувствую, когда катаюсь под музыку на доске. Если ты катаешься под агрессивную бодрящую музыку, даже когда ты падаешь, то подскакиваешь и едешь дальше. Музыка зовёт тебя вперёд. Что-то похожее прослеживается и на работе. У нас в разработке много таких задач: вроде простых, но вроде и с нюансами, когда тебе надо всё пофиксить, подчистить. Примерно, как ехать со склона на доске. И музыка в этом помогает.

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

Топчик от Евгения Биккинина:

Роман Букин (SRE)

Зачем я слушаю музыку на работе? Потому что в оупен-спейсе много шума. Ты его затыкаешь и с помощью музыки входишь в рабочий поток.

Каждый день у меня разный настрой в плане музыки, которую хочется слушать. Но это только триггер, который нужен, чтобы быстрее въехать в поток. Я работаю в команде SRE, где 10 разгневанных мужчин кричат друг на друга, куда тут без музыки… Любимая музыка и музыка для работы – это два множества, которые сильно пересекаются друг с другом. Музыка может способствовать настроению: поддерживать его хорошим или наоборот помогает погрузить его в свою собственную тьму.

Топчик от Романа Букина:

Виталий Помозов (Dodo IS Developer)

Сейчас мы много программируем в парах, поэтому не всегда удается послушать музыку, а раньше стабильно практиковал. Сидишь на работе, стёкла тонированные, грустно становится, упадок сил, а музыка подбадривает. И альтернативная тишина, когда соседняя команда начинает кричать. Надеваешь наушники, и никого нет.

В идеале я слушаю то, что не особо понимаю и вникаю: весёлое иностранное, немного тяжеловатое. Ради поднятия настроения: репчик, Баста, Ноггано, сидеть подпевать, сидеть на бодрячке. Это для более-менее понятного дела.

Когда надо жёстко вникнуть, остальное нужно отвергать, чтобы не вслушиваться, не подпевать, не пускаться в пляс.

Топчик от Виталия Помозова:

Женя Васильев (Dodo IS Developer)

Я слушаю музыку, чтобы изолироваться от шумов: у нас, кто разговаривает, кто шумит, мозг за это сильно цепляется. Если слушать одно и то же регулярно, то музыка начинает проходить мимо мозга, скорее задаёт тебе ритм. Да, я слушаю жесткач, но если послушать его сто раз, то он уже таким и не кажется. Скорее становится мелодичным.

Топчик от Евгения Васильева:


ссылка на оригинал статьи https://habr.com/ru/company/dodopizzaio/blog/465611/

Через тернии к игре мечты — месяц спустя

image

С прошлого поста прошло чуть больше месяца. Все это время мы постоянно трудились над проектом и продолжаем двигаться в нужном русле. Картинка Another Way начинает приобретать краски. Для тех, кто хочет узнать с чего все началось, предлагаю ознакомиться с небольшой историей написанной ранее — Через тернии к игре мечты. А все кому интересно к чему это привело, добро пожаловать под кат

Легенда меток Карта в высоком разрешении

Благодаря этой карте, мы имеем не только мысленное представление нашего мира, но и можем полноценно воплощать идеи на игровой местности. Таким образом мы создали участок, который будет включать в себя северо-восточные ключевые точки — королевство Маркам с его деревнями, лес тысячи теней и небольшой участок края вечных туманов.

image

Уже сейчас мы проложили основные маршруты, королевский тракт, деревенские тропинки и закончили каркас леса тысячи теней и несмотря на то, что живые существа обитают только на тестовых площадках для отладки боевой системы, визуальная часть постепенно начинает пропитываться нужной атмосферой.

image

image

image

image

image

Одной из проблем при создании местности стало динамическое освещение сцены. Пришлось перебрать множество вариантов для того чтобы получить текущее изображение. Если показывать наглядно, то получится сравнение двух картинок из разряда “до” и “после”.

image

image

Наиболее часто нам довелось слушать отзывы вроде “Идея это хорошо, а где геймплей”, “Наделали красивых скриншотов, а игру то хватит сил сделать?” и все в этом духе. Наверное каждый, кто сталкивался с разработкой игр, понимает что многие из аспектов занимают огромное количество времени. И тем не менее мы приготовили парочку роликов демонстрирующие некоторые стартовые механики, которые мы смогли прикрутить в течении отведенного времени.

Разумеется все продемонстрированное будет дорабатываться. По анимациям, по звучанию, по шрифтам и по всем другим аспектам. Это лишь “база” которая способствует дальнейшему развитию Another Way.

Если на релизе мы хотим позиционировать игру с припиской “с элементами интерактивного кино” нам необходимо получить качественные лицевые анимации. Мы экспериментируем в этом направлении и одну из не совсем удачных попыток вы можете увидеть ниже.

Ну и какое же Real Time RPG от третьего лица без боевой системы. Поэтому зачатки оной мы тоже нарезали в небольшой видео ряд.

Для большинства механик мы используем ассеты из маркетплейса, что-то из них дорабатывается, видоизменяется после объединяется с другими системами, но только благодаря этим наработкам мы можем получить столь быстрый прогресс в столь короткое время и сделать из этого полноценную картинку. Странно, но даже в этом нас периодически упрекают. Мол “- Расставили все готовое и сидят довольные”, при этом мне тяжело вспомнить когда я спал более 4х часов за последний месяц, отдавая все силы и эмоции в эту игру.

image

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

image

Мы стараемся уделять большое внимание бестиарию нашей вселенной. В нашей группе Вконтакте мы публикуем небольшие рассказы о каждом из существ, мы уже рассказали о Хагвосах, Нерушимом Гурре, откуда появились Неупокоенные, что из себя представляет Подземный Червь, а также почему Воющие плачут в лесу Эллигнум.

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

image

image

image

image

Мы продолжаем участвовать в конкурсе от Disgusting Men и Epic Games на получение гранта. Следующий отсев конкурсантов должен состояться после 4 сентября, то есть в самое ближайшее время. Надеюсь мы смогли показать достаточно прогресса, чтобы оказаться в числе тех, кто прошел дальше.

PS: Мы всегда рады новым людям в нашей команде, для столь большого и амбициозного проекта всегда нужны специалисты всех направлений. Если вам нравится то что мы делаем и вы считаете что можете помочь в этом будь вы художником, композитором, 3D-моделлером, арт дизайнером, да кем угодно, то пишите, будем рады наладить диалог.

Если проект кажется вам интересным, то будем рады ответить на ваши вопросы, подискутировать над идеями и миром в комментариях и будем очень рады вашей поддержке на конкурсе — https://unrealcontest.disgustingmen.com/game/126/ необходимо пролистать основное описание и поставить большой палец вверх

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


ссылка на оригинал статьи https://habr.com/ru/post/465635/

Раскрыты детали вредоносной кампании на пользователей iPhone

29 августа группа Project Zero после тщательного исследования опубликовала детальную информацию об обнаруженных векторах атак в ходе массовой кампании по похищению данных пользователей iPhone.

Результатом успешной атаки на пользователя являлся запуск агента слежения («импланта») с привилегированными правами в фоновом режиме.

В процессе исследования в рамках векторов атак было обнаружено 14 используемых уязвимостей:

  • 7 уязвимостей браузера iPhone;
  • 5 уязвимостей ядра;
  • 2 уязвимости обхода песочницы.

Хотя обнаруженная информация была предоставлена Apple 1 февраля 2019 г., в результате чего уже через неделю был выпущен внеплановый релиз iOS 12.1.4, как минимум одна уязвимость повышения привилегий до сих пор остается уязвимостью нулевого дня и не имеет патча (CVE-2019-7287).

Обнаружение кампании

В 2019 году группа Threat Analysis Group (TAG) из Google обнаружила несколько взломанных веб-ресурсов, которые использовались для нецелевых атак на посетителей сайтов с помощью 0-day уязвимостей iPhone. При этом атаковался любой посетитель захваченных ресурсов и в случае успеха на устройстве устанавливался «имплант», похищавший данные пользователя. Предположительно, аудитория сайтов составляла до нескольких тысяч посетителей в неделю.

TAG определила 5 уникальных и независимых векторов атак, применимых к iOS версий 10-12 (за исключением iPhone 8/8+ Xr/Xs), что указывает на постоянные попытки взломать пользователей в течение как минимум 2 лет. Далее Google совместно с командой Project Zero провели доскональный анализ обнаруженного вредоносного ПО.

По мнению Project Zero, «Основная причина [данных уязвимостей]…: [в данном случае] мы наблюдаем примеры неработающего кода без необходимого контроля качества кода или даже простого тестирования и обзора до доставки на пользовательские устройства».

The root causes I highlight here are not novel and are often overlooked: we’ll see cases of code which seems to have never worked, code that likely skipped QA or likely had little testing or review before being shipped to users. © Project Zero: A very deep dive into iOS Exploit chains found in the wild

Диаграмма от Project Zero показывает временной период с 13 сентября 2016 года по 22 января 2019 года и применяемые в него векторы атаки.

Детали поведения импланта

Имплант специализировался на краже файлов и выгрузке данных о текущей геолокации пользователя посредством запроса команд с сервера злоумышленников каждые 60 секунд. Из-за привилегированных прав запуска у импланта был доступ ко всем файлам на устройстве жертвы, в том числе и к базам мессенджеров с шифрованием: Whatsapp, Telegram, iMessage, Hangouts.


Пример данных, собираемых имплантом

Имплант также выгружал keychain устройства, содержащий данные о сохраненных или используемых на момент выполнения реквизитов доступа пользователя.

Дополнительно собиралась и отправлялась следующая информация об устройстве:

  • модель iPhone model;
  • имя устройства (например, Ian’s iPhone);
  • уникальный номер ICCID SIM-карты;
  • серийный номер iPhone;
  • телефонный номер;
  • версия iOS;
  • размер и свободное место носителя информации;
  • активные сетевые интерфейсы.


ссылка на оригинал статьи https://habr.com/ru/company/jetinfosystems/blog/465583/