[기고] 코로나 바이러스로 인해 발전하는 클라우드 기술

남시현 sh@itdonga.com

[IT동아]

지난 2020년 1월, 코로나 바이러스가 전 세계에 퍼진지 1년하고도 몇 개월이 지난 이 시대를 우리는 지금 살고 있다. 코로나는 우리 삶을 180도 바꿔 놓았다. 출퇴근을 하거나 심지어 동네슈퍼를 갈 때도 늘 마스크를 착용해야 하며, 5인 이상의 모임은 가질 수 없다. 재택근무를 실시하는 회사도 많아졌고, 이로 인해 업무를 위한 온라인 미팅도 많아졌다. 집에 있는 시간이 늘어남에 따라 배달 음식이 인기를 끌고, 온라인 쇼핑을 하는 사람들도 부쩍 많아졌다. 학생들 역시 대부분 온라인으로 수업을 받고 있다.

코로나로 인해 완전히 달라진 세상 (출처=레드햇코리아)
코로나로 인해 완전히 달라진 세상 (출처=레드햇코리아)

코로나 이전에도 우리는 알게 모르게 많은 IT 관련 애플리케이션을 이용하며 살고 있었고, 이젠 이들이 없으면 안되는 세상이 됐다. 생존을 위해 스마트폰을 통해 1인 방송을 송출하는 사람들도 있고, 회사에서는 기존 오프라인 행사를 대부분 온라인으로 전환하여 개최한다. 방송 프로그램도 예외는 아니다. 이전에는 공개 방송에 많은 방청객들을 초대했지만, 코로나 유행으로 방송 역시 방청객들을 온라인으로 초대, 진행하는 프로그램들이 많이 늘었다.

이처럼 우리는 스마트폰, 노트북, 태블릿PC 등으로 업무나 수업을 위한 애플리케이션에 접속을 하고, 인터넷 넘어 어딘가에 동영상 자료나 문서, 자료 등을 업로드한다. 때로는 인터넷 포털사이트가 제공하는 동영상을 보기도 하고, 음악을 듣기도 한다. 이런 애플리케이션이 '클라우드 서비스'를 토대로 동영상, 음악과 같은 서비스로 제공된다.

클라우드 서비스로 제공되는 다양한 애플리케이션 (출처=레드햇코리아)
클라우드 서비스로 제공되는 다양한 애플리케이션 (출처=레드햇코리아)

그렇다면, 클라우드 서비스는 무엇이며, 클라우드 서비스가 제공하는 것들은 무엇이 있을까?

클라우드 서비스는 크게, 인터넷을 통해 서버, 스토리지, 네트워크와 같은 장치/장비 인프라를 제공하는 서비스(IaaS, 이아스), 웹 서버, 데이터베이스와 같은 개발환경을 제공하는 플랫폼 서비스(PaaS, 파스), 웹이나 앱과 같은 애플리케이션 등을 제공하는 소프트웨어 서비스(SaaS, 사스)로 나뉜다. 클라우드 서비스는 스마트폰, 태블릿PC, 노트북과 같이 인터넷이 가능한 스마트 기기만 있으면 언제 어디서든 접속해 이용할 수 있다.

클라우드 서비스는 다시, 이미 누군가가 환경을 만들어 제공하는 퍼블릭 클라우드 서비스와 회사 내부에 직접 환경을 구축하는 프라이빗 클라우드 서비스로 구분되기도 한다. 퍼블릭 클라우드 서비스에는 AWS(아마존 웹 서비스), 마이크로소프트 애저(Azure), 구글 클라우드(Google Gcloud) 등이 있으며, 클라우드 서비스를 이용한 만큼 이용 요금을 지불하는 방식이다.

퍼블릭 클라우드 서비스는 단 몇 분안에 원하는 서버와 개발환경을 구성할 수 있다. 그리고, 이렇게 구성된 자원은 이용한 만큼만 이용 요금을 내면 되기에, 서버 자체를 구매하거나 서버실을 마련할 필요가 없다. 회사 규모가 어느정도 커지고, 퍼블릭 클라우드를 사용하는 비중이 높아지면, 대부분의 회사에서는 프라이빗 클라우드 구축을 고려하기 시작한다.

그럼, 프라이빗 클라우드를 구축하기 위해서는 어떤 기술이 사용될까?

예전에는 서버 한 대를 구매하면 해당 서버에 운영체제를 설치하고, 컴파일러 및 웹 서버 기능을 구성해 애플리케이션을 실행할 소스를 올리면 '서버 한 대에 시스템 하나'를 구축할 수 있었다. 그러다 서버 사양이 대폭 향상되면서, 남아도는 서버 자원을 좀더 효율적으로 활용하도록 고민하다가 나온 기술이 바로 '하이퍼바이저'다. 하이퍼바이저는 서버의 주요 자원인 CPU와 메모리 등의 하드웨어를 가상화해 가상 서버를 만들어 주는 기술이다.

이를 활용하면 서버 한 대에 여러 대의 가상 서버를 운영할 수 있다. 이 기술은 이후 클라우드 컴퓨팅 기술로 발전됐고, 기업에서는 이런 하이퍼바이저 기술을 통해 프라이빗 클라우드를 구축한다.

하이퍼바이저를 통해 서버 한 대에 여러 운영체제의 (가상)서버를 운영할 수 있다 (출처=레드햇코리아)
하이퍼바이저를 통해 서버 한 대에 여러 운영체제의 (가상)서버를 운영할 수 있다 (출처=레드햇코리아)

일반적으로 애플리케이션을 개발할 때 다양한 서버를 이용한다. 실제의 서버가 될 수도, 클라우드 환경의 클라우드 서버가 될 수도 있다. 요즘에는 운영체제 없이 개발에 필요한 플랫폼과 애플리케이션을 가볍게 올려 사용하는 컨테이너 기술도 인기가 많다. 실제 서버든 클라우드 서버든 모두 운영체제를 설치하고, 그 위에 개발 플랫폼을 설치해야 애플리케이션을 실행할 수 있는데, 컨테이너 기술은 운영체제 없이 개발 플랫폼과 애플리케이션을 얹어 실행할 수 있어 최근 들어 각광을 받고 있다.

실제 서버/클라우드 서버 vs. 컨테이너 기술 (출처=레드햇코리아)
실제 서버/클라우드 서버 vs. 컨테이너 기술 (출처=레드햇코리아)

실제 서버와 클라우드 서버 또는 클라우드 컨테이너는 자원 사용 측면에서 차이가 있다. 예를 들어, 실제 서버를 사용하는 환경(베어메탈)에서는 웹 사이트를 하나 밖에 생성할 수 없었지만, 하이퍼바이저 환경의 클라우드 서버는 여러 가상 서버를 구현할 수 있어 여러 개의 웹 사이트를 생성, 운영할 수 있다. 컨테이너와 같은 경우에는 클라우드 서버보다 좀더 많은 웹 서비스를 생성할 수 있다. 앞서 언급했듯, 운영체제 없이 개발환경에 필요한 라이브러리와 애플리케이션만 구성하면 되기 때문이다.

IT 인프라의 변화와 발전 (출처=레드햇코리아)
IT 인프라의 변화와 발전 (출처=레드햇코리아)

코로나 바이러스로 인해 사회적 거리두기, 비대면 방식의 업무 변화와 IT 환경의 발전으로, 기업은 업무 지원 애플리케이션은 물론 다양한 서비스를 클라우드 환경의 가상 자원으로 이용하고 있다. 지금 시대는 디지털 문화나 기술을 모르면 업무를 제대로 이해하기 쉽지 않다. 요즘 유행하는 디지털 기술을 소개, 설명하는 TV 교양 채널이 생기는 만큼, 자신과 무관하다 여기지 말고 주변에서 일어나는 변화와 IT 트렌드에 조금이라도 관심을 갖길 권한다.

글 / 레드햇 코리아 장현정 컨설턴트

정리 / IT동아 남시현 (sh@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.