Модульная архитектура: как превратить фавелы в уютные коттеджи

8 комментариев
Модульная архитектура: как превратить фавелы в уютные коттеджи

Как упорядочить хаос с помощью модульной архитектуры, dev.by узнал у DevOps-инженера компании ISsoft Артёма Синицы.

Читать далее…

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

Почему на проектах лучше строить именно модульную архитектуру?

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

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

Какой у тебя опыт в ИT?

С двадцати лет я занимаюсь работой с инфраструктурами и их автоматизацией. В 2014 году я пришёл в компанию ISsoft инженером-программистом. И последние четыре года занимаюсь модным словом DevOps. По сути, я работаю над разворачиванием инфраструктур, автоматизацией внутренних процессов в команде и тем, что принято называть Continuous Integration и Continuous delivery.

Своими знаниями и опытом я поделюсь на конференции ISsoft Insights, которая пройдёт 2 июня в Минске. Расскажу, как наш отдел начинал строить модульную архитектуру облачной инфраструктуры, с какими вызовами мы сталкивались, какие практические задачи решали. А в результате: как мы смогли собрать законченные архитектурные модули, которые многократно облегчают старт любого проекта.

Есть ли ограничения для применения модульной архитектуры?

Модульные решения можно применять в разных сферах. Как доменная область, так и технологический стек проекта не имеют большого значения. Ограничения, конечно, есть, часто они связаны со специфическими требованиями к аппаратному обеспечению. Например, это может быть необходимость использования уникальных устройств, которые не являются частью облачных сервисов, поэтому модули применить невозможно. У нас был проект в аэрокосмической области, где, к сожалению, не удалось применить модульные наработки.

Какие знания требуются, чтобы разобраться в теме?

Нужны знания скорее широкие, чем глубокие. Нужно понимать, как работают операционные системы и облачные сервисы, представлять, как писать код, хотя бы на скриптовых языках (Python, JavaScript). Пригодится компетенция в IPA облачных сервисов и знания абстракций, IPA и элементов к этим абстракциям, нужно уметь уверенно всем этим оперировать.

Но не беспокойтесь. С помощью лего и котиков я постараюсь сделать скучную тему, которая в реальности выглядит как множество скриптов и конфигурационных файлов, понятной каждому.

Насколько универсальны решения, о которых ты говоришь?

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

В работе я фокусируюсь на облачной платформе Amazon Cloud, обоснованно считая её технологическим лидером. В нашем случает охват Amazon платформы можно назвать не полным, потому что там больше 100 сервисов, из которых 30% покрывают 80% наших задач.

Мы планируем сделать решение кроссплатформенным, чтобы получалась более высокоуровневая абстракция, для возможности разворачивания и использования её на любом облаке.

Кому в команде необходимо знать про модульную архитектуру?

BackEnd, DevOps специалистам. А ещё архитекторам, если они есть.

Что бы ты хотел донести своим докладом аудитории?

Наверное, самым ценным выводом будет то, что облака на данный момент — это уже не такая простая и «монолитная» штука, в которой достаточно просто нажать на кнопку, чтобы всё работало. На самом деле облако само по себе внутри весьма сложное. Оно требует внимательного планирования, осознанного подхода перед использованием. Не побоюсь этого слова — создания архитектуры.

Эта публикация подготовлена в партнёрстве с ISsoft

 

Что такое партнёрский материал?

 

Иностранное производственное унитарное предприятие «ИССОФТ СОЛЮШЕНЗ»
УНП 190819327 

Хотите сообщить важную новость?

Пишите в наш Телеграм

Горячие события

GoWayFest 4.0 Online Edition Conference
11 июля — 12 июля

GoWayFest 4.0 Online Edition Conference

Минск

Читайте также

Главные анонсы конференции Microsoft Build 2020
Главные анонсы конференции Microsoft Build 2020

Главные анонсы конференции Microsoft Build 2020

Microsoft отменила все офлайн-мероприятия до июля 2021 года
Microsoft отменила все офлайн-мероприятия до июля 2021 года

Microsoft отменила все офлайн-мероприятия до июля 2021 года

EMERGE в этом году пройдёт в онлайн-формате
EMERGE в этом году пройдёт в онлайн-формате

EMERGE в этом году пройдёт в онлайн-формате

Microsoft и Google переносят конференции «в онлайн» из-за коронавируса
Microsoft и Google переносят конференции «в онлайн» из-за коронавируса

Microsoft и Google переносят конференции «в онлайн» из-за коронавируса

Обсуждение

Evgeny Svirsky
Evgeny Svirsky Employee в Funler
1

Работал с ним. Чёткий чувак :).

Anonymous
Anonymous
3

Чоткий и ровный ?

Evgeny Svirsky
Evgeny Svirsky Employee в Funler
3

именно :)

Ivan Padabed
Ivan Padabed Technical Fellow в Awem Games
2

Звучит неплохо, только непонятно почему все на Indian Pale Ale налегает, постоянно IPA везде упоминается. А если я больше темное люблю, мне уже никак в облака что-ли?

0

Неа никак :)

Anonymous
Anonymous
1

> представлять, как писать код, хотя бы на скриптовых языках (Python, JavaScript).
ИМХО, JavaScript уже давно больше, чем скрипт и язык, и слово "хотя бы" к представлению как на нём писать - удивляет.

1

Тут немного кривовато выразился, смысл в том что нужно JavaScript уметь использовать хотя бы на начальном скриптовом уровне. ООП и многопоточность не обязательно.

Anonymous
Anonymous
0

Для таких целей может лучше TypeScript - меньше ошибок будет, а сам язык становится мэйнстримным.

Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже