On-premises 컴퓨팅(온프레미스 컴퓨팅)이란?
온프레미스 컴퓨팅 방식이란 이전에 클라우딩 컴퓨팅 방식이 존재하지 않을때 일반적으로 기업에서 인프라를 구축하는 방법이라고 합니다.
인프라 구축이란 다양한 분야에서 사용되는 언어인데 기업이 일을 할 수 있는 기반을 다져놓는다고 생각하면 됩니다.
즉, 기업이나 조직이 필요한 기술적 인프라(기반)를 설치하고 구성하는 프로세스를 의미하죠. 이는 기술적인 부분에서 주로 하드웨어, 소프트웨어, 네트워크, 데이터 저장소 및 관리 시스템 등을 포함해서 사내 전산실을 구축한다는 의미와 같습니다.
이렇게 온프레미스는 기업 자체의 공간에서 직접 설치되어 운영되는 것입니다. 예를 들어 A기업에서 컴퓨터로 작업하기 위해 소프트웨어, 하드웨어, 데이터 저장소 등이 필요한 데 이것을 기업 자체에서 준비하는 것입니다. 그러니 당연히 시간은 많이 들고, 기업 자체에서만 사용하니 비교적 보안성도 높겠죠. (누군가가 정보를 가로채지 않는 이상)
그러나 사람들은 이런 온프레미스 컴퓨팅을 사용하다가 이 인프라에서 모든 부분이 필요한게 아니라 특정 부분의 인프라만 필요한데 AtoZ까지 일일히 다 구축해야하고 시간도 짧게 가져가고 싶은 생각이 들게 된거죠. 그래서 등장한것이 클라우딩 컴퓨팅이라고 생각하시면 편할 것 같습니다. 하지만 저런 간단한 생각으로 클라우드 컴퓨팅이 나온것은 아니고,
CPU 처리의 고속화 즉 하드웨어 성능이 빠르게 발전된 것이 큽니다.
Cloud 컴퓨팅(클라우드 컴퓨팅)이란?
비교군이니 on-premises와 반대라는 개념인 것은 어느정도 감이 오시죠? 네 맞습니다.
클라우드 컴퓨팅은 인터넷을 통해 컴퓨팅 서비스를 제공하는 기술이며, 이를 통해 사용자들은 데이터 저장, 네트워킹, 소프트웨어, 분석 등을 위한 IT 리소스를 필요한 만큼 요금을 지불하고 사용할 수 있습니다.
공유가 가능한 것이 이점이고 따로 어떠한 인프라를 시간적으로 투자하지 않고도 간편하게 요청해서 해당 컴퓨팅 서비스를 사용할 수 있습니다.
클라우드 컴퓨팅의 특징은 다음과 같죠.
- 주문형 서비스 (원하는 것만 지불해서 사용 가능)
- 넓은 범위의 접속 가능(인터넷 사용으로 가능하기 때문에)
- 리소스의 공유
- 신속한 확장성 (따로 투자할 시간이나 전문가가 필요하지 않음)
- 측정 가능(서버 인프라에 대한 전문가가 아니더라도 서비스가 잘 구축되어있기 때문에 시각화가 편리하고 유지보수가 용이한 부분)
물론 인터넷에서 서비스를 이용하니 보안적으로는 온프레미스보다 약하겠죠.
그래서 이 보안적인 문제로 고안된 서비스 제공 형태가 다음과 같은 세가지 방식입니다.
(여기서 community cloud는 배제해두겠습니다. 잘 알려지지 않은 클라우드 모델이며, 일반 대중이 사용할 수 없다고 해요.)
- Public
- Private
- Hybrid
java에서도 쓰이는 접근제한자가 보이죠. 그것과 동일합니다.
Public Cloud
여러 사용자가 공공으로, 동시에 사용 가능한 클라우드 서비스 모델.
Private Cloud
단일 조직에서만 사용하는 클라우드 서비스 모델.
단일 조직이나 기업이 소유하고 운영하는 클라우드 환경으로, 내부 네트워크 또는 데이터 센터에서 운영됨.
온프레미스처럼 보안성을 높인 경우.
Hybrid Cloud
private, public 딱 중간을 합친 모델이라는 의미가 아님.
public cloud가 private cloud(다른 클라우드 유형)과 결합되있고 둘 사이에 데이터나 애플리케이션 이식성이 있는 경우
사용하는 클라우드 서비스 모델.
즉, 보안성이 더 중요한 서비스는 private cloud를, private cloud와 동떨어진 다른 관련 없는 인스턴스만 pulbic cloud를 사용한다는 의미가 아님.
서비스 모델은 다음과 같고, 이제 배포 모델을 살펴보면 우리가 어디선가 봤던 용어들이 나온다.
사실 이미지만 보고 이해할 수 있다.
on-site는 앞전에말한 on-premises와 같이 모든 인프라를 다 사내 전산실에서 구축해야하는 것이다.
IaaS (Infrastructure as a Service)
IaaS는 간단하게 네트워크, 저장소, 서버, 가상화만을 비용을 지불해 사용하고 나머지 OS, 미들웨어, 런타임, 데이타, 애플리케이션 등은 직접 구성할 수 있는 가벼운 서비스이다.
예시: AWS, Microsoft Azure, Google Cloud
PaaS (Platform as a Service)
PaaS는 IaaS에서 OS, 미들웨어, 런타임까지 비용을 지불해 사용할 수 있는 IaaS보다는 무거운 서비스이다. 이름 처럼 서비스를 제공할 수 있는 플랫폼 자체를 구매해서 사용하는 서비스인것이다.
예시: AWS Elastic Beanstalk, Heroku 및 Red Hat OpenShift
SaaS (Software as a Service)
소프트웨어 애플리케이션 자체를 구매해서 모든 서비스를 사용할 수 있는 서비스이다. 모든 과정을 클라우드 컴퓨팅을 제공하는 업체가 다 구축해서 제공해준다.
예시: Dropbox, Salesforce, Google Apps 및 Red Hat Insights
저는 여기서 AWS의 S3 service를 사용해서 팀프로젝트로 이미지 서버를 따로 구축해 저희 협업 서비스에서 사용할 예정입니다.