Эйч
Эйч
  • Все менторы
Задачи/DevOps-инженер/Подробная архитектура инфрастуктуры сервиса \- аналога Dropbox

Подробная архитектура инфрастуктуры сервиса \- аналога Dropbox

Условие задачи

Некоторая компания разрабатывает альтернативу DropBox. Приложение предназначено для пользователей по всему миру (Европа, США, Азия и др.). Приложение состоит из нескольких микросервисов, каждый из которых отвечает за конкретную функциональность (например: микросервис оплаты, микросервис работы с пользователями, микросервис работы с файлами и др.). Приложение использует базу данных PostgreSQL, хранилище файлов (S3-compatible) и очередь сообщений для коммуникации между микросервисами. Проект разрабатывался только локально и на данный момент не развернут ни в каком окружении. Разработчики передали вам репозиторий проекта, в котором:

  • 10 директорий, каждая содержит исходный код отдельного микросервиса и Dockerfile для его сборки.
  • docker-compose.yml файл в корне репозитория, используемый разработчиками для запуска проекта в локальном окружении (10 микросервисов, PostgreSQL, очередь сообщений и S3-compatible хранилище).

Основные нефункциональные требования от бизнеса:

  1. Высокая доступность (High Availability):
  • Требуемый SLA — не ниже 99.99%.
  1. Толерантность к нагрузке:
  • Система должна выдерживать постоянную высокую нагрузку (high load tolerance).
  • Система должна выдерживать высокую пиковую нагрузку (peak load tolerance).
  1. Минимальная задержка (Latency):
  • Минимальная задержка должна обеспечиваться как внутри одного региона, так и при работе пользователей из разных регионов.
  1. Безопасность и конфиденциальность данных пользователей:
  • Данные должны быть защищены от несанкционированного доступа.
  1. Минимизация расходов на инфраструктуру:
  • Решение должно быть экономически эффективным, избегать избыточных расходов.
  1. Failover и Disaster Recovery:
  • При отказе целого датацентра или региона пользователи не должны заметить потерю функциональности или данных.

Вы - руководитель DevOps команды и от вас требуется:

  1. Дизайн Production-инфраструктуры:
    • Предложите подробную архитектуру инфраструктуры для production-окружения с учетом всех перечисленных нефункциональных требований.
    • Явно укажите используемые облачные сервисы, инструменты и подходы.
  2. Дизайн Staging-инфраструктуры:
    • Предложите дизайн staging-окружения, максимально приближенного к production, но значительно более экономичного по стоимости.
    • Опишите, что именно и почему вы упростите или исключите из staging-окружения для снижения расходов.
  3. Управление инфраструктурой:
    • Предложите подход который будете использовать для управления и развёртывания инфраструктуры.
  4. Обратная связь:
    • Опишите инструменты и подходы, которые будете использовать для того, чтобы разработчики и бизнес могли "видеть" как приложение работает в том или ином окружении, чтобы можно было принять меры по улучшению работы приложения, если это потребуется.
  5. Произвидительность приложения:
    • Опишите подходы и критерии оценки производительности приложения, которые помогут оптимально использовать ресурсы серверов.
    • Предложите подходы к минимизации задержки при работе с файлами.

Профессия

DevOps-инженер

Сопроводим до оффера

Умножим шансы на каждом этапе поиска и поможем получить выгодный оффер

Узнать больше

Сервис развития карьеры

Контактыteam@h.careers@hcareers
TelegramVKYouTubeLinkedIn
Профессии
Компания
С чем помогаемОтзывыВопросы и ответыСертификатыВебинарыСтать ментором

Платформа принадлежит ООО "Эйч Карьера"
ИНН 9710095807 ОГРН 1227700077340
Адрес: 127006, город Москва, Старопименовский пер, д. 18 стр. 2, помещ./ком./этаж I/19/2

Copyright © 2020-2025 Сервис развития карьеры Эйч. Все права защищены.

Политика конфиденциальностиПользовательское соглашениеОферта