Search
Duplicate
🕒

15. 아키텍처란?

: 소프트웨어 아키텍처란 프로그래머이며 앞으로도 계속 프로그래머일 것이다.
: 소프트웨어 시스템의 아키텍처란 시스템을 구축했던 사람들이 만들어낸 시스템의 형태
: 보통 개발자는 소프트웨어 아키텍처의 목표가 시스템을 제대로 동작하는 데 의의가 있을 것이라고 생각하겠지만 시스템 동작 여부와는 관련이 없다.
: 형편없는 아키텍처를 갖춘 시스템도 수없이 많지만 그런대로 잘 동작한다. 이러한 시스템은 대체로 운영에서 문제를 겪지 않는다. 운영보단 배포 유지보수 계속되는 개발 과정에서 문제가 발생한다.
: 아키텍처의 주된 목적은 시스템의 생명주기를 지원하는 것이다. 좋은 아키텍처는 시스템을 쉽게 위해하고 개발하며 쉽게 유지보수하며 쉽게 배포하게 해준다.

개발

: 개발하기 힘든 시스템이라면 수명이 길지도 않고 건강하지도 않다, 따라서 시스템 아키텍처는 개발팀이 시스템을 쉽게 개발할 수 있도록 만들어야만 한다.

배포

: 소프트웨어 시스템이 사용되려면 반드시 배포할 수 있어야하며 배포 비용이 높을수록 시스템의 유용성은 떨어진다.
: 아키텍처의 배포 문제를 초기에 고려하지 않는다면 추후에 배포과정에서 문제가 발생할 수 있다.

운영

: 개발, 배포, 유지보수에 비해 미치는 영향은 덜하다, 운영에서 겪는 대다수의 어려움은 소프트웨어 아키텍처에는 극적인 영향을 주지 않고도 단순히 하드웨어를 더 투입해 변경할 수 있다.