Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Douglas' Space

Open Architecture 본문

Computing Tech. Diary/Computing Buzzwords

Open Architecture

똘키아빠 2022. 7. 24. 14:27
Open Architecture라는 말은 많이 들어 보셨을 것입니다. 일반적으로 software system의 구조, 즉 software architecture의 한 유형을 표현하는 용어입니다. 보통 소프트웨어에서 Open이라는 용어가 사용되면 Open Source Software와 혼동하는 경우가 많아서 오늘은 Open Architecture란 무엇인가 이것이 갖는 의미가 무엇인지 알아 보도록 하겠습니다. 
Open Architecture는 software architecture 중에  technology architecture에 적용되는 용어입니다. software architecure를 표현하는 가장 대표적인 방법 중에 하나가 아래의 그림과 같은  layered arcthiecture입니다. 이중 technology architecture는 응용 프로로그램으로 구성된 application architecture를 제외한 영역을 의미합니다. 따라서 보통 컴퓨터하드웨어 위에서 구동하는 운영체제와 운영체제와 응용프로그램 사이에 존재하여 응용프로그램들을 지원하는 미들웨어들이 technology architecutre를 구성한다고 할 수 있습니다.
 
 
이러한 의미에서 technology architecture를 solution architecture라고도 부릅니다. 특히 응용프로그램의 개발이 용이하도록 다양한 미들웨어들이 개발이 되면서 소프트웨어 시스템의 품질을 좌우하는 것이 바로 technology architecture가 되고 있습니다. (다양한 software framework 및 platform 들이 제공되어 응용 소프트웨어 개발을 지원하고 있음. 예-LINUX container 및 오케이스레이션 플랫폼, 그래픽 프레임워크, 인공지능 프레임워크, 로봇프레임워크, 빅데이타 플랫폼 및 관리 프레임워크 등등)
Open Architecture는 이러한 technology architecture를 구성하는 솔루션들을 특정 개인적인 조직의 기술을 이용하는 것이 아니라 표준으로 정의된 기술과  표준은 아니지만 de-facto 표준과 같이 일반적으로 많이 통용되는 기술로 구성된 구조를 의미합니다. 오늘날  open source 운동의 일환으로 탄생한 LINUX 운영체제를 기점으로 주로 open source 프로젝트에서 개발된 기술들이 Open Architecture로 각광을 받고 있지만 open source가 Open Architecture를 의미하는 것은 아닙니다.  
Open Architecture를 지향하는 이유는 재사용성, 확장성, 유지보수용이성 등 소프트웨어 품질을 높이고 나아가 개발생산성을 증대할 수 있기 때문입니다. 국방에서 가장 대표적인 예가 미해군의 Open Architecture 전략입니다. 특히 Aegis Modernization 프로그램을 통해  통해 이지스전투체계를 Open Architecture로 변경하여 체계의 품질과 생산성을 극대화한 것은 유명한 사례에 해당합니다. 아래 그림은 록히드마틴의 Open Architecture를 지향하는 이지스 전투체계의 layered architecture를 설명하는 그림입니다.
 
 
특히 레이시온의 줌발트(Zumbalt) 전투체계는 수 많은 LINUX 컴퓨팅노드와 가상화로 구현되어 해상에 떠다니는 데이터센터 (Floating Data Center)라고 할 정도의 최신의 Open Architecture로 구성되어 있습니다.  지난번 소개한 Anduril의 Lattice OS의 경우도 LINUX를 기반으로한 Open Architecture를 지향하여 체계의 확장성 및 체계간 상호운영성을 극대화하고자 하는 것을 알 수 있습니다.
software system architecture설계에서 Open Architecture의 적용은 필수입니다. 품질과 생산성을 좌우하는 매우 중요한 요소인 만큼 software architect들은 소프트에어 설계시 Open Architecture를 구성할 수 있는 기술들의 조사와 적용을 최우선으로 고려해야할 것입니다. 

'Computing Tech. Diary > Computing Buzzwords' 카테고리의 다른 글

Open Source Software의 힘  (2) 2022.08.25
Software Defined X  (0) 2022.08.16
In-Memory Computing  (0) 2022.06.13
Edge Computing  (0) 2022.06.08
OTA(Over-The-Air)  (0) 2022.06.04
Comments