더북(TheBook)

기술, 통신, 구조 등에 관한 암묵적인 결정이 시스템 구조에 미치는 영향을 간과하기 쉽습니다. 한 예로 PC 시대에서 모바일 및 클라우드 시대로 바뀌면서 기존에 데스크톱 코드를 가지고 있던 기업들이 새로운 환경에 맞게 코드 베이스를 전환해야 했던 적이 있었습니다.

처음에는 이것을 단순한 포팅(porting)4 문제로 여겼을 것입니다. 즉, 새로운 CPU 아키텍처에서 기존 코드를 동작하게 하거나 다른 운영 체제에 맞게 조정해야 하는 문제로 보였을 것입니다. 물론 이러한 코드 변경이 쉬운 일은 아니지만, 그렇다고 결코 불가능한 일도 아닙니다. 기업 중 상당수는 이미 과거에 윈도우에서 맥으로 코드를 전환하는 것과 유사한 포팅 작업을 여러 번 하기도 했을 것입니다.

하지만 데스크톱 애플리케이션 대부분의 기본 구조는 단순히 CPU 명령어 집합이나 운영 체제만 고려해서 만들지 않습니다. 예를 들어 데스크톱 애플리케이션은 빠르고 안정적인 로컬 디스크에 언제든 접근할 수 있다는 가정하에 만듭니다. 이는 매우 기본적인 사항이기 때문에 대부분 아키텍트가 언급조차 하지 않았을 것입니다. 또 고려할 수 있는 다른 옵션 자체가 없었기에 굳이 말할 필요가 없었을 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.