Найти тему
HowToSchool

SD-EP5: Технологический стек препродакшена против продакшена

Препродакшен (этап разработки):

  • Описание API — инструменты, которые нам могут помочь, Postman или Swagger.
  • Разработка — React или Vue.js со стороны фронтенда и java/python/go со стороны бэкэнда. При использовании шлюза API его нужно конфигурировать в процессе изменений в описании API.
  • Непрерывная интеграция — Travis и Jenkins помогут с автоматизированным тестированием. После код будет упакован в образ Docker и развернут в песочнице.

Продакшен:

  • NGinx — с помощью него организуем балансировщик нагрузки. Cloudflare/VK Cloud предоставляют CDN (сеть доставки контента).
  • Шлюз API. Мы можем использовать сервисы AWS/Yandex для шлюза, а также Eureka/Zookeeper для обнаружения сервисов.
  • Микросервисы развернуты в облаке. У нас есть варианты среди AWS, Microsoft Azure, Google, Yandex и VK.
  • Кэширование и полнотекстовый поиск. Redis часто используется для кэширования пар ключ-значение. ElasticSearch используется для полнотекстового поиска.
  • Связь между сервисами. Чтобы сервисы могли общаться друг с другом, мы можем использовать инфраструктуру обмена сообщениями Kafka или RPC.
  • Хранилище. Мы можем использовать MySQL или PostgreSQL для реляционной базы данных и Amazon S3/VK Cloud Storage для хранилища объектов.
  • Управление и мониторинг. Чтобы управлять таким количеством микросервисов, нам могут понадобиться Prometheus, Elastic Stack и Kubernetes.