1 of 25

Slide Notes

DownloadGo Live

«Проектирование сервиса-агрегатора для тату-бизнеса»

Published on May 24, 2023

No Description

PRESENTATION OUTLINE

«Проектирование сервиса-агрегатора для тату-бизнеса»

Работу выполнили: Сомов Д. И; Назипов Р. Р; Разаханова К. Р; Пирогов П. С.

В настоящее время татуировки становятся все более популярным способом самовыражения и индивидуальности.
Создание такого приложения позволит
упростить процесс поиска мастера, подбора индивидуального эскиза,
предоставит возможность предпросмотра татуировок на 3D-моделях
человеческого тела

Photo by ArtMarin.es

Цель исследования:

  • Спроектировать архитектуру проекта и построить прототип сервиса-агрегатора для тату-бизнеса.
Photo by Annie Spratt

Задачи исследования:

  • Проанализировать потенциальные архитектуры для реализации платформы-агрегатора тату-мастеров;
  • Разработать прототип архитектуры сервиса-агрегатора тату-мастеров;
  • Сформировать список выбранных технологий и выделить их преимущества;
Photo by Ralf Appelt

Критерии анализа:

  • Производительность
  • Затраты ресурсов
  • Легкость в понимании и написании
  • Способы масштабирования
  • Отказоустойчивость
  • Сложность в тестировании
  • Мониторинг

Плюсы микросервисной архитектуры:

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

Минусы микросервисной архитектуры:

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

Способы масштабирования:

  • Горизонтальное масштабирование: добавление новых экземпляров сервисов.
  • Вертикальное масштабирование: увеличение ресурсов (например, памяти или процессора) для каждого экземпляра сервиса.

Untitled Slide

Плюсы MVC

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

Минусы MVC

  • Усложнение архитектуры: необходимо разбить приложение на модель, представление и контроллер.
  • Усложнение разработки: необходимо разрабатывать и поддерживать три компонента.
  • Усложнение тестирования: необходимо тестировать каждый компонент отдельно.

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

Untitled Slide

Плюсы Clean Architecture:

  • Разделение ответственностей: каждый компонент выполняет свою четко определенную задачу.
  • Независимость от фреймворков и библиотек: архитектура не зависит от конкретных технологий.

Минусы Clean Architecture:

  • Усложнение архитектуры: необходимо разбить приложение на множество компонентов.
  • Усложнение разработки: необходимо разрабатывать и поддерживать множество компонентов.
  • Высокий уровень абстракции: архитектура может быть сложной для использования для новых разработчиков.
Photo by Leo Reynolds

Способы масштабирования:

  • Горизонтальное масштабирование: добавление новых экземпляров приложения.
  • Вертикальное масштабирование: увеличение ресурсов для каждого экземпляра приложения.

Тестирование:
Clean Architecture может быть сложен в тестировании, так как необходимо тестировать каждый компонент отдельно. Однако, использование современных инструментов и практик тестирования может упростить этот процесс.

Photo by C. Strife

Untitled Slide

Untitled Slide

Untitled Slide

Untitled Slide

Список используемых технологий

  • AWS Lambda - платформа бессерверных вычислений для выполнения кода без управления серверами
  • Google Cloud Functions - платформа бессерверных вычислений для выполнения кода без управления серверами на Google Cloud Platform
  • . Microsoft Azure Functions - платформа бессерверных вычислений для выполнения кода без управления серверами на Microsoft Azure
Photo by Trey Ratcliff

Преимущества выбранных технологий

  • AWS Lambda - позволяет выполнять код, не беспокоясь о серверах, масштабировании и доступности
  • Google Cloud Functions - позволяет легко создавать и развертывать приложения на Google Cloud Platform
  • Microsoft Azure Functions - позволяет создавать управляемые событиями приложения на Microsoft Azure
Photo by Razvan Chisu

Стратегия развития сервиса

  • Развитие продукта
  • Расширение клиентской базы
  • Оптимизация инфраструктуры
  • Развитие команды
  • Диверсификация продуктовой линейки
  • Постоянное изучение новых технологий и трендов

Вывод

  • Проанализировав несколько возможных архитектур веб-приложения, мы смогли выбрать оптимальный вариант, подходящий под требования технического задания. Фаворитом стала связка микросервисной и clean архитектур.
  • Результатом использования выбранных технологий и следования принципам выбранных архитектур станет масштабируемое, отказоустойчивое и производительное веб-приложение.