Не бисте изградили небодер без архитекте. Ипак, сваког дана компаније граде софтвер без архитектонског надзора, стварајући структурно крхке системе.
Не бисте изградили небодер без архитекте.
Ниједан инвеститор не би посветио милионе у пројекат високе зграде и једноставно предао градитељима гомилу материјала са упутствима да „измисле успут". Постоје планови, структурни прорачуни, стандарди материјала, безбедносна разматрања и дугорочно планирање одржавања.
Ипак, сваког дана, компаније раде управо то са софтвером.
Видимо рекламе константно:
Изградите своју апликацију.
Генеришите своју платформу са вештачком интелигенцијом.
Покрените преко викенда.
И да будемо јасни, нема ништа инхерентно лоше у томе. Алати за брзи развоj и код генерисан вештачком интелигенцијом могу бити невероватно моћни. Они омогућавају идејама да се крећу брзо и прототиповима да постану стварност брже него икад раније.
Проблем није брзина.
Проблем је архитектура.
Када се софтвер генерише без искусног архитектонског надзора, оно што често добијете није кохерентан систем већ колекција скрипти које случајно раде заједно.
Функције су дуплиране на више места.
Логика валидације је написана на три различита начина.
Аутентификација је додата накнадно.
Пословна правила су расута по контролерима, сервисима и UI слојевима.
Ради. Док не престане да ради.
Без архитектонске контроле:
Систем може функционисати, али је структурно крхак.
Овде ризик постаје озбиљан.
Вештачка интелигенција може генерисати код. Може генерисати пуно кода. Али више кода не значи бољи софтвер.
Свака крајња тачка, свака дуплирана функција, свака неконзистентна путања валидације повећава оно што називамо безбедносним отиском.
Што је већа површина вашег система, то више постоји потенцијалних вектора напада.
Ако три модула имплементирају аутентификацију мало различито, сада имате три потенцијалне слабости уместо једног ојачаног, централно контролисаног механизма.
Ако се пословна правила понављају уместо да буду апстрахована, повећавате вероватноћу да ће један пут бити пропуштен током закрпљавања.
Мали, добро дизајниран систем има уску и одбрамбену површину напада.
Брзо склопљен систем без архитектонског управљања има широку и непредвидиву површину напада.
Хакерима није потребно да цео систем откаже.
Потребна им је само једна неконзистентност.
Софтверски архитекта не дизајнира само структуру. Они дизајнирају ограничења.
Они дефинишу:
Архитектура смањује дупликацију.
Архитектура смањује површину напада.
Архитектура смањује ризик.
И важно, архитектура чини употребу вештачке интелигенције сигурнијом.
Вештачка интелигенција је моћан алат када је вођена структурираним дизајном. Без структуре, она појачава неконзистентност у великој мери.
У Libertas Software Research Ltd, гледамо на софтвер на исти начин као што инжењери гледају на инфраструктуру.
Можете градити брзо.
Или можете градити исправно.
Најуспешније организације раде обоје, јер разумеју да брзина без структуре на крају коштаMore него што штеди.
Ако не бисте изградили небодер без архитекте,
немојте градити критичан софтвер без ње.
Ваша будућа скалабилност, одржљивост и безбедност зависе од тога.