2.4.1 하나의 제품, 여러 플랫폼
오늘날 애플리케이션은 대부분 여러 플랫폼에서 실행됩니다. 여기에는 모바일 운영 체제인 iOS와 안드로이드, 데스크톱 운영 체제인 맥과 윈도우 등이 포함됩니다. 웹 브라우저를 목표로 개발하는 방법도 있지만, 웹 브라우저마다 동작이 다르고 모바일과 데스크톱 간에도 차이가 있기 때문에 그리 유용하지는 않습니다.
이와 유사한 내용이 서비스에도 적용됩니다. 한 클라우드 제공 업체에서 운영할 때도 있지만, 대다수 서비스는 여러 클라우드 제공 업체에서 운영합니다. 여기에는 사설 클라우드와 공용 클라우드 조합을 이용하는 방법도 있으며, 이것으로 서비스 범위를 확장하고 비용을 줄이기도 합니다.
단일 시스템을 다양한 플랫폼에서 운영할 때 아키텍처 팀은 플랫폼 간에 공유되는 요소와 플랫폼별로 특화되는 요소 사이의 경계를 신중하게 결정해야 합니다. 이러한 결정은 아키텍처에 중요한 영향을 미치는 사항이며, 완벽한 정답이 있는 것이 아니므로 대부분 논쟁 거리가 됩니다.
이러한 상황에서 아키텍처 팀은 제품의 핵심 콘셉트를 구현하는 주요 로직을 식별하고 가능한 한 많은 플랫폼에서 이를 사용할 수 있도록 하면 좋습니다.