본문 바로가기

SW아키텍처2

[소프트웨어 아키텍처 101] Ch. 7 아키텍처 특성 범위 소프트웨어 아키텍처 세계에서는 전통적으로 아키텍처 특성의 범위를 시스템 레벨에 두는 것을 당연시했다. 예를 들어, 아키텍트가 확장성을 논할 때에는 일반적으로 전체 시스템의 확장성을 가리키는 것이다. 10년 전까지만 해도 거의 모든 시스템은 모놀리식이었으니 이것은 안전한 전제였지만, 현대적인 공학 기술의 등장과 마이크로서비스 등의 아키텍처 스타일이 가능해지면서 아키텍처 특성의 범위는 상당히 좁혀졌다. 이렇듯 소프트웨어 개발 생태계가 무서운 속도로 진화를 거듭하면서 기존에 당연하게 여겼던 공식도 서서히 퇴물로 전락하고 있다. 우리가 앞에서 살펴보았던 다양한 메트릭들은 사실 모두 코드에 관한 저수준의 세부만 밝힐 뿐, (특히 운영과 관련된) 아키텍처 특성에 영향을 미치는, (데이터베이스 같은) 코드베이스 외부.. 2024. 1. 11.
[소프트웨어 아키텍처 101] Ch.6 아키텍처 특성의 측정 및 거버넌스 1. 아키텍처 특성 측정 아키텍처 특성을 정의할 때 흔히 발생하는 문제들 물리학이 아니다 : 아키텍처 특성의 대부분은 의미가 모호하다. 정의가 너무 다양하다 : 부서마다 정의를 통일하기 전까지는 원활한 소통이 어렵다. 너무 복합적이다 : 바람직한 아키텍처 특성은 대부분 더 작은 다른 여러 특성들로 구성된다. 이 세 가지 문제는 아키텍처 특성을 객관적으로 정의하면 모두 해결된다. 1.1 운영적 측정 아키텍처 특성은 성능, 확장성처럼 비교적 정확하게 측정할 수 있는 것도 많지만, 팀 목표에 따라 그에 다른 해석은 미묘하게 갈릴 때가 많다. 성능의 여러 가지 맛 대부분의 프로젝트는 (웹 애플리케이션의 요청/응답 시간을 재는 것처럼) 일반적인 성능을 살펴보지만, 아키텍트와 데브옵스 엔지니어는 성능 예산을 책정하.. 2024. 1. 11.