IT 인프라란? - 온프레미스부터 Cloud까지

카카오 클라우드 스쿨을 지원하게 되면서, 기본적으로 가졌어야할 근본적인 산업의 이해를 위한 학습을 진행해보았다.

Cloud 환경과 이에 대한 기술들을 이해하기에 앞서, IT 인프라가 무엇인지에 대해 알아보는 시간을 가졌다.


인프라란?

IT 인프라를 알아보기에 앞서 "인프라"라고 부르는 것의 의미가 뭘까?

 

인프라는 Infrastructure임을 쉽게 떠올릴 수 있을 것이고, 단어의 뜻을 통해 기반 시설이라는 의미를 이해할 수 있었다.

이를 넓게 해석해보면, 사회에서 여러가지 기능들을 수행하기 위해 뒷받침하는 기초 시설이라는 의미를 가질 수 있다.

이러한 인프라를 현재 사회에서 찾아본다면, 나라 곳곳에 뻗어있는 도로망, 전선망, 통신망 시설 등을 예시로 들 수 있다.

Image&nbsp;by&nbsp;<a&nbsp;href="https://www.freepik.com/free-vector/modern-communication-cityscape-design_721277.htm#query=%EC%9D%B8%ED%94%84%EB%9D%BC%20%EC%9D%BC%EB%9F%AC%EC%8A%A4%ED%8A%B8&position=1&from_view=search&track=ais">Freepik</a>


IT 인프라란?

IT 인프라는 말 그대로 IT 기술을 지원하기 위한 기반 시설이란 의미를 갖는다. 현재 우리가 여러가지 애플리케이션을 사용하는 것 부터, 이 글을 작성하는 Tistory를 서비스하기 위해 기초적으로 존재하는 기반 시설을 의미한다.

 

우리가 컴퓨터 혹은 노트북을 사용하기 위해서 필요한 요소가 무엇이 있을까?

 

첫번째로, 데스크탑 또는 노트북을 가지고 있어야 인터넷 환경에서 서비스를 사용할 준비를 갖출 수 있을 것이다.

두번째로, 이러한 기기를 편리하게 동작시키기 위하여 Linux, Window, MacOS 등의 운영체제를 설치해야 할 것이다.

세번째로, 준비된 기기에서 서비스를 사용하기 위해선 인터넷에 접속하기 위한 네트워킹 장비가 필요할 것이다.

 

당장 우리의 컴퓨터 혹은 휴대폰을 사용하기 위해선 위의 요소들이 기반적으로 갖춰져야 다양한 서비스를 사용하고 활용할 수 있게 되는 것이다.

이를 PC, 노트북의 측면에서 확장한다면 구성요소들을 아래와 같이 정의해볼 수 있다.

 

  1. HW(하드웨어): 서버, 데이터 저장소, 라우터, 스위치 장비와 같이 물리적인 기기적 측면을 의미한다.
  2. OS(운영체제): 이러한 하드웨어를 조작하는 가장 기본적인 SW이다. 운영체제를 통하여 애플리케이션과 HW를 연결할 수 있고, 대부분의 하드웨어는 OS를 통하여 동작한다고 볼 수 있다.
  3. Network(네트워크): 세상에 존재하는 인터넷 망을 구성하고 사용할 수 있게 만들기 위하여 존재하는 기기들을 의미한다. 라우터, 허브 등을 예시로 들 수 있다.

 

이러한 구성요소들이 IT 인프라를 모두 포함한다곤 볼 수 없지만, IT 애플리케이션, 솔루션 등을 동작시키기기 위한 기반 시설의 필수적인 요소임에는 틀림없다.

Image by <a href="https://kr.freepik.com/free-vector/computer-technology-isometric-icon-server-room-digital-device-set-element-for-design-pc-laptop_4103157.htm#query=%EC%9D%B8%ED%94%84%EB%9D%BC&position=22&from_view=keyword&track=sph">작가 fullvector</a> 출처 Freepik


전통적인 인프라환경: On-Premise

그렇다면, 전통적인 IT 인프라 환경은 어떻게 구성하고 서비스해 왔을까?

아무것도 없는 상태에서 작은 홈페이지같은 서비스를 만들고 이를 운영한다고 가정해보자,

 

  1. 이를 위해 서비스를 동작시킬 서버 역할을 할 기기를 준비할 것이고,
  2. 준비한 기기를 정상적으로 동작시키기 위해 원하는 운영체제를 설치할 것이다.
  3. 개발한 서비스를 해당 기기에 정상적으로 동작시키기 위해 운영체제를 지원하는 여러가지 의존성 설정을 수행할 것이다.
  4. 서비스를 외부 인터넷 세상과 연결하기 위해 해당 기기의 네트워크 라우팅 등을 수행하기 위해 필요한 기기를 구매할 것이고, 이를 바탕으로 인터넷 환경에 라우팅할 수 있을 것이다. 

 

결국, 특정 서비스를 동작시키기 위해서는 위와같이 적절한 성능의 하드웨어와 운영체제에 맞는 실행 환경과 이를 연결할 네트워크가 필수적으로 필요하다. 이는 홈페이지를 띄우기 위한 서버 뿐만 아니라 데이터 저장을 위한 서버를 동작시키기 위해서 동일하다고 볼 수 있다.

 

이렇게 필요한 서비스를 동작시키기 위해서 모든 구성요소를 직접 설치하고 구성해야하는 방식을 온프레미스(On-Premise) 환경이라고 부른다.

 

온프레미스 환경의 단점은 위에서도 알 수 있듯이 필요한 장비를 모두 준비해야하고, 실행 환경을 구성하기 위해서 누군가의 노력과 시간이 필요하다는 점이다. 

 

사용할 서버가 수십개 단위라면 꾹 참고서라도 환경을 만들겠지만, 과연 빅테크 기업에서 서버를 수십개만 사용할까? 이를 일일히 설치하고 관리한다는 것은 불가능에 가깝다고 할 수 있다.

 

추가적으로, 24시간 내내 서버에 요청이 들어온다고 볼 수 없으므로, 유휴시간이 필수적으로 존재한다는 단점이 존재한다.

그럼에도, 온프레미스 환경에서 가질 수 있는 높은 보안성 덕분에 특정 상황에서는 이러한 구조를 사용할 이유가 분명히 존재한다.


클라우드 인프라환경: Cloud

On-Premise와 반대되는 개념은 필요한 기기들을 직접 구성하는 것이 아닌 빌려서 사용하는 개념이다!

이를 흔히 클라우드(Cloud) 서비스라고 부르는데, 우리가 통신사에게 요금을 납부하고 통신 서비스를 이용하는 것처럼 인터넷 환경에서 IT 인프라 구성요소들을 필요한 만큼 사용하고 요금을 지불하는 구조를 클라우드 인프라 환경이라고 볼 수 있다.

 

클라우드 인프라 환경이 가지는 장점은 다음과 같다.

 

  1. 필요한 만큼 대여하면 된다. - 즉, 서비스를 제공하는 서버가 더 필요하다면 그만큼 더 빌리면 된다.
  2. 인프라 유지보수에 소요되는 시간과 노력이 줄어든다. - 배선을 신경쓰는 것에서 시작하여 어떤 기기가 문제가 생겼을 때 직접 확인해야하고, 이를 업그레이드 하기 위해서 기업 또는 사람이 직접 신경써야하는 부분을 클라우드 인프라 제공자에게 위탁한다.

 

단점으로는 이러한 클라우드 서비스는 당연하게도 인터넷을 기반으로 서비스가 제공되기 때문에, 보안성의 측면에서 기존의 방식보다 일반적으로 약점을 갖는다고 볼 수 있다.

Image by <a href="https://kr.freepik.com/free-vector/computer-technology-isometric-icon-server-room-digital-device-set-element-for-design-pc-laptop_4103157.htm#query=%EC%9D%B8%ED%94%84%EB%9D%BC&position=22&from_view=keyword&track=sph">작가 fullvector</a> 출처 Freepik


Public Cloud

이는 클라우드 컴퓨팅의 가장 일반적인 유형으로 볼 수 있다. 클라우드 제공자가 인터넷을 통하여 불특정 다수에게 컴퓨팅 자원을 제공하는 서비스이다.

 

보편화된 AWS(Amazon Web Service), GCP(Google Cloud Platform)등이 이에 해당하고, 사용자는 인터넷을 통하여 특정 컴퓨팅 기기를 원하는 기간에 해당하는 만큼의 비용하여 사용할 수 있다.

 

당연하게도, 이를 이용하는 사용자 혹은 기업은 이러한 기기를 유지보수하기 위해 신경을 기울일 필요가 전혀 없으며, 필요한 만큼 사용하기 때문에, 트래픽이 증가될 경우 확장하기에도 적합한 구조를 갖는다.

 

현재는 서버리스 기반의 클라우드 컴퓨팅 기술의 도입으로 아에 네트워크 요청 수에 비례하여 요금을 책정하는 서비스도 존재한다(Cloud Run).

 

현재 많은 IT 기업들이 퍼블릭 클라우드 기술을 도입하여 서비스해오고 있고 서비스하기 위해서 많은 노력과 시간을 쏟는 것으로 보여진다.(네이버, 카카오)


Private Cloud

이는 클라우드 컴퓨팅 환경을 외부에 공개하지 않고 내부적으로 사용하는 시스템을 의미한다.

기업 자체에서 퍼블릭 클라우드로 모든 인프라를 사용한다면 사측의 중요한 소스나 데이터들을 관리하기 위하여 취약점을 가질 수 밖에 없다는 단점이 존재한다.

 

이러한 단점을 해결하기 위해서 사용자를 회사 내규로 한정하여 불특정 다수가 아닌 명시된 사람(혹은 네트워크 망내에서)들에게 제공하는 클라우드 컴퓨팅 시스템을 프라이빗 클라우드라고 부른다.

 

단순하게 퍼블릭 클라우드에서 사용자를 해당 기업으로 한정한 서비스라고 이해할 수 있다.

 

마찬가지로 클라우드 인프라 제공자로부터 비용을 지불하고 대여하는 방식이기 때문에, 유지보수의 필요성, 확장성 등에 장점을 가지고 보안성의 측면에서도 장점을 갖는다고 볼 수 있다.

 

다만, 규모가 존재하는 조직에서 사용가능하기 때문에 개인의 측면에서는 사용 및 접근하기 어렵다. 쓸일도 없을거고 어떻게 쓰는지도 모르겠지만


Hybrid Cloud

퍼블릭 클라우드와 프라이빗 클라우드를 혼합하여 사용하는 구조이다. 멀티 클라우드와 개념이 비슷하기도 하지만, 정리에서는 분리한다.

기업이 비즈니스에 맞게 클라우드 환경을 최적화할 수 있다는 장점이 존재한다.

 

퍼블릭 클라우드는 일반적으로 인터넷을 통해 제공되며, 클라우드 인프라 제공자가 갖는 서버를 사용한다.

 

프라이빗 클라우드는 기업의 내부 서버들을 통해 운영되며, 기업이 직접 소유하고 제어하는 형태를 사용한다.

 

규모가 있는 IT 조직에서 일반적으로 사용하는 인프라 구조라고 볼 수 있고, 퍼블릭 클라우드와 프라이빗 클라우드가 갖는 단점을 서로 보완하고 장점을 취하는 클라우드 인프라 구조라고 볼 수 있다.


결론

IT 서비스를 제공하기 위해서 이를 지원하는 인프라 서비스는 당연히 존재한다.

 

전통적인 방식은 이에 필요한 요소들을 기업이 직접 구성하고 관리하여 사용하는 온프레미스(On-Premise) 방식이다.

 

온프레미스 방식의 단점은 확장이 자유롭지 못하고, 유지보수에 많은 비용을 지출하기 때문에 이를 보완하는 클라우드 컴퓨팅 서비스가 등장하였다.

 

클라우드 방식은 클라우드 제공자가 자신들의 데이터 센터와 기기들을 사용자에게 필요한 만큼 대여해주는 형태로 IT인프라 구성요소를 구성하는 방식이다.

 

클라우드 서비스를 모두에게 제공하느냐 한정된 사용자에게 제공하느냐에 따라 퍼블릭(Public), 프라이빗(Private) 클라우드로 나뉜다.

 

하이브리드 클라우드는 두 클라우드 방식을 혼합한 방식을 사용하고, 퍼블릭 & 프라이빗 클라우드의 단점을 상쇄하는 구조를 갖기 때문에 대부분의 기업에서 사용하는 인프라 환경이다.

 

 

728x90
반응형