온프레미스 / 클라우드

niireymik·2024년 6월 3일

🏢 온프레미스 On-premise

온프레미스란 기업의 서버를 자체적으로 보유한 물리적 장소(전산실)에 직접 설치해 운영하는 방식을 말한다. 이는 클라우드 서비스와 정반대의 개념이다.

온프레미스의 장점

  • 물리적 보안성 : 인터넷과 관계 없이 액세스 가능한 내부 네트워크를 이용하여, 데이터를 온라인이 아닌 중앙 스토리지에 저장하기 때문에, 회사 기밀문서, 연구결과(노하우) 등의 유출을 미연에 방지 가능
  • 사용자에 맞춤 시스템 구축
  • 저렴한 유지보수 비용

온프레미스의 단점

클라우드 컴퓨팅 기술이 등장하기 전까지 온프레미스는 기업에서 사용하는 일반적인 방식이었으나, 다음과 같은 단점들로 인해 클라우드로 많이 대체되었다.

  • 직접 관리 필요 : 서버를 유지하고 관리할 원이 필요하다.
  • 부족한 확장성 및 탄력성 : 온프레미스 환경을 확장한다는 것은 물리적 또는 가상 인프라르 추가하는 것을 의미한다. 이는 상당한 비용이 들며 실제 필요한 만큼 용량을 정확히 맞추기 쉽지 않다.
  • 높은 운영 비용 : 초기 비용과 함께, 운영 비용도 만만치 않다. 직접 유지보수를 해야 하기 떄문이다.
  • 손실 위험 : 시스템 오작동 및 해킹, 바이러스로 손상될 시 영구 손실 위험 존재

👉 이러한 장단점 때문에, 온프레미스의 경우 비용 감당이 가능하고 무엇보다도 보안이 중요한 대기업이나 정부 기관 등에서 주로 사용된다.



☁️ 클라우드 Cloud ☁️

클라우드란 인터넷을 통해서 컴퓨터 시스템을 제공하는 것을 말한다. 즉, 자신의 컴퓨터가 아니라 인터넷에 연결된 다른 컴퓨터로 정보를 처리하는 기술이 바로 클라우드 컴퓨팅이다.

🌤️ 조금 더 직관적으로 설명하자면, 클라우드 서비스란 클라우드가 사용자에게 컴퓨터 리소스를 제공하며 제공한 서비스에 대응하는 비용을 사용자가 지불하도록 하는 서비스이다!

-> 일반적으로 클라우드는 구독 형태로 제공되는 것이 특징이다 :>

Cloud : 구름! ☁️

클라우드라는 이름은 구름(Cloud)의 형상에서 가져온 것이다. 클라우드 컴퓨팅은 구름처럼 내부가 보이지 않지만 어디서나 떠다니는 컴퓨터 자원을 이용할 수 있는 시스템을 뜻한다.

인터넷만 연결되어 있다면, 떠다니는 구름처럼 어디서든! 사용할 수 있다는 것이다.✨

  • 이것은 데이터 센터가 존재하는 이유이기도 하다.
    우리가 클라우드 컴퓨팅을 통해서 데이터 센터에 있는 컴퓨터와 저장소들을 멀리서도 사용할 수 있다. 이게 없다면 우리는 용량이 부족할 때마다 하드디스크, SSD와 같은 물리적인 저장장치를 계속해서 구입해야만 했을 것이다 :>

어쩄든, 이러한 데이터 센터의 하드웨어와 소프트웨어를 통틀어 우리는 Cloud라고 부른다!


클라우드 컴퓨팅의 5가지 필수 요소

  • On demand : 요구만 있으면 언제든
    -> 필요할 때 필요한 만큼 사용할 수 있어야 한다.
  • Broad network access : 넓은 네트워크 접근
    -> 어디서나 사용할 수 있어야 한다.
  • Resource poolling : 리소스 통합
    -> 수많은 사람들이 사용할 수 있어야 한다.
  • Rapid elasticity : 빠른 탄력성
    -> 최대한 빠르게 요청사항을 반영하고, 서비스를 빠르게 제공할 수 있어야 한다.
  • Mesured service : 측정 가능한 서비스
    -> 자동으로 얼마나 사용했는지 모니터링할 수 있어야 한다.

클라우드의 장점

위에서 언급한 클라우드 컴퓨팅의 5가지 필수 요소가 곧 클라우드의 장점을 포함한다 볼 수 있겠다. 다음은 클라우드의 추가적인 장점이다.

  • 저렴한 초기 비용 & 운영 부담 감소 : 필요한 만큼의 컴퓨팅 자원을 빌려서 사용할 수 있게 하므로 초기 설치 비용이 저렴하다.

클라우드의 단점

  • 데이터 유출 등 보안 이슈 : 서비스 제공 업체에 보안 관련 사항을 의존하므로 데이터 유출의 위험이 있다.
  • 지속적이고 상당한 유지 비용 발생 : 구독 형태의 서비스가 대부분이기에 지속적으로 비용을 지불해야 한다.

서비스 제공 형태로 분류한 클라우드

클라우드는 서비스의 제공 형태에 따라 Public / Private / Community / Hybrid 로 나눌 수 있다.

Public Cloud

퍼블릭 클라우드는 인터넷 접속이 가능한 모든 사용자를 위한 클라우드이다.
쉽게 말하자면, 최종 사용자가 소유하지 않은 배경에서 생성되는 클라우드 환경으로 남의 것을 빌려 쓰는 것 정도로 이해하면 편하겠다.

대표적인 퍼블릭 클라우드 제공업체는 다음과 같다.

  • 국내 기업 : Naver Cloud Platform, KT Cloud
  • 해외 기업 : AWS, Google Cloud, MS Azure

Private Cloud

프라이빗 클라우드는 최종 사용자가 유일하거나 기업의 전용 클라우드 환경이기에, 독립적인 사람들이 특정 IT 인프라를 독점적으로 사용하는 환경이다. 쉽게 말해, 기업 내에 클라우드를 만들어 우리만 사용하는 것이다.

이는 특정 사람들만 사용할 수 있기에 보안은 확실하고, 일반적으로 서비스 사용에 대한 대가도 지불하지 않는다. 그러나 그만큼 자체적으로 클라우드 환경을 유지 보수하고 보안 시스템을 구축하는 데에 비용이 많이 든다.

Community Cloud

커뮤니티 클라우드는 특정 집단의 사용자, 기업들이 공유하는 클라우드이다.

이는 프라이빗 클라우드의 확장 버전이라고 이해하면 편하다. 좀 더 많은 사람들이 접근할 수 있지만, 결론적으로는 정해진 커뮤니티의 사람들만 접근할 수 있는 것이다.

Hybrid Cloud

하이브리드 클라우드는 단일 IT 환경처럼 보이지만 실제로는 여러 환경이 LAN, WAN< VPN, API 등을 통해 연결된 형태를 말한다.

간단히 말하자면, Public cloud와 Private cloud 중 특정 클라우드만 필요할 떄 빌려 쓰는 것이다. 보안이 필요한 경우 Private 클라우드에 보관, 상대적으로 덜 중요한 데이터는 Public 클라우드에 보관하며 Private을 주로 사용하다가 트래픽이 몰리는 경우 Public을 사용하는 흐름을 생각할 수 있다.

평소에는 트래픽이 적다가 갑자기 트래픽이 많이 발생해서 급하게 클라우드 컴퓨팅이 필요한 경우 (ex. 수강신청✏️) 에 적용된다고 볼 수 있다! 다시 말해, 일반적으로는 Private cloud를 쓰다가 필요할 때 Public cloud를 끌어다 쓰는 것이라고 보면 된다 :>


최근의 Hybrid Cloud
그러나 하이브리드 클라우드는 최근 개념 자체가 모호해진 경향이 있어 클라우드(가상서버)와 온프레미스(물리서버)를 결합한 형태를 말하기도 한다. 이럴 경우 퍼블릭 클라우드의 유연성, 경제성, 신속성과 물리 서버의 보안성, 안정성 등을 함께 취할 수 있다는 장점이 있다!🤗

-> 최근에는 클라우드를 도입하려는 움직임이 늘면서, 모든 것을 클라우드로 이전하기보다 주요 데이터는 온프레미스(물리서버)에 남겨두고 이벤트 또는 신규 서비스처럼 트래픽을 예측할 수 없는 워크로드는 클라우드로 이용하는 구성이 증가하는 추세다!


🤔 프라이빗 클라우드와 온프레미스는 같은 것 아닌가?
외부 클라우드 사업자의 서비스를 이용하지 않고 서비스를 위한 인프라를 직접 구축한다는 점에서 프라이빗 클라우드는 자체 인프라 구축과 동일하다고 할 수 있다. 이는 온프레미스와 동일하게 보일 수 있지만, 확실히 다른 점이 있으니 짚고 넘어가자!

온프레미스와 프라이빗 클라우드의 가장 큰 차이점은, 클라우드 핵심 능력을 보유하고 있는지에 대한 여부이다.

클라우드의 핵심 능력은 신속함, 확장성이며 기업의 서비스에 사용자가 몰리면 프라이빗 클라우드는 해당 서비스를 위한 인프라를 증설해 빠르게 서비스를 안정화시킬 수 있다.

하지만 온프레미스는 이것이 어려우며, 추가적인 증설이 필요하다면 저장장치를 새로 주문하고 설치하기까지 보통 1~2주의 시간이 소요되어 서비스의 안정이 힘들다고 할 수 있다!


서비스 관리 주체와 수준으로 분류한 클라우드

IaaS

Infrastructure as a Service : 서비스로서의 인프라
IaaS는 장비 자체를 클라우드형으로 제공하는 것으로, 하드웨어등 기기를 임대 형태로 빌려온 경우라 생각하면 된다.

기업은 IaaS를 통해 소프트웨어 라이선스와 서버 등 IT 자산을 직접 소유하는 대신 필요에 따라 리소스를 유연하게 대여하고, 이렇게 스토리지, 호스팅, 컴퓨팅, 네트워킹 등이 포함된 인프라를 사용하고 사용한 만큼만 비용을 지급한다.

  • 대표적인 IaaS : AWS(Amazon Web Service)의 EC2, S3와 Google의 GCE(Compute Engine) 등

PaaS

Platform as a Service : 서비스로서의 플랫폼
PaaS는 플랫폼 자체를 클라우드형으로 제공하는 서비스다. Paas는 IaaS 형태의 가상화된 클라우드 위에 개발 환경(Platform)을 미리 구축해, 이를 서비스 형태로 제공하는 것을 의미한다!

PaaS는 가장 정의하기 까다로운 클라우드 모델이기도 한데, 기본적으로는 모든 기본 IaaS에 더해서 개발툴과 기능, 애플리케이션 배포 등을 안전하게 제공하는 것이다. 미들웨어와 데이터베이스 관리, 애널리틱스 혹은 운영체제 등이 포함되어 있다.

  • 대표적인 PaaS : Google App Engiine, 세일즈포스의 히로쿠(Heroku), Readhat의 OpenShift 등

SaaS

Software as a Service : 서비스로서의 소프트웨어
SaaS는 클라우드 인프라 위에 소프트웨어를 탑재해 제공하는 형태로, IT 인프라 자원뿐만 아니라 소프트웨어 및 업데이트, 버그 개선 등의 서비스를 업체가 도맡아 제공한다.

일반적으로 웹을 통해 접속해 로그인하기만 하면 사용할 수 있다. 사용자 혹은 시트를 기준으로 구독 방식으로 과금되는 것이 보통이다.

  • 대표적인 SaaS : 네이버 클라우드, 구글 드라이브, 구글 캘린더, 네이버 메일, Office365, Dropbox, Microsoft365, ERP, 슬랙(Slack) 등

FaaS

Function as a Service : 서비스로서의 기능
이는 서버리스 서비스를 지칭하는 개념이다.
서버리스란, 물리적으로 서버가 존재하지 않는다는 뜻은 아니고, 클라우드 기반의 서비스로서 서버를 구축할 수 없이 서비스를 사용할 수 있는 개념이며, 함수 단위로 제공하는 서비스라는 것이다.

(+) 서버리스==FaaS라고 볼 수는 없다. 서버리스는 FaaS와 BaaS(Backend as a Service)가 있으며, BaaS란 개발자가 직접 구현하던 백엔드 부분을 서비스로서 제공받는 것이다. 예시로는 Auth0, Firebase(구글) 등이 있다.



📝 정리하기

0개의 댓글