Внедрение ИТ-решения для крупного разработчика информационных систем
Аналитики получили задачу описать методы доступа к данным в S3-хранилище с frontend через backend-методы. В процессе исследования различных вариантов подхода было найдено альтернативное решение, которое не потребовало написания дополнительного программного кода.
Клиент
Клиент – крупный разработчик информационных систем.
Задачи
Бизнес-задачи проекта:
-
Сокращение издержек: за счет поиска альтернативного решения, не требующего программирования, удалось избежать дополнительных затрат на разработку и сопровождение кода.
-
Ускорение времени внедрения: найденное решение позволило сократить время реализации проекта, так как не потребовалось разрабатывать сложную серверную логику.
-
Повышение эффективности работы команды: были оптимизированы процессы взаимодействия между frontend и S3-хранилищем, что упростило доступ к данным и облегчило поддержку системы.
Задача в контексте разработки:
-
Описание методов доступа к данным: необходимо было разработать и документировать методы безопасного и эффективного доступа с frontend к данным, хранящимся в S3, через backend.
-
Исследование и выбор оптимального подхода: провести анализ возможных технических решений, чтобы предложить наилучший способ взаимодействия с S3, который соответствовал бы требованиям проекта и минимизировал использование серверных ресурсов.
Решение и реализация
Мы планировали описать методы взаимодействия между frontend и S3-хранилищем через backend, обеспечив безопасный доступ к данным и минимизируя сложность разработки. Основной задачей было создание архитектуры взаимодействия, которая могла бы быть легко интегрирована в существующую систему.
Какие гипотезы были
Гипотеза 1: Разработка backend API для обработки запросов от frontend и предоставления доступа к данным в S3 через авторизованные методы.
Гипотеза 2: Использование стандартных библиотек и инструментов, чтобы минимизировать необходимость создания сложных серверных решений.
Гипотеза 3: Возможность обойтись без программирования backend, используя встроенные возможности S3-хранилища и настройки доступа для управления запросами напрямую с frontend.
Почему решали эту задачу именно так
Решение задачи без программирования было выбрано для сокращения издержек и ускорения времени внедрения. Использование стандартных возможностей S3, таких как политики доступа и преднастроенные правила, позволило избежать сложной разработки и облегчить обслуживание системы в будущем. Это подход позволил сконцентрироваться на конфигурации и безопасности доступа без необходимости разрабатывать новые серверные компоненты.
Этапы, сроки, инструменты, числовые показатели
Анализ требований и возможностей — 3 дня:
Определение потребностей проекта. Исследование доступных инструментов для взаимодействия с S3. Выбор потенциальных подходов.
Реализация и настройка S3-хранилища — 1 день:
Настройка необходимых политик безопасности. Конфигурирование доступа для взаимодействия с frontend. Интеграция с существующей системой.
Тестирование — 2 дня.
Результаты
В результате выполнения задачи были достигнуты следующие цели:
1. Сокращение издержек: удалось избежать разработки и внедрения новых backend компонентов, что позволило сократить расходы на программирование и последующее обслуживание системы.
2. Ускорение внедрения: за счет использования встроенных возможностей S3-хранилища время реализации сократилось по сравнению с традиционным подходом создания backend API.
3. Оптимизация безопасности: найденное решение обеспечивает требуемый уровень безопасности для доступа к данным в S3.
4. Упрощение поддержки: решение, не требующее написания кода, упростило поддержку и администрирование системы, так как настройка политик доступа в S3 оказалась более гибкой и быстрой, чем настройка серверной логики.
5. Повышение эффективности команды: Упрощение процессов доступа к данным позволило команде сосредоточиться на других критически важных задачах проекта, что повысило общую продуктивность.
Итогом задачи стало успешное внедрение экономически выгодного и безопасного решения, которое полностью удовлетворяет потребностям бизнеса.
Технологии
- Nginx как reverse-proxy
- OpenStack Swift в качестве S3-хранилища
Трудности
Сложность получения информации о попытках доступа с frontend к несуществующим данным: в процессе настройки стало очевидно, что отслеживание запросов на несуществующие объекты в S3 требовало дополнительной конфигурации и мониторинга, так как стандартные инструменты не давали достаточной информации о таких попытках.
Тщательная настройка прав доступа к данным: обеспечение безопасности доступа с frontend потребовало глубокой настройки S3-политик и их многократной проверки, чтобы минимизировать уязвимости и защитить данные.