imjihye***
2023-09-24

새로운 시대, 애자일을 넘어선 진화적 소프트웨어 개발의 부상. 소프트웨어 개발 생태계에 혁신을 가져올 진화적 아키텍처
지난 번 닐 포드의 ‘소프트웨어 아키텍처 The hard Parts’를 읽은 이후 그의 다른 책인 ‘진화적 아키텍처’를 읽게 되었다. 이번 역시 개념이 어렵다고 느꼈으나 페르소나와 구체적인 상황을 정의하여 설명하는 방식으로 비교적 쉽게 이해할 수 있었다.
이 책의 주된 내용은 진화적 아키텍처의 개념과 그 당위성, 이를 실현하기 위한 방법이다. 1부에서 진화적 아키텍처와 관련한 메커니즘과 엔지니어링 사례를 정의하며, 진행 시 필요한 기술과 도구, 범주 등을 설명한다.
2부에서는 구조 설계와 진화와 거버넌스 효과에 대해 설명한다. 기존의 아키텍처의 개념에서 조금 더 현대화된 IT 생리가 담겨있다고 볼 수 있다.
책에서는 진화적 아키텍처가 등장하게 된 배경을 개괄적으로 설명한다. 그 중 한 이유는 데브옵스 도구의 등장이었다.
퍼펫, 셰프 등의 데브옵스 도구가 머신 프로비저닝을 자동화하며 리눅스의 운영적 비용도 완전히 사라졌다고 한다.
이 툴의 존재에 대해 처음 알게 되었으나 아키텍트의 진화에 도움이 된 만큼 짚고 넘어가면 좋을 것 같다.
피트니스 함수란 예상 설계 솔루션의 설정 목표 달성도를 간단하게 확인할 수 있는 목적 함수다. 진화적 컴퓨팅에서 피트니스 함수는 대상 알고리즘 시간이 지남에 따라 얼마나 개선되었는지를 나타낸다. 다시 말해, 피트니스 함수는 변형 알고리즘이 생성될 때마다 알고리즘 설계자가 정의한 ‘적합성’에 근거해 각 변형이 얼마나 ‘적합한가’를 판단한다. 진화를 보호할 아키텍처 특성을 아키텍트가 정의하면, 그에 따라 각 기능을 보호할 피트니스 함수가 하나 이상 정의된다.
30쪽, 진화적 아키텍처.
지난 번 책과 동일하게 피트니스 함수의 역할을 강조했다. 아키텍트를 수치화하여 객관적으로 적합성을 검증할 수 있는 도구이므로 이 개념은 꼭 숙지하고 가야할 것 같다.
공식 웹 사이트 ( https://evolutionaryarchitecture.com )
책과 관련한 공식 웹사이트를 운영하고 있다고 한다. 저자들이 직접 만든 참고 자료와 강연을 제공한다.
cloudshadow@gmail.com
또, 기술적인 궁금증이 있거나 코드 예제에서 오류가 발생한 경우 문의 또한 넣을 수 있다고 한다.
아키텍트의 역할에 관심이 있는 이들은 물론, 컨설턴트와 개발자가 읽어도 실무를 진행하는데 있어 큰 도움이 될 것이다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."