Този сайт използва бисквитки (cookies). Ако желаете можете да научите повече тук. Разбрах
IDG  •  PC World  •  Computerworld  •  CIO  •  CFO  •  Networkworld  •  Дискусии  •  Кариерна зона  •  Събития
COMPUTERWORLD | Софтуер
28 ное
2017
 
 

Архитектурата за микроуслуги измества монолитните приложения

Микрокомпонентната технология е метод за разработване на софтуерни приложения като набор от независими една от друга системи с обща цел

2848 прочитания

Иван Гайдаров

API икономиката (отваряне на интерфейсите на вътрешните системи на едно приложение към външния свят с бизнес цели) набира все по-голяма популярност, а покрай нея се чува все по-често и за Microservice архитектурата за микроуслуги за създаване на приложения. Терминът "Microservice" обаче е много объркващ и неточен, защото в крайна сметка става дума не за архитектура, насочена към микроуслуги, а за такава, изградена от микрокомпоненти. Това обясни по време на своята презентация в рамките на конференцията “IT Compass - тенденции, технологии, решения”, Горан Ангелов, управител на IBS България.

Горан Ангелов, управител на IBS България

По същество архитектурата за микроуслуги е метод за разработване на софтуерни приложения като набор от независими един от друг компоненти, всеки от които се разгръща автономно и извършва свои собствени процеси, като всички отделни микромодули работят в една и съща посока за постигането на определена цел.

Архитектурата "Microservice" се базира на отделни малки компоненти, които изграждат едно цялостно решение. Например имате приложение за електронна поща. Ако то е базирано на тази технология, компонентът за регистрация и дерегистрация на потребителите би бил отделно приложение, което си комуникира с други такива, за да даде необходимата обща функционалност. Тази материя обаче остава малко позната, защото извън средата за тестове и разработка монолитните и компонентните приложения се презентират по абсолютно един и същ начин”, обърна внимание Горан Ангелов.

Основната особеност на приложенията, които използват Microservice архитектура, е, че техните компоненти, освен собствени процеси на работа, имат и собствени бази данни, от които черпят информация.

“Microservice архитектурата е свързана с капсулирането на компонентите в отделни малки приложения в рамките на цялостния продукт. Става дума за капсулиране и на бизнес логиката, и на данните. При монолитното приложение се използва една голяма база данни и всеки модул си взима каквото му трябва. При Microservice всеки компонент трябва да използва своята част от данните, за да бъде наистина независим от останалите модули”, коментира Валентин Христов, софтуерен архитект в IBS.

Тази технология за създаване на приложения и нейните отделни компоненти могат да използват всеки програмен език и всяка база данни, като си комуникират с околния свят и помежду си с помощта на стандартен интерфейс. Основните предимства на архитектурата, базирана на микроуслуги, са гъвкавост при скалируемост (оптимално използване на хардуерните ресурси, защото може да се скалира точно определен елемент), значителна гъвкавост на разгръщането (може да бъде разгърнат само определен компонент, без да се налага да се пипат останалите). Ако приложението е монолитно, въвеждането на нова функционалност е свързано с използването на технологичния стек, с което е направено то в началото, а това често е проблем при по-стари софтуери.

“При едно стандартно монолитно приложение обикновено имаме бизнес логика, база данни и презентационен слой. Ако трябва да нанесем и най-малката промяна, трябва да тестваме цялото приложение, което отнема време и ресурси. Microservice архитектурата ни дава значително предимство в това отношение. Тя разбива отделните модули на голямото приложение на микрокомпоненти, които могат да бъдат тествани независимо един от друг, и ако има нужда от промени, те могат да бъдат нанесени само в тези модули, в които трябва”, коментира още Валентин Христов. Той добави, че комуникацията при микроуслугите трябва да бъде асинхронна и да се използват публични абонантни модели, когато един компонент трябва да комуникира с няколко други, а за директна комуникация да се разчита на олекотени протоколи.

Друго предимство на микрокомпонентите пред монолитната структура е възможността те да бъдат изграждани от малки екипи, което е от особено значение за стартиращите компании.

Преминаването към този тип структура обаче има своите правила и невинаги е възможно. Подобно решение не трябва да се взима с лека ръка без предварителен анализ, защото, ако компанията разполага със стари системи, които са много големи, пренаписването им ще изисква изключително сериозен ресурс. Голямо предизвикателство е и промяната на модела на пакетиране на данните и логиката на микроуслугите. Затова е задължително наличието на devops среда. Друг проблем може да е забавянето, когато различните микрокомпоненти географски са разположени на голямо разстояние един от друг. Не на последно място, трудност представлява и мониторинга на всички отделни части, тъй като всяка от тях има свои данни и комуникацията е изключително динамична.

Като цяло микрокомпонентната архитектура не е нещо ново. Нови са обаче темповете на развитие, които тя набира в последно време. Microservice архитектурата започва да се налага, защото вече имаме всички предпоставки да се използва ефективно – мрежите достигнаха зрял етап от своето развитие и осигуряват прозрачност на връзките между софтуерните компоненти, има методологии, инструменти, протоколи за лесна комуникация, лесно управление на инфраструктурата и т.н. За да се използват нейните възможности в целия им обем обаче, трябва да се спазват множесто правила. Едно от най-важните е, че отделните компоненти трябва да са така изградени, че при проблем и вдигане на нова инстанция, това да не се отразява върху приложението и потребителят да има възможност да продължи работата си”, съветва Валентин Христов.

НАЙ-НОВИ НАЙ-ЧЕТЕНИ ПРЕПОРЪЧАНИ
Интервю

Слайдшоу
ИНТЕРВЮ
Иван Георгиев, Kaufland Service: Развитието е ключово за бизнеса ниИван Георгиев, Kaufland Service: Развитието е ключово за бизнеса ни

Марката Кауфланд е позната у нас с веригата си от хипермаркети. Малцина обаче знаят, че от България се поддържат някои от нейните ключови системи, както и че тук се разработват перспективни технологии, които тепърва ще бъдат внедрявани в...

ПРИЛОЖЕНИЯ
АНКЕТА

Какво мислите за FireFox OS?

Информация за Вас