NetDevOps와 디지털 트윈 그리고 NVIDIA Air

DevOps 잘 아시죠? 이 개념은 다양한 영역으로 확장되고 있습니다. 그중 하나가 네트워크입니다. 소프트웨어 정의 네트워크(SDN)가 새로운 기준으로 자리를 잡으면서 네트워크 인프라 운영에 DevOps 원칙을 적용한 ‘NetDevOps’에 대한 관심이 커지고 있습니다.



NetDevOps는 DevOps와 맥락이 같습니다. 다양한 도구와 자동화 방법론을 동원해 개발팀과 IT 운영팀 간 거리를 좁히는 것이 DevOps입니다. NetDevOps도 비슷힙니다. IaC(Infrastructure as Code) 및 지속적 통합과 배포(CI/CD)를 네트워크 운영에 접목하는 것입니다. 네트워크 운영팀은 네트워크 인프라 프로비저닝, 구성, 설정 등의 관리 작업을 코드 중심으로 수행합니다. IaC 접근을 통해 SDN 환경의 관리 자동화 수준을 높이는 것이죠. 개발팀은 CI/CD 파이프라인 상에서 네트워크 인프라를 활용합니다.


간단히 알아본 바와 같이 NetDevOps의 핵심은 IaC입니다. 소프트웨어 정의 네트워크는 추상화 수준이 높습니다. 눈에 보이는 장비 단위로 관리하고 작업할 수 있는 그런 환경이 아니죠. 그래서 관리 및 구성의 중앙집중화가 중요합니다. 이를 위한 수단이 IaC입니다. IaC 환경은 코드로 인프라를 관리합니다. 따라서 반복 작업을 자동화하기 유리하고 구성과 설정을 표준화하고 일관성 있게 유지하기 편리합니다. 또한, 디지털 트윈 개념을 네트워크 환경에 적용해 변경 사항이 있으면 가상의 환경에서 테스트하고 검증할 수 있습니다. 이를 좀 더 자세히 알아보겠습니다.


먼저 구성을 중앙집중화하는 것입니다. IaC 환경에서 운영자는 서버, NIC, 라우터, 스위치 등 네트워크 인프라 구성 요소를 코드로써 관리합니다. 그리고 구성 및 설정 정보는 중앙에 위치한 리포지토리를 통해 관리합니다. 인프라 구성 요소나 설정에 변경이 있을 경우는 어떻게 해야 할까요? 변경 사항을 추적해야겠죠. 관련해 Git 같은 수단을 이용하면 소스 코드 형상 관리를 하듯이 네트워크 구성 및 설정 정보의 변경을 추적하고 관리할 수 있습니다.


다음으로 자동화를 알아보겠습니다. syslog 서버, NTP 서버, SNMP 설정 같은 구성 요소는 ZTP(Zero Touch Provisioning) 기술로 자동화할 수 있습니다. 이를 통해 수작업 방식으로 한 구성 실수로 인한 오류나 장애를 줄일 수 있습니다.


대규모 SDN에서 더 복잡한 작업을 자동화하려면 Ansible이나 Salt 같은 도구를 사용하여 템플릿이나 스크립트를 적용하면 됩니다. 이들 도구를 이용하면 대규모 구성 배포와 관리도 손쉽게 할 수 있습니다.


다음으로 디지털 트윈 기반 시뮬레이션을 알아보겠습니다. 네트워크 인프라 구성이나 설정을 변경해야 할 경우? 사전에 철저한 테스트와 검증이 필요합니다. 변경 작업이 운영 환경에 영향을 끼치지 않게 하기 위함이죠. 소프트웨어 정의 네트워크 환경은 사전 평가가 상대적으로 유리합니다. 추상화 수준이 높다 보니 프로덕션과 똑같은 환경을 가상의 공간에 만들어 테스트를 수행할 수 있기 때문입니다. 이를 디지털 트윈 기반 시뮬레이션이라고 하죠. 안전한 샌드박스 환경에서 사전 테스트를 하는 것이기 때문에 프로덕션에는 전혀 영향을 끼치지 않습니다. 요즘은 도구가 좋아져서 네트워크를 대상으로 한 디지털 트윈 구현이 어렵지 않습니다. NVIDIA Air 인프라 시뮬레이션 플랫폼을 한번 사용해 보면 아마 공감할 것입니다.


이상으로 NetDevOps 트렌드를 간단히 알아보았습니다.


#NetDevOps #DevOps #SDN #소프트웨어_정의_네트워크 #CICD #Ansible #Salt #네트워크_자동화


조회수 25회