본문 바로가기

Programming diary

26. November 23, 2020

 

 

Cloud Computing (Cloud Service)

인터넷이 발전하고 4차 산업혁명이 일어나면서 다양한 환경에서 인터넷을, 자료를 사용하는 사용자들이 많아졌다. 그에 따라 Amazone, Google, Microsoft 등의 대기업에서는 가상화된 IT 리소스를 서비스로 인터넷으로 제공하기 시작했다. 이것이 클라우드 컴퓨팅, 클라우드 서버이다. 쉽게 말해 USB나 외장하드가 없이도 내가 컴퓨터에서 작업했던 파일을 클라우드를 통해 모바일로도 확인할 수 있고, 해당 클라우드를 친구나 동료와 공유하면 굳이 파일을 주고받을 필요없이 다운로드 및 수정이 가능한 것이다. 네이버 클라우드나 구글 드라이브를 예로 들 수 있다. 

 

조금 더 나아가서 본다면

회사의 입장에서는 클라우드 서버를 이용하면 얼마만큼의 유저를 모아올 지 모르는 상황에서 데이터 센터와 서버에 대규모의 투자를 하는 대신 컴퓨팅 리소스를 사용할 때만, 그리고 사용한 만큼의 리소스에 대해서만 지불을 하면 된다. 그 뿐인가. 그 서버를 관리하는 인원도 필요없고 서버를 설계하는데 들어가는 시간도 줄일 수 있다. 또한 계속 유저 인입량을 보면서 서버를 다시 크게 혹은 작게 재설계해야된다는 고민도 해결할 수 있다. 클릭 몇번 만으로 전 세계에 배포가 가능한 세상이 온 것이다. 

 

 

 

 

 

 

클라우드 컴퓨팅 종류

 

 

 

 

On-site (회사에서 직접 다 관리하는 경우)

왜 회사에서 서버며 저장공간, 네트워크, 데이터 등을 다 직접 관리해야 할까? 바로 보안때문이다. 정말 중요한 회사 기밀을 담고 있거나 많은 고객의 깊은? 개인정보를 가지고 있는 경우 클라우드 서비스를 이용할 경우 해당 회사 보안이 무너지거나 회사가 망할 경우 데이터의 유출을 발생시킬 수 있는데 그 위험성을 안고 갈 수 밖에 없다. 그 외에 이용해야 하는 IT자원이 다량의 고 기술들이라면 렌트의 개념으로 매달 비싼 돈을 내는 것보다 사는 게 장기적인 면에서 유리할 수 있다.

 

 

IaaS : 물리적 자원 제공

클라우드 서비스로 컴퓨팅, 네트워킹 및 기타 인프라스트럭쳐를 고객에게 제공한다. 서버, 네트워크, 스토리지를 가상화하여 API혹은 UI형태의 대시보드로 제공한다. 때문에 서버 사양의 변경 등 물리적 자산의 수정이 필요한 경우 기존 방식보다 빠른 대응이 가능하다. 즉 고객은 OS, 미들웨어, 애플리케이션 및 데이터와 같은 자원들만 관리하면 된다.

  • 장점 : 1) 고정비가 들지 않으며, On demand로 필요한 만큼만 쓰고 비용을 지불하면 된다.
             2) 구매와 동시에 자원을 즉시 소비할 수 있다.
             3) 자동화된 배포가 가능하고 규모의 확장 또는 축소가 자유롭다. 
  • 단점 : 당연한 얘기지만 개발자가(고객이) OS설치부터 각종 서버환경을 직접 세팅해야 하므로 그만큼의 시간이 더 소요되고, 노력이 소비된다. 
  • 제공하는 서비스 예 : Amazone AWS, Microsoft Azure, Google Computer Engine(GCE)

*내가 사용했던 Amazone EC2가 IaaS에 해당한다. 

 

 

PaaS : 소프트웨어 개발을 돕는 플랫폼 제공

PaaS는 고객에게 OS, 미들웨어, 런타임과 같은 소프트웨어 작성을 위한 플랫폼을 가상화하여 고객에게 제공한다. 사용자 정의 응용 프로그램을 개발하고 사용할 수 있는 개발자를 위한 프레임워크를 웹으로 제공하기 때문에 개발사는 미들웨어를 설치하지 않고도 미들웨어에서 제공하는 API를 사용하여 소프트웨어를 개발할 수 있다. 

  • 장점 : 1) 필요한 플랫폼만 소비 형태로 사용하기 때문에 비용에 대한 부담을 줄일 수 있다.
             2) 개발 및 배포 프로세스를 빠르게 확보할 수 있다.
             3) 소프트웨어 유지, 관리가 쉬워지고 많은 사용자가 동일한 개발 응용 프로그램에 엑세스할 수 있다.
  • 단점 : 해당 플랫폼만 이용해야 한다. 
  • 제공하는 서비스 예 : AWS Elastic Beanstalk, Windows Azure, Heroku, Google App Engine

 

SaaS : 고객이 사용하는 소프트웨어 제공

SaaS는 고객을 대신하여 소프트웨어와 데이터를 고객에게 제공하고 관리한다. SaaS의 애플리케이션은 웹 브라우저를 통해 직접 실행되므로 고객은 프로그램을 설치하는 번거로움을 덜 수 있다. 그렇기 때문에 고객은 유지 보수나 지원을 간소화 하면서 비지니스에 집중할 수 있다.

  • 장점 : 언제 어디서든 접근 가능하며 소프트웨어를 설치할 필요없이 즉시 사용이 가능하다.
  • 단점 : 커스터마이징이 어렵다.
  • 제공하는 서비스 예 : Google Apps, Dropbox, Naver Cloud

 

 


참고

 

brunch.co.kr/@leedongins/60

ko.wikipedia.org/wiki/%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C_%EC%BB%B4%ED%93%A8%ED%8C%85

networkencyclopedia.com/cloud-computing/

www.redhat.com/ko/topics/cloud-computing/what-is-iaas

'Programming diary' 카테고리의 다른 글

28. November 24, 2020  (0) 2020.11.24
27. November 23, 2020  (0) 2020.11.23
25. November 20, 2020  (0) 2020.11.20
Java Developer RoadMap! Study with yuni  (0) 2020.11.19
24. November 04, 2020  (0) 2020.11.04