obit_admin

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 — тот случай, когда баланс и функциональность, простота и доступность, все, что любят пользователи, объединилось в одном продукте.

Выгрузка и загрузка баз 1С

Как сделать выгрузку базы 1С

Откройте программу 1С Предприятие и выберите нужную базу из списка.

Запустите 1С в режиме «Конфигуратор»

Выберите пользователя имеющего права администратора в базе, введите пароль, если требуется.

Нажмите «Администрирование», затем «Выгрузить информационную базу».

Выберите папку на диске, куда будет выгружена база, укажите имя файла и нажмите «Сохранить». Выгруженная база будет сохранена в формате *.dt

Как загрузить базу из файла

Вам понадобится существующая выгрузка базы в формате *.dt
Запустите программу 1С в режиме «Конфигуратор» под пользователем с правами администратора (см. инструкцию выше).

Нажмите «Администрирование», затем «Загрузить информационную базу».

Выберите файл выгрузки в формате .dt и нажмите «Открыть».

В появившемся окне с предупреждением нажмите «Да».

После завершения загрузки в появившимся окне нажмите «Нет». Если вам необходимо вернуться в конфигуратор, то нажмите «Да».

Готово. Вы получили восстановленную базу из ранее выгруженной.

Введение 

Docker — инструмент управления процессами приложений в контейнерах. Контейнеры позволяют запускать приложения в изолированной среде и схожи с виртуальными машинами, но изолированные среды контейнеров более мобильные. Также, контейнеры более зависимые от действий оператора хоста. 

Для установки и использования Docker вам понадобятся:

  • Настроенный сервер Ubuntu 20.04
  • Учетная запись в Docker Hub, если вы хотите передавать созданные образы

Шаг 1 

Установите Docker из официального репозитория Ubuntu. Чтобы установить последнюю версию, добавьте ключ GPG из Docker, потом установите пакет.

sudo apt update 
sudo apt install apt-transport-https ca-certificates curl software-properties-common

Эти команды обновят все библиотеки и установят необходимые компоненты для работы с протоколом HTTPS

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Первая команда добавит ключ GPG из официального репозитория Docker, вторая команда добавляет Docker в источники APT.

apt-cache policy docker-ce

Данная команда помогает убедиться в актуальности и подлинности версии Docker.

Установка Docker:

sudo apt install docker-ce 

Теперь Docker установлен, проверьте работу:

sudo systemctl status docker

Если всё в порядке, то увидите следующее сообщение:

Output
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2020-05-19 17:00:41 UTC; 17s ago
TriggeredBy: docker.socket
Docs: https://docs.docker.com
Main PID: 24321 (dockerd)
Tasks: 8
Memory: 46.4M
CGroup: /system.slice/docker.service
   └─24321 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Шаг 2 

По умолчанию команда docker может быть запущена только пользователем root или пользователем в группе docker, которая автоматически создается в процессе установки Docker.Если вы попытаетесь запустить команду docker без префикса sudo или не находясь в группе docker, вы получите такой вывод:

Output
docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See 'docker run --help'.

Если вы не хотите вводить sudo при каждом запуске команды docker, добавьте свое имя пользователя в группу docker:

sudo usermod -aG docker ${USER}

Чтобы применить новую конфигурацию в группе, выйдите из сервера и снова войдите или введите следующее:

su - ${USER}

Вам будет предложено ввести пароль пользователя, чтобы продолжить.

Подтвердите, что ваш пользователь теперь добавлен в группу докеров, набрав:

groups

Если вам нужно добавить пользователя в группу docker, под которым вы не вошли в систему, объявите это имя пользователя самостоятельно, используя:

sudo usermod -aG docker username

В оставшейся части этой статьи предполагается, что вы запускаете команду docker от имени пользователя в группе docker. Если вы решите этого не делать, добавьте к командам sudo.

Далее давайте рассмотрим команду docker.

Шаг 3 

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

docker [option] [command] [arguments]

Чтобы увидеть весь список команд:

docker
Output
  attach      Attach local standard input, output, and error streams to a running container
  build       Build an image from a Dockerfile
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  images      List images
  import      Import the contents from a tarball to create a filesystem image
  info        Display system-wide information
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  login       Log in to a Docker registry
  logout      Log out from a Docker registry
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  ps          List containers
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  run         Run a command in a new container
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  search      Search the Docker Hub for images
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes

Шаг 4

Контейнеры Docker создаются из образов Docker. По умолчанию Docker извлекает эти образы из Docker Hub, реестра Docker, которым управляет Docker, компания, стоящая за проектом Docker. Любой может разместить свои образы Docker на Docker Hub, поэтому образы большинства приложений и дистрибутивов Linux, которые вам понадобятся, будут размещены там.

Чтобы проверить, можете ли вы получить доступ и загрузить образы из Docker Hub, введите:

docker run hello-world
Output
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
Digest: sha256:6a65f928fb91fcfbc963f7aa6d57c8eeb426ad9a20c7ee045538ef34847f44f1
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

Первоначально Docker не смог найти образ hello-world локально, поэтому он загрузил образ из Docker Hub, который является репозиторием по умолчанию. После загрузки образа Docker создал контейнер из образа, и приложение внутри контейнера запустилось, отобразив сообщение. В официальном столбце OK указывает на образ, созданный и поддерживаемый компанией, стоящей за проектом. После того, как вы определили образ, который хотите использовать, вы можете загрузить его на свой компьютер с помощью подкоманды pull.

Выполните следующую команду, чтобы загрузить официальный образ Ubuntu на свой компьютер:

docker pull ubuntu

После загрузки образа вы можете запустить контейнер, используя загруженный образ с помощью подкоманды run. Как вы видели в примере с hello-world, если образ не был загружен, когда docker выполняется с командой run, клиент Docker сначала загружает образ, а затем запускает контейнер, используя его. 

Шаг 5 

Контейнер hello-world, который вы запустили на предыдущем шаге, является примером контейнера, который запускается и завершает работу после отправки тестового сообщения. Контейнеры могут быть гораздо полезнее, и они могут быть интерактивными. Ведь они похожи на виртуальные машины, только более ресурсоемкие.

В качестве примера давайте запустим контейнер, используя последний образ Ubuntu. Комбинация ключей -i и -t обеспечивает интерактивный доступ оболочки к контейнеру:

docker run -it ubuntu

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

Теперь вы можете запустить любую команду внутри контейнера. Например, давайте обновим базу данных пакетов внутри контейнера. Вам не нужно ставить перед какой-либо командой префикс sudo, потому что вы работаете внутри контейнера как пользователь root:

apt update
apt install nodejs
node -v

Шаг 6 

После некоторого использования Docker у вас будет много активных (работающих) и неактивных контейнеров на вашем компьютере. Для просмотра активных используйте:

docker ps

В этом руководстве вы запустили два контейнера; один из образа hello-world, а другой из образа ubuntu. Оба контейнера больше не работают, но они все еще существуют в вашей системе.

Чтобы просмотреть все контейнеры — активные и неактивные, запустите docker ps с ключом -a:

docker ps -a

Вы увидите вывод, похожий на этот:

1c08a7a0d0e4        ubuntu              "/bin/bash"         2 minutes ago       Exited (0) 8 seconds ago                       quizzical_mcnulty
a707221a5f6c        hello-world         "/hello"            6 minutes ago       Exited (0) 6 minutes ago                       youthful_curie

Чтобы просмотреть последний созданный вами контейнер, передайте ему ключ -l:

docker ps -l
Вывод:
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
1c08a7a0d0e4        ubuntu              "/bin/bash"         2 minutes ago       Exited (0) 40 seconds ago                       quizzical_mcnulty

Чтобы запустить остановленный контейнер, используйте docker start, за которым следует идентификатор контейнера или имя контейнера. Запустим контейнер на основе Ubuntu с идентификатором 1c08a7a0d0e4:

docker start 1c08a7a0d0e4
Output
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
1c08a7a0d0e4        ubuntu              "/bin/bash"         3 minutes ago       Up 5 seconds

Чтобы остановить работающий контейнер, используйте docker stop, а затем идентификатор или имя контейнера. На этот раз мы будем использовать имя, которое Docker присвоил контейнеру, — quizzical_mcnulty:

docker stop quizzical_mcnulty

Как только вы решили, что вам больше не нужен контейнер, удалите его с помощью команды docker rm, снова используя либо идентификатор контейнера, либо имя. Используйте команду docker ps -a, чтобы найти идентификатор или имя контейнера, связанного с образом hello-world, и удалить его.

docker rm youthful_curie

Вы можете запустить новый контейнер и дать ему имя с помощью переключателя —name. Вы также можете использовать параметр —rm для создания контейнера, который удаляет себя при остановке. Дополнительные сведения об этих и других параметрах см. в справочной команде docker run.

Шаг 7 

Когда вы запускаете образ Docker, вы можете создавать, изменять и удалять файлы так же, как на виртуальной машине. Вносимые вами изменения будут применяться только к этому контейнеру. Вы можете запускать и останавливать его, но как только вы уничтожите его с помощью команды docker rm, изменения будут потеряны навсегда. После установки Node.js внутри контейнера Ubuntu у вас теперь есть контейнер, работающий на основе образа, но контейнер отличается от образа, который вы использовали для его создания. Но вы, возможно, захотите повторно использовать этот контейнер Node.js в качестве основы для новых образов позже.

Затем зафиксируйте изменения в новом экземпляре образа Docker с помощью следующей команды:

docker commit -m "What you did to the image" -a "Author Name" container_id repository/new_image_name

Переключатель -m предназначен для сообщения фиксации, которое помогает вам и другим узнать, какие изменения вы внесли, а -a используется для указания автора. container_id — это тот, который вы отметили ранее в руководстве, когда запускали интерактивный сеанс Docker. Если вы не создали дополнительные репозитории в Docker Hub, репозиторий обычно является вашим именем пользователя Docker Hub.

Например, для пользователя sammy с идентификатором контейнера d9b100f2f636 команда будет выглядеть так:

docker commit -m "added Node.js" -a "sammy" d9b100f2f636 sammy/ubuntu-nodejs

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

Повторный просмотр образов Docker покажет новый образ, а также старый, из которого он был получен:

docker images
Output
REPOSITORY               TAG         IMAGE ID          CREATED        SIZE
sammy/ubuntu-nodejs     latest     7c1f35226ca6     7 seconds ago     179MB
...

В этом примере ubuntu-nodejs — это новый образ, созданный на основе существующего образа ubuntu из Docker Hub. Разница в размерах отражает внесенные изменения. И в этом примере изменение заключалось в том, что был установлен NodeJS. Поэтому в следующий раз, когда вам понадобится запустить контейнер с помощью Ubuntu с предустановленным NodeJS, вы можете просто использовать новый образ.

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

Шаг 8

Следующий логический шаг после создания нового образа из существующего — поделиться им с несколькими избранными друзьями, со всем миром в Docker Hub или в другом реестре Docker, к которому у вас есть доступ. Чтобы отправить образ в Docker Hub или любой другой реестр Docker, у вас должна быть там учетная запись.

В этом разделе показано, как отправить образ Docker в Docker Hub. Чтобы узнать, как создать собственный частный реестр Docker, ознакомьтесь со статьей Как настроить частный реестр Docker в Ubuntu 18.04.

Чтобы отправить образ, сначала войдите в Docker Hub:

docker login -u docker-registry-username

Затем вы можете отправить свой собственный образ, используя:

docker push docker-registry-username/docker-image-name

Чтобы отправить образ ubuntu-nodejs в репозиторий sammy, команда будет выглядеть так:

docker push sammy/ubuntu-nodejs

После отправки образа в реестр он должен быть указан на панели управления вашей учетной записи, как показано на изображении ниже:

Войдите в систему Docker. Затем убедитесь, что образ существует на странице репозитория Docker Hub.
Теперь вы можете использовать docker pull sammy/ubuntu-nodejs, чтобы перетащить образ на новую машину и использовать его для запуска нового контейнера.

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-м принципам. Первый: каждая нода (звено) обрабатывает запросы, но при отказе группы или одного звена, структура перераспределяется. Второй: должны присутствовать спящие ноды, которые начинают работу в случае отказа основных. Третий: звенья могут делегировать работу, если на систему оказывается большая нагрузка.