Основные системы программной архитектуры

Концепции DevOps

Cem Sakarya

DevOps Risk Advisor

Программная архитектура

 

Программная архитектура — это фундаментальные структуры программной системы и дисциплина их создания. Каждая структура включает программные элементы, связи между ними и свойства как элементов, так и связей.

Архитектурный чертёж

1 https://en.wikipedia.org/wiki/Software_architecture
Концепции DevOps

Программные интерфейсы приложений (API)

 

Программные интерфейсы (API)

  • Данные передаются через API
  • API необходимы для программного обеспечения и архитектуры
Концепции DevOps

Различные архитектурные системы

Факторы для анализа

  • Тип программного обеспечения
  • Локальное или браузерное приложение
  • Сложность программного обеспечения
  • Простые части можно рассматривать как единое целое
  • Для более сложного ПО части следует разделять
Концепции DevOps

Микросервисы

Большой куб и группа кубов меньшего размера, символизирующих микросервисы.

  • Важнейшая архитектурная система для сложного ПО
  • Широко применяется в современных организациях
  • Вместо одного большого монолита — множество небольших независимых блоков
  • Такие блоки называются микросервисами
  • Они взаимодействуют друг с другом через API
Концепции DevOps

Клиент взаимодействует с приложением, запрашивая доступные варианты отелей и автомобилей.

Концепции DevOps

  Приложение на телефоне клиента запрашивает у бэкенда доступные варианты бронирования.

Концепции DevOps

  Микросервисы «Отели» и «Прокат автомобилей» возвращают данные в приложение на телефоне клиента.

Концепции DevOps

DevOps для микросервисной архитектуры

Микросервис «Отели» обновляется с версии 1 до версии 2, остальные микросервисы остаются без изменений.

Концепции DevOps

Преимущества DevOps для микросервисов

  • В крупных организациях ПО обновляется постоянно
  • Изменения вносятся поочерёдно
  • Микросервисы обеспечивают большую надёжность и безопасность
  • Сбой одного микросервиса не влияет на работу остальных
Концепции DevOps

Давайте потренируемся!

Концепции DevOps

Preparing Video For Download...