NFV의 등장과 TOSCA
안녕하세요,
오늘은 현재 네트워크 환경의 문제인 인프라 확장 이슈를 해결하기 위한 네트워크 기능 가상화(NFV : Network Functions Virtualization)에 대한 설명을 드렸었던 지난 시간에 이어, NFV를 실제로 구현하는 언어인 TOSCA에 대해서 설명을 드리려고 합니다.
NFV에 대해서 궁금하시거나 내용을 보고 싶은 분들이라면 지난 글을 참조해주세요.
TOCSA 모델링 언어란 무엇일까?
TOSCA(Topology and Orchestration Specification for Cloud Applications)는 용어 설명에서 볼수 있는 것처럼, 클라우드의 토폴로지에 대한 설명을 명세하기 위하여 표준화기구인 OASIS(Organization for the Advancement of Structured Information Standards)에서 제정한 표준 언어입니다.
클라우드 컴퓨팅은 어플리케이션 서비스들에 대해서 자동적으로 모든 라이프 사이클에 대한 정의가 가능하다면
더욱 활용적일 수 있습니다.
TOSCA는 서비스 토폴로지를 사용하여, 서비스 컴포넌트에 대한 정의와 각 컴포넌트에 대한 관계 정의를 제공하며, 서비스 생성 및 수정에 대한 관리의 처리 과정을 통합적인 프로세스를 이용해서 나타낼 수 있습니다.
또한 서비스들을 관리하는 방법 뿐 아니라 서비스의 구조에 대한 것들도 정의할 수 있는 메타모델을 정의할 수 있게 해주는 것이 TOSCA입니다.
아래 그림과 글에서 간단히 설명드려 볼게요.
TOSCA 핵심 개념
위 그림은 TOSCA의 핵심인 TOSCA Service Template의 컴포넌트를 나타낸 모식도입니다.
위 그림에서 좌측 Topology Template는 서비스의 구조를 정의하며,
우측하단의 Plans는 전체 라이프사이클 동안의 서비스와 관리와 생성, 삭제등에 사용되는 프로세스 모델을
정의합니다.
그리고, Topology Template는 Node Template와 Relationship Template로 구성되어 있으며,
각각은 방향 그래프로 서비스의 토폴로지 모델을 정의합니다.
Node Template는 각 서비스 컴포넌트의 Node Types에 대해서 명세하고 있습니다.
Node Type은 컴포넌트들의 성질을 정의하며, 컴포넌트를 조작하기 위하여 필요한 오퍼레이션들을 정의하는데
사용됩니다.
Relationship Template는 노드들의 관계를 명세하는데 사용되며, 각각의 Relationship Template은 관계의 성질이나 의미를 정의하는데 사용되는 Relationship Type을 나타냅니다.
좀 어렵게 표현된 감이 없지 않아서, 전문가가 아닌 초급자를 위해서 위에서 설명된 단어들을 말을 조금 더 이해하기 쉽게 의미는 약간 차이가 있지만 한글로 바꾸어서 설명드릴게요.
Topology = 구조 영역
Template = 형태
Node = 지점
Relationship = 관계
이라고 본다면,
1. 구조영역의 형태는 지점형태와 관계형태로 이루어져 있고,
2. 지점 형태에서는 지점의 Type에 대해 명세합니다.
지점 Type은 컴포넌트들의 성질과 컴포넌트를 조작하기 위하여 필요한 오퍼레이션들을 정의하고
3. 관계 형태에서는 지점들의 관계를 명세하는데 사용되며,
각각의 관계 형태는 관계의 성질이나 의미를 정의하는데 사용되는 Type을 의미합니다.
이렇게 말씀드리면 좀 이해가 편하실 듯 싶습니다.
<글, 그림 출처논문 : TOSCA기반의 NFV 서비스 모델 및 구현, 최수길,최성윤, 최미정, 2018>