Глоссарий

Big Data

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

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

Cloud

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

MongoDB

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

Особенности 

  • Использование разработанного формата данных — Binary JavaScript Object Notation.
  • Формат хранения: коллекции, заменяющие классические таблицы, позволяют хранить данные разных наборов.
  • Возможность индексации.
  • Система использует собственную технологию для работы с файлами больших размеров. Файл делится на группы (наборы), необходимые для работы данных, каждый набор обрабатывается.
  • Механизм поиска с помощью специализированных запросов для более удобной и быстрой навигации по СУБД.
  • Механизм распределения нагрузки. Сегментация БД приводит к повышению производительности, а также синхронизируются узлы, разбросанные по разным сегментам.
  • Возможность развернуть систему в облачном пространстве. 

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

MongoDB — инструмент, позволяющий собирать, структуризировать, обрабатывать данные и обеспечивать быстрый доступ к ним.

Apache

Сервер, предназначенный для управления web, с общедоступной бесплатной лицензией. Кроме этого, программное обеспечение сервера — кроссплатформенное, т.е. установка возможна на разные по архитектуре ОС (Windows, Solaris, Linux, etc.). Решение Apache распространено, потому что обеспечивает гибкий и надежный подход к организации сетевой программной инфраструктуры. Модульный принцип позволяет клиенту выбрать настройки конфигурации под свои задачи. Сначала инсталлируется ядро, после производится выбор и установка необходимых компонентов. 

Принцип работы

В качестве протокола обработки запросов клиент-сервер Apache использует HTTP. Сервер использует 3 встроенных механизма обработки запросов клиента:

  • mpm_event. Работает с соединениями keep-alive (непрерывные), анализирует каждый поток, разделяет потоки на активные и постоянные. Это необходимо для увеличения скорости обработки команд пользователя. 
  • mpm_worker. Проще говоря, данный механизм обрабатывает процессы, связанные одновременно с несколькими потоками. Оптимизирует вычисления с большим количеством потоков.
  • mpm_prefork. Один запрос — один процесс. На каждый запрос клиента предоставляется место в памяти. Чем меньше запросов, тем лучше. 

Созданы модули, адаптированные под какие-либо ОС (mpm_netware, mpm_winnt).

Особенности 

Сообщество участвует в доработке Apache, т.е. используется краудсорсинг . Apache при помощи виртуализации позволяет осуществлять гибкое администрирование большого количества виртуальных хостов. Ядро не монолитное, можно интегрировать собственные решения на языках PHP, Ruby, etc.

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

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

VPN

Что такое VPN?

В наше время технология VPN довольно актуальна. Современные роутеры и маршрутизаторы обзавелись интегрированным VPN с дополнительными аппаратными системами. Для обычного пользователя вопрос остается открытым: в чем же ценность VPN?

VPN

Аббревиатура VPN расшифровывается как Virtual Private Network — виртуальная частная сеть. Сеть — объединение нескольких узлов какими-либо видом связи. В понятие «частность» входит недоступность широкому кругу лиц. 

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

Для чего нужен VPN?

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

Тенденция развития облачных технологий — подтверждение необходимости VPN. Огромные информационные кластеры нуждаются в защите пропускаемого трафика. SDN — не менее любопытный инструмент, но пока еще не совсем адаптированный к суровым реалиям интернета. Использование VPN в России — не пришедший тренд. ISP проектировали сети, в основе которых находились неуправляемые коммутаторы, потому что это бюджетное решение. Разбивка трафика реализовывалась с помощью VPN, поэтому в некотором понимании РФ была лидирующей страной по количеству синхронных VPN-подключений. 

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

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

DevOps

DevOps — методология, направленная на повышение качества разработки программного обеспечения. 

Концепция DevOps

Во-первых, устранение барьеров в организационном плане между разработчиками. DevOps также направлена на реализацию практики CI/CD. Методология сопровождает проект от создания и тестирования до эксплуатации и поддержки. 

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

Задачи DevOps

  • Снижение количества неудачных релизов.
  • Ускорение разработки проекта.
  • Сокращение времени отладки.

Принципы DevOps

  • Культура общения. DevOps — про командную работу, про организацию разработки и про объединение специалистов разного профиля. 
  • Проверка кода с помощью автоматизированных тестов.
  • Контроль за использованием необходимых инструментов и исключение ненужных. 
  • Постоянный анализ процессов.
  • Взаимодействие внутри коллектива разработчиков. Поддержка коллективной ответственности.

Контейнер

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

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

Некоторые контейнеры доступны только для API или ОС. Например, контейнер Linux не будет работать без Linux API. Инструмент управления контейнерами — PowerShell, но он постепенно теряет популярность. Docker — более современный, а команды управления актуальны как для Windows, так и для Linux.

Кластер

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

  • распределение нагрузки
  • распоряжение вычислительными ресурсами 
  • расширение кластера
  • использование кластера для вычислений 

Производительность кластеров — определяющая характеристика. Кластер разбивает происходящие вычисления на множество параллельных процессов, при этом анализируя каждый. Обмен данными происходит между компьютерами во время работы кластера. 

Типы кластеров 

Существует несколько типов кластеров:

  • Распределительный. Запросы распределяются на входе по всем звеньям структуры, далее проходят к вычислительным узлам. 
  • Кластеры высокой доступности. Данный тип необходим для обеспечения быстрого доступа к сервису. В структуре несколько входных узлов, они работают как предохранители. В случае сбоя на одном из узлов другой выступает заменой, сервис остается доступным. Такой тип кластеров строится по 3-м принципам. Первый: каждая нода (звено) обрабатывает запросы, но при отказе группы или одного звена, структура перераспределяется. Второй: должны присутствовать спящие ноды, которые начинают работу в случае отказа основных. Третий: звенья могут делегировать работу, если на систему оказывается большая нагрузка.

OpenStack

Инструмент для создания сервисов и хранилищ в облаке. Он не требует особого уровня доступа и распространяется под лицензией APACHE. 

Принцип работы

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

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

Структура

  • Модуль Glance распоряжается виртуальными ОС хостов, но не занимается их хранением. 
  • Cinder — система хранения данных для работы с блоками информации.
  • Swift — аналогичная система Cinder для обращения к объектам, которая управляется через собственное внутреннее программное обеспечение.
  • Neutron — отладчик соединений между используемыми модулями.
  • Keystone — элемент управления для идентификации и аутентификации.
  • Данный модуль выполняет функции контроля доступа к системе/ конкретному блоку.
  • Watcher — распределитель нагрузки.
  • Horizon — модуль мониторинга системы, построенной вокруг OpenStack.
  • Nova — один из главных модулей, служит контроллером исполнения (запуск/перезапуск/остановка).
  • OpenStack — надежное решение с богатым техническим бэкграундом. Принцип конструктора поможет пользователю разобраться в своих потребностях, сократит время, которое клиент мог потратить на настройку полноценной конфигурации.

 

Jenkins

Это Программное обеспечение может быть использовано в качестве вспомогательного инструмента разработки новых решений, а также в качестве отладчика уже существующих продуктов. Чаще всего Jenkins необходим для интеграции нескольких компонентов в единое решение. Язык, на котором спроектирован Jenkins — Java.

Принцип работы

Во время создания программного обеспечения образуется большое количество циклов разработки. Jenkins объединяет эти циклы в единое пространство для того, чтобы детальнее проводить корректировки. 

Плюсы использования

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

Jenkins — удобное многофункциональное решение для создателей программного обеспечения.