서버 가상화 기술

하나의 물리적 서버 리소스에 여러 개의 서버 환경을 할당하고, 각각의 환경에 OS와 애플리케이션을 실행할 수 있게 만들어 줌.

물리 서버의 경우, 모든 리소스를 사용하는 상황은 흔하지 않음. 리소스가 남는 경우가 많은데 가상화를 통해 리소스를 최대한 활용할 수 있음.

서버 가상화 종류

컨테이너 기술

하나의 OS 환경에서 애플리케이션의 실행 영역을 여러 개로 나누어 사용하는 기술. 이렇게 나눈 각각의 유저 스페이스를 ‘컨테이너’라고 부름.

컨테이너는 가상 서버보다 오버헤드가 적으므로 빠르게 기동/정지할 수 있고 성능 저하도 거의 없다. 게스트 OS가 필요 없기 때문에 보조 기억 장치의 사용량도 줄일 수 있다. 컨테이너는 복제가 쉽고 다른 이식성이 뛰어나다.

Docker: 컨테이너 타입 가상화 소프트웨어 Kubernetes: 컨테이너 타입 가상화 소프트웨어의 운영 관리를 자동화하는 도구

분산 처리 기술

데이터를 여러 개의 서버에 나누어 병렬로 처리하는 기술. 처리의 부하 상황에 따라 서버와 같은 리소스를 늘리거나 줄일 수 있다. 이를 통해 가격 부담을 줄이면서 대량의 데이터를 고속으로 처리.

분산 처리를 구현하는 소프트웨어

Apache Hadoop: 1대의 마스터 서버와 마스터 서버가 제어하는 여러개의 슬레이브 서버로 구성됨. 마스터 버서는 데이터 처리 전체를 제어하고 슬레이브 서버는 연산을 처리함.

Apache Spark: 메모리 안에서 대용량 데이터의 병렬 분산 처리를 실행. 디스크에 데이터를 빈번하게 쓰는 Hadoop과 비교하여 속도가 매우 빠름.

데이터베이스 기술

각 클라우드 사업자들은 대량의 데이터 분석 처리 및 트랜잭션 처리 등 사용자의 이용 목적에 맞는 다양한 데이터베이스 서비스를 제공함.

여러 개의 데이터를 행과 열이 있는 표 형식으로 표현하여, 복잡한 데이터의 관계를 처리할 수 있도록 만든 데이터베이스