컨테이너, 애자일 IoT 앱 개발 지원
대부분의 기업에서 컨테이너 기술은 오랫동안 현대 클라우드 아키텍처의 중추였습니다. 그러나 그 이점은 전통적인 IT를 훨씬 넘어 산업용 사물인터넷(IIoT)에도 상당한 혜택을 제공한다고 선도적인 IIoT 솔루션 제공업체 Machfu의 CTO 팀 윈터(Tim Winter)는 말합니다.
컨테이너는 애플리케이션과 모든 종속성(라이브러리, 바이너리, 구성 파일)을 단일 경량 패키지로 묶습니다. 이 추상화는 운영 체제와 기본 인프라의 차이를 제거하여 개발자가 모든 환경에서 일관된 워크로드를 제공할 수 있게 합니다.
"컨테이너 개발 프로세스는 '자료' 저장소를 구축하는데, 이는 애플리케이션과 지원 소프트웨어이며, 컨테이너 이미지(애플리케이션과 종속성의 계층화된 케이크)를 생성합니다."라고 ARC Advisory Group의 분석가 해리 포브스(Harry Forbes)는 설명합니다.
가트너에 따르면 2022년까지 전 세계 조직의 75% 이상이 이미 프로덕션에서 컨테이너화된 앱을 실행하고 있었습니다.
컨테이너의 이점
모든 구성요소가 묶여 있어 컨테이너는 최소한의 마찰로 모든 컴퓨팅 환경에 배포할 수 있으며, 이기종 플랫폼 전반에서 애플리케이션 롤아웃과 업데이트를 간소화합니다.
격리는 핵심 이점입니다: 모듈은 잘 정의된 API를 통해서만 상호작용하며 서로 독립적입니다. 이 분리는 한 모듈의 업데이트가 시스템 전체로 파급되지 않음을 의미합니다. 이는 빠르게 진화하는 IoT 생태계에서 중요한 기능입니다.
컨테이너는 엣지 컴퓨팅의 '성배'인 AI 지원 프로세스를 엣지 디바이스에서 직접 실행할 수 있게 합니다.
"실시간 데이터 처리 수요가 증가하고 원시 텔레메트리를 클라우드에 전송하고 저장하는 높은 비용을 피하기 위해,"라고 PTC의 시니어 IoT 제품 관리자 아유시 티와리(Ayush Tiwari)는 말합니다. "더 많은 IoT 사용자가 데이터를 사전 처리, 변환하고 맞춤형 비즈니스 로직을 엣지에서 직접 실행하는 것을 선호합니다. AI와 머신러닝 모델은 온프레미스 격리된 컨테이너를 통해 훈련되고 배포될 수 있습니다."
워크로드가 컨테이너화되면 엄격한 격리를 유지하면서 클라우드에서 패치를 관리할 수 있어 엣지 소프트웨어의 보안과 업데이트도 더 쉬워집니다.
"특정 워크로드를 엣지로 이동함으로써 연결된 제품은 클라우드와의 통신 시간을 줄이고, 로컬 변화에 더 빠르게 반응하며, 저대역폭 시나리오에서도 신뢰성을 유지할 수 있습니다."라고 티와리는 덧붙입니다.
[산업용 IoT에 대한 더 많은 보도는 12월 Industrial IoT World에 참여하세요.]
파티셔닝이 IIoT 디바이스 보안 개선
IIoT에서 컨테이너는 워크로드를 파티셔닝하여 동일한 디바이스의 다른 애플리케이션에 영향을 주지 않고 개별 업데이트를 가능하게 하므로 특히 매력적입니다.
"단일 모놀리식 컨테이너가 모든 엣지 기능을 수행하는 대신, 데이터 수집용, 디바이스 구성용 등 여러 컨테이너를 구상할 수 있습니다."라고 윈터는 제안합니다.
파티셔닝은 별도의 권한 수준을 허용합니다. 예를 들어 데이터 수집 모듈은 센서에 읽기 전용 액세스 권한을 가질 수 있고, 펌웨어 업그레이드 모듈은 더 높은 권한을 필요로 하며 별도로 보안됩니다.
"이는 현대 보안 모범 사례와 일치합니다."라고 윈터는 말합니다. "엔터프라이즈 환경에서 관리자 역할과 읽기 전용 역할을 할당하는 것과 유사합니다."
애플리케이션 구성요소를 분리하면 보안 침해의 영향 범위도 줄어듭니다. 개발자는 OS 수준 제어와 정책을 시행하여 손상된 컨테이너의 영향을 제한할 수 있습니다.
그러나 파티셔닝은 견고한 프로세스 간 통신(IPC) 또는 원격 프로시저 호출(RPC) 체계를 필요로 합니다. 인증과 권한 부여는 무단 액세스를 방지하기 위해 이러한 상호작용을 통제해야 합니다.
"산업 현장에서는 많은 디바이스가 최소한의 CPU 리소스를 가진 단순 센서입니다."라고 미시시피 주립대학의 조교수 스테파노 이안누치(Stefano Iannucci)는 지적합니다. "클라우드나 엣지에서 컨테이너에서 실행되는 프로세스를 통해 센서와 액추에이터를 오케스트레이션해야 합니다."
컨테이너는 또한 체계적인 개발 및 배포 파이프라인을 제공합니다. 포브스에 따르면 이 프로세스는 모든 소프트웨어 버전의 저장소 생성, Docker 같은 도구로 컨테이너 이미지 빌드, 이미지를 대상 시스템(단일 디바이스든 수천 대든)에 푸시하는 과정을 포함합니다.
"천 개의 시스템을 업데이트하는 것이 단일 시스템 업데이트보다 크게 어렵지 않습니다."라고 포브스는 강조합니다. "컨테이너는 대규모 애플리케이션 관리를 위한 비용 효율적인 방법입니다."
많은 강점에도 불구하고 컨테이너는 만능이 아닙니다. 쉽게 생성되고 폐기되는 휘발성으로 인해 가시성과 추적이 어려워 추가 툴링이 필요합니다.
전반적으로 컨테이너 기술은 IoT 앱 개발에 민첩성, 확장성, 보안을 제공하여 더 스마트하고 빠르고 탄력적인 엣지 솔루션의 길을 엽니다.