Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 21(65)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6

Библиографическое описание:
Киселев Д.О. ОБЛАЧНАЯ ИНФРАСТРУКТУРА КАК КОД НА ПРИМЕРЕ АРХИТЕКТУРЫ СИСТЕМЫ ДЛЯ АВТОМАТИЗАЦИИ КОНТРОЛЯ ДОСТУПА В SAP ERP // Студенческий: электрон. научн. журн. 2019. № 21(65). URL: https://sibac.info/journal/student/65/144942 (дата обращения: 29.03.2024).

ОБЛАЧНАЯ ИНФРАСТРУКТУРА КАК КОД НА ПРИМЕРЕ АРХИТЕКТУРЫ СИСТЕМЫ ДЛЯ АВТОМАТИЗАЦИИ КОНТРОЛЯ ДОСТУПА В SAP ERP

Киселев Дмитрий Олегович

магистрант, кафедра информатики, факультет Компьютерных систем и сетей, Белорусский государственный университет информатики и радиоэлектроники,

Республика Беларусь, г. Минск

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

 

Ключевые слова: автоматизация развертывания, облачная инфраструктура, инфраструктура как код.

 

Введение

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

Инфраструктура как код

Инфраструктура как код (Infrastructure as code, IaC) – это способ создания и управления ресурсами для центров хранения и обработки данных методом их описания в исходном коде. Данный подход приходит на замену настройке оборудования вручную, например, с помощью интерактивных инструментов, или путем написания скриптов автоматизации. При использовании IaC для описания инфраструктуры чаще всего используется декларативный язык, с помощью которого описываются ресурсы, используемые системой. Файлы, которые содержат описание, могут находится в системе контроля версий, для осуществления проверки перед использованием, а также, чтобы иметь историю изменений, как и в случае с обычным кодом. Подходы IaC очень популярны при использования облачных ресурсов, распространяемых по следующим моделям:

  • Программное обеспечение как услуга (Software as a Service, SaaS).
  • Платформа как услуга (Platform as a Service, PaaS).
  • Инфраструктура как услуга (Infrastructure as a Service, IaaS).

IaC предоставляет следующие преимущества:

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

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

Система для автоматизации контроля доступа в SAP ERP

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

  • Azure App Service – сервис для хостинга приложений, который используется для размещения API-сервисов системы.
  • Azure Batch – автоматически масштабирующийся сервис для обработки ресурсоемких задач, используется для параллельной обработки данных пользователей.
  • Azure Storage – облачное хранилище, которое используется для хранения файлов пользователей.
  • Azure SQL – облачная база данных, которая используется для хранения данных пользователей.
  • AWS S3 – облачное хранилище, хранящее данные для онлайн отчетов.
  • AWS Redshift – хранилище данных для интерактивной аналитической обработки, которая в качестве источника использует AWS S3.

Схема архитектуры представлена на рисунке 1.

 

Рисунок 1. Архитектура системы для автоматизации контроля доступа в SAP

 

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

Terraform

Решением проблемы стало использование программного инструмента Terraform. Terraform позволяет безопасно и предсказуемо создавать, изменять, и улучшать инфраструктуру. Это инструмент с открытым исходным кодом, который описывает API-интерфейсы в декларативных файлах конфигурации, которые могут совместно использоваться членами команды, редактироваться, проверяться и корректироваться. Terraform имеет понятие файла состояния, который хранит настройки для всех ресурсов, которые управляются им. Это позволяет отображать планируемые изменения инфраструктуры на основе предыдущего состояния, не изменяя ее. Terraform предоставляет библиотеки для управления большинством сервисов многих крупных поставщиков облачных решений, таких как Amazon Web Services, Google Cloud Platform, Microsoft Azure, OpenStack, Heroku, CloudFlare, Yandex.Cloud и многих других.

Для упрощения развертывания были использованы библиотеки для облаков Azure и AWS. Данное решение помогло описать используемые ресурсы в декларативном стиле, и, в последствии, использовать для создания новых окружений без особых сложностей. Описание каждого ресурса создавалось в отдельном файле на языке конфигураций HCL. Так же была использована система контроля версий GIT, что позволяет видеть изменения в инфраструктуре.

 

Список литературы:

  1. Infrastructure as code [Электронный ресурс]. – Режим доступа: https://en.wikipedia.org/wiki/Infrastructure_as_code (дата обращения: 01.06.2019)
  2. Terraform Documentation [Электронный ресурс]. – Режим доступа: https://www.terraform.io/docs/index.html (дата обращения: 01.06.2019)
  3. Terraform on Azure documentation [Электронный ресурс]. – Режим доступа: https://docs.microsoft.com/en-us/azure/terraform/ (дата обращения: 01.06.2019)
  4. Infrastructure as code: What is it? Why is it important? [Электронный ресурс]. – Режим доступа: https://www.hashicorp.com/resources/what-is-infrastructure-as-code (дата обращения: 01.06.2019)

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.