컴퓨터 어플라이언스

[섬네일|[Cobalt Qube 3 - 컴퓨터 서버 어플라이언스 (2002년, 단종)]]
**컴퓨터 어플라이언스**(computer appliance)는 특정한 컴퓨터 자원을 제공하기 위해 설계된 소프트웨어나 펌웨어를 갖춘 컴퓨터이다. 이러한 장치들은 어플라이언스(appliance)로 알려져 있는데, 이는 홈 어플라이언스, 즉 가전제품과의 역할, 관리 면에서 유사성이 있기 때문으로, 보통 닫혀있고(밀봉되어 있고) 사용자나 소유자에 의해 서비스될 수 없음을 의미한다. 하드웨어와 소프트웨어는 통합 제품으로 조달되며 특정 목적을 위한 턴키(turn-key) 방식의 솔루션을 제공하기 위해 고객에게 배송되기 전에 미리 구성될 수도 있다. 범용 컴퓨터와 달리 어플라이언스는 일반적으로 고객들이 소프트웨어나 기반 운영 체제를 변경하거나 하드웨어를 유연하게 재구성할 수 있도록 설계되어 있지 않다.

다른 형태의 어플라이언스는 버추얼 어플라이언스이며 이는 전용 하드웨어 어플라이언스와 기능 면에서 유사하지만 하이퍼바이저 장비를 위한 소프트웨어 가상 머신 이미지로 배포된다.

## 개요
전통적으로 소프트웨어 애플리케이션은 범용 운영체제 위에서 실행되며, 운영체제는 사용자의 컴퓨팅 요구를 충족하기 위해 컴퓨터의 하드웨어 리소스(주로 메모리, 디스크 저장소, 처리 능력 및 네트워크 대역폭)를 사용한다. 전통적인 모델의 주요 문제는 복잡성과 관련이 있다. 하드웨어 플랫폼과 운영체제 및 애플리케이션을 통합하는 것이 복잡하며, 이후에 이를 지원하는 것도 복잡하다.

하드웨어와 소프트웨어의 변형을 엄격하게 제한함으로써, 어플라이언스는 배포가 쉬워지며 광범위하거나 깊은 IT 지식 없이도 사용할 수 있게 된다. 또한 문제와 오류가 발생했을 때, 지원 인력이 문제를 철저히 이해하기 위해 깊게 탐구해야 할 필요가 거의 없다. 직원은 대부분의 문제를 해결하기 위해 어플라이언스 관리 소프트웨어에 대한 교육만 받으면 된다.

모든 형태의 컴퓨터 어플라이언스 모델에서 고객은 쉬운 운영이라는 이점을 얻는다. 어플라이언스는 공장에서 사전 설치된 하드웨어, 운영체제 및 애플리케이션 소프트웨어의 단일 조합을 가진다. 이는 고객이 복잡한 통합 작업을 수행할 필요가 없게 하며, 문제 해결을 획기적으로 단순화한다. 사실 이러한 "턴키 운영" 특성은 고객이 어플라이언스를 구매할 때 추구하는 핵심적인 이점이다.

어플라이언스로 간주되려면 (하드웨어) 장치가 소프트웨어와 통합되어야 하며, 두 가지가 패키지로 공급되어야 한다. 이는 어플라이언스를 "자체 제작" 솔루션이나 통합업체 또는 부가가치 재판매업자(VAR)에 의한 복잡한 구현이 필요한 솔루션과 구별해 준다.

어플라이언스 접근 방식은 예를 들어 데이터 센터 내의 다양한 시스템과 애플리케이션을 분리하는 데 도움이 된다. 일단 리소스가 분리되면 이론적으로는 다른 시스템에 대한 변경 없이도 많은 시스템 간에 공유되도록 중앙 집중화될 수 있으며, 중앙에서 관리되고 최적화될 수 있다.

## 컴퓨터 어플라이언스 접근 방식의 트레이드오프
컴퓨터 어플라이언스를 배포할 때의 주요 단점은 특정 리소스를 공급하도록 설계되었기 때문에 종종 전문화된 하드웨어에서 실행되는 맞춤형 운영체제를 포함하며, 이들 중 어느 것도 이전에 배포된 다른 시스템과 호환될 가능성이 낮다는 것이다. 고객은 유연성을 잃게 된다.

독자적인 임베디드 운영체제나 애플리케이션 내의 운영체제가 일반적인 사이버 공격으로부터 어플라이언스를 훨씬 더 안전하게 만들 수 있다고 믿을 수도 있다. 그러나 그 반대가 사실이다. 은폐를 통한 보안은 빈약한 보안 결정이며, IoT 장치의 확산에서 입증되었듯이 어플라이언스는 종종 보안 문제로 고통받는다.

## 어플라이언스의 종류
섬네일|right|미 육군이 사용 중인 Niksun 네트워크 보안 어플라이언스 (2016년)
컴퓨터 어플라이언스의 다양성은 애플리케이션에 제공하는 광범위한 컴퓨팅 리소스를 반영한다. 몇 가지 예는 다음과 같다.
;스토리지 어플라이언스: 대용량 저장소를 제공하며, 네트워크상의 많은 시스템에서 사용할 수 있는 경우가 많다. 네트워크 결합 스토리지 및 스토리지 에어리어 네트워크를 참조하라.
;네트워크 어플라이언스: 범용 라우터이며 방화벽 보호, 전송 계층 보안(TLS), 메시징, 전문화된 네트워킹 프로토콜(예: ebXML 메시지 서비스)에 대한 액세스 및 프런트 엔드 역할을 하는 다중 시스템을 위한 대역폭 다중화를 제공할 수 있다.
;백업 및 재해 복구 어플라이언스: 백업 소프트웨어와 백업 대상이 통합된 컴퓨터 어플라이언스로, 때로는 보호된 서버의 로컬 재해 복구(DR)를 지원하기 위해 하이퍼바이저를 포함하기도 한다. 이들은 종종 전체 DRaaS 솔루션으로 가는 게이트웨이 역할을 한다.
;방화벽 및 보안 어플라이언스: 원치 않는 트래픽으로부터 컴퓨터 네트워크를 보호하도록 설계된 전용 네트워크 어플라이언스이다.
;IIoT 및 MES 게이트웨이 어플라이언스: 제어 시스템과 기업 시스템 간에 데이터를 양방향으로 변환하도록 설계된 컴퓨터 어플라이언스이다. 어플라이언스에서 실행되는 독점적인 임베디드 펌웨어 애플리케이션은 점대점(point-to-point) 연결을 사용하여 기본 자동화 프로토콜을 사용하는 현장 장치와 API, ODBC 또는 RESTful 인터페이스를 통한 MES 시스템 간의 데이터를 변환한다.
;안티스팸 어플라이언스: 이메일 스팸 방지용.
;소프트웨어 어플라이언스: 실행에 필요한 just enough operating system(JeOS)만 포함된 단일 애플리케이션 서버 어플라이언스이다.
;가상 머신 어플라이언스: 어플라이언스 하드웨어에서 실행되는 "하이퍼바이저 방식"의 임베디드 운영체제로 구성된다. 하이퍼바이저 계층은 어플라이언스의 하드웨어와 일치하며 고객이 변경할 수 없지만, 고객은 가상 머신의 형태로 어플라이언스에 다른 운영체제와 애플리케이션을 로드할 수 있다.

## 소비자용 어플라이언스
[섬네일|right|가정 환경에서 컴캐스트 케이블 모뎀 위에 놓인 [링크시스 무선 라우터 (2006년)]]
데이터 센터 내의 배포 외에도 많은 컴퓨터 어플라이언스가 일반 대중에 의해 직접 사용된다. 여기에는 다음이 포함된다.

* 디지털 비디오 레코더
* 가정용 게이트웨이
* 네트워크 결합 스토리지(NAS)
* 비디오 게임 콘솔

소비자 용도는 기술적 지식이 거의 또는 전혀 필요하지 않으면서 어플라이언스의 설치, 구성 및 운영이 쉬워야 할 필요성을 강조한다.

## 산업 자동화에서의 어플라이언스
[섬네일|right|지멘스 [프로그래머블 로직 컨트롤러의 뒷면 (2013년)]]
산업 자동화 분야에는 어플라이언스가 풍부하다. 이러한 어플라이언스들은 극심한 온도와 진동을 견딜 수 있도록 강화되었다. 또한 이러한 어플라이언스들은 고도의 구성이 가능하여 광범위한 애플리케이션에 맞게 맞춤화할 수 있다. 자동화에서 어플라이언스의 주요 이점은 다음과 같다.
# **[[다운타임]] 감소** - 고장 난 어플라이언스는 일반적으로 COTS 교체품으로 교체되며, 해당 작업은 백업에서 빠르고 쉽게 다시 로드된다.
# **높은 확장성** - 어플라이언스는 일반적으로 공장이나 공정의 한 영역을 대상으로 하는 솔루션이다. 요구 사항이 변경됨에 따라 다른 어플라이언스를 설치하여 확장성을 확보할 수 있다. 각 작업에 대해 맞춤형 자동화 체계를 개발하는 것과 달리, 필요한 작업을 수행하기 위해 어플라이언스를 표준화함으로써 기업 전체에서 자동화 개념을 쉽게 복제할 수 있다.
# **낮은 TCO([[총소유비용]])** - 어플라이언스는 자동화 제품 공급업체에 의해 개발, 테스트 및 지원되며 맞춤 설계된 자동화 솔루션보다 훨씬 광범위한 수준의 품질 테스트를 거친다. 자동화에서 어플라이언스를 사용하면 각 개별 애플리케이션에서 필요한 테스트 수준이 줄어든다.
# **설계 시간 단축** - 어플라이언스는 특정 기능을 수행하며 고도의 구성이 가능함에도 불구하고 일반적으로 자체 문서화가 이루어진다. 이를 통해 어플라이언스 기반 솔루션은 최소한의 교육과 문서화만으로 엔지니어 간에 이전될 수 있다.

자동화 어플라이언스의 종류:
# **PLC (프로그래머블 로직 컨트롤러)** - 프로그래머블 로직 컨트롤러는 일반적으로 이산 제어에 사용되며 광범위한 입출력 옵션을 제공하는 어플라이언스이다. 이들은 IEC-1131과 같은 표준화된 프로그래밍 언어를 통해 구성된다.
# **PID (비례-적분-미분 제어기)** - PID 제어기는 공정 변수를 모니터링하고 오차 항에 따라 제어 출력(조작 변수)에 변화를 주어 공정 변수를 설정값으로 유도하는 어플라이언스이다.
# **PAC (프로그래머블 자동화 컨트롤러)** - 프로그래머블 자동화 컨트롤러는 PLC와 PID 제어기의 특성을 모두 구현하여 아날로그와 이산 제어의 통합을 가능하게 하는 어플라이언스이다.
# **유니버설 게이트웨이** - 유니버설 게이트웨이 어플라이언스는 각각의 통신 프로토콜을 통해 다양한 장치와 통신할 수 있는 능력을 갖추고 있으며, 장치 간의 데이터 트랜잭션에 영향을 미친다. 이는 제조 분야에서 강화된 M2M 통신을 통해 민첩성, 품질, 생산율, 생산 비용을 개선하고 다운타임을 줄이려 함에 따라 점점 더 중요해지고 있다.
# **EATMs (엔터프라이즈 어플라이언스 트랜잭션 모듈)** - 엔터프라이즈 어플라이언스 트랜잭션 모듈은 공장 현장 자동화 시스템에서 기업 비즈니스 시스템으로의 데이터 트랜잭션에 영향을 미치는 어플라이언스이다. 이들은 다양한 벤더 자동화 프로토콜을 통해 공장 현장 장비와 통신하고, JMS(Java Message Service) 및 SQL과 같은 데이터베이스 통신 프로토콜을 통해 비즈니스 시스템과 통신한다.

## 내부 구조
컴퓨터 어플라이언스 벤더들이 채택하는 몇 가지 디자인 패턴이 있으며, 그 중 몇 가지가 아래에 나와 있다. 어플라이언스의 전체 개념은 이러한 구현 세부 사항을 최종 사용자로부터 멀리 유지하는 데 달려 있기 때문에, 이러한 패턴을 특정 어플라이언스와 일치시키는 것은 어렵다. 특히 외부 기능이나 성능에 영향을 주지 않고 변경될 수 있기 때문이다.
# **전용 칩** - 벤더는 별도의 "소프트웨어"나 운영체제 없이 ASIC를 구축한다. 어플라이언스는 IT 직원이 기본적인 구성을 할 수 있도록 보통 터미널 콘솔이나 웹 기반의 제한된 인터페이스를 갖는다. 제조업체는 종종 더 깊은 구성 메커니즘에 액세스할 수 있는 방법을 제공한다. Azul Systems의 Vega 3 Java Compute Appliance가 그 예이다. 칩에 대한 특수 하드웨어 수정을 통해 Java 애플리케이션 확장이 가능하다.
# **전용 소프트웨어 커널** - 벤더는 범용 컴퓨터를 사용하거나 제작하고, 애플리케이션을 운영체제에 통합하는 새로운 운영체제를 설계한다. 시스코의 시스코 IOS가 그 예이다. 유닉스 계열 운영체제에 방화벽 기능과 네트워크/방화벽 구성 명령이 내장되어 있다. 때로는 장치가 밀봉되어 소비자가 운영체제를 재설치하거나 다른 운영체제로 교체할 수 없다. 소비자는 소수의 구성 명령으로 제한될 수 있으며, 운영체제의 더 상세하고 낮은 수준의 기능은 벤더만 사용할 수 있다. 이러한 "잠금(locked down)" 접근 방식이 더 많이 실행될수록, 이 유형의 장치는 ASIC 장치처럼 보이게 된다.
# **전문화된 애플리케이션** - 기성 컴퓨터와 운영체제가 사용되지만, 사용자가 벤더가 만든 애플리케이션 인터페이스 외에는 컴퓨터의 어떤 것에도 액세스할 수 없도록 사용자 인터페이스와 "박스"가 설계된다. 기본 컴퓨팅 아키텍처가 잠겨 있고 본질적으로 보이지 않기 때문에, 장치가 실제로 범용 하드웨어와 운영체제 위에서 작동하는지 식별하기 어렵게 된다. 리눅스와 (어느 정도까지는) BSD가 이러한 유형의 어플라이언스를 위한 운영체제로 선택되었다. 최근에는 이러한 사전 패키지화된 블랙박스 조합을 설명하기 위해 소프트웨어 어플라이언스라는 용어도 사용되었다.
# **가상 어플라이언스** - 여기서는 하드웨어 자체가 완전히 사라지고 여러 가상 머신 기술 중 하나를 사용하는 이른바 가상 어플라이언스(가상 소프트웨어 어플라이언스라고도 함)가 된다. 이 가상 머신 내부에는 기본적으로 "전문화된 애플리케이션" 대안과 동일한 소프트웨어 스택과 운영체제가 들어 있다.

때때로 이러한 기술들이 혼합되기도 한다. 예를 들어, VPN 어플라이언스는 리눅스에서 실행되는 제한된 액세스의 소프트웨어 방화벽을 포함할 수 있으며, VPN 액세스 속도를 높이기 위한 암호화 ASIC을 포함할 수 있다.

일부 컴퓨터 어플라이언스는 솔리드 스테이트 저장 장치를 사용하는 반면, 다른 것들은 운영체제를 로드하기 위해 하드 드라이브를 사용한다. 다시 말하지만, 두 방법이 혼합될 수 있다. ASIC 프린트 서버는 작업 대기열을 위해 선택적으로 하드 드라이브를 허용할 수 있으며, 리눅스 기반 장치는 펌웨어에 리눅스를 인코딩하여 운영체제를 로드하는 데 하드 드라이브가 필요하지 않을 수 있다.

## 같이 보기
* 차량 자동 항법 장치
* 그린 컴퓨팅
* 하드웨어 가속
* 정보 기기
* 개인 정보 단말기 (PDA)
* 스마트폰

## 각주

## 외부 링크
* ARC Advisory Group Comments on Enterprise Appliance Transaction Modules
* Computing Appliances - The Monash Report, Dec 2006

분류:컴퓨터의 유형
분류:자동화
분류:소프트웨어 배포
분류:네트워크 하드웨어
분류:하드웨어 가상화