CI/CD-дағы архитектуралық тексерулер
O’Reilly-дің «Бағдарламалық архитектураға заманауи көзқарас: күрделі ымыраға келулер» (Нил Форд, Марк Ричардс) кітабын оқып жүрмін.
Есімде қалған басты ой: архитектура - бұл диаграммалар мен бір жолғы шешімдер емес, автоматты түрде тексерілуі тиіс ережелер.

Fitness functions
Авторлар архитектуралық тексерулерді CI/CD-ға тікелей енгізуді ұсынады - тесттер немесе security-сканерлер сияқты. Ережені бұздың - pipeline құлады. Қолмен бақылау жоқ, «кейін келісеміз» жоқ.
Кітаптағы мысалдар:
- API-ды тыныш бұзуға болмайды - контракт тексеру
- Домен мен инфрақұрылымды араластыруға болмайды - архитектуралық тесттер
- Продқа базалық дайындықсыз сервис шығаруға болмайды - автоматты gate
Авторлар бұл тәсілді fitness functions деп атайды - архитектуралық жарамдылық функциялары.
Қарапайым сұрақ
Осындай өзгерістерден кейін архитектура жақсара ма, әлде нашарлай ма?
Тәжірибеде автоматты архитектуралық тексерулерді шынымен енгізген командаларды аз кездестірдім. Әдетте бәрі «келісімдер» мен code review деңгейінде тоқтап қалады. Содан кейін бір жылдан соң микросервистердің ішінде монолит қайта өсіп кеткеніне таңдана береді.
Тәсіл күрделі, бірақ дұрыс. Егер CI/CD қауіпсіздік пен тест қамтуын тексере алса - архитектураны не үшін тексермеске?


