이것저것

클라우드란?

담쏙 2022. 1. 6. 21:30
728x90

클라우드

  • 인터넷을 통해 액세스할 수 있는 서버와 이러한 서버에서 작동하는 소프트웨어 및 데이터베이스
  • 클라우드 서버는 전 세계 데이터 센터에 위치
  • 클라우드 컴퓨팅을 사용하면 직접 물리적 서버를 관리하거나 자체 서버에서 프로그램을 실행하지 않아도 됨

 

장점

  • 클라우드를 이용해 사용자는 거의 모든 장치에서 동일한 파일과 애플리케이션을 액세스할 수 있음
    • ex) 새로운 휴대전화에서 인스타그램에 로그인해도 모든 사진, 영상, 대화 이력이 그대로 계정에 유지
  • 클라우드 컴퓨팅으로 전환하면 IT 비용과 간접비 절감
    • 자체 서버를 업데이트하지 않아도 클라우드 업체가 대신 처리
    • 내부 인프라를 사용할 수는 없지만 저렴한 가격으로 아웃소싱 가능 (작은 기업에 효과적)

 

클라우드 컴퓨팅

  • 가상화로 자체 하드웨어를 가진 실제 컴퓨터처럼 작동하는 가상 컴퓨터를 만들 수 있음 → `가상머신`
  • 인터넷으로 가상화된 IT 리소스(서버, 플랫폼, 소프트웨어)를 서비스로 제공하는 것
  • 동일한 물리적 머신에 있어도 가상 머신끼리 상호작용하지 않음
  • 자신을 호스팅하는 하드웨어를 효율적으로 사용
    → 많은 가상 머신을 동시에 실행 시 하나의 서버가 여러 개가 되고 여러 조직(고객)에 서비스를 제공 가능

 

클라우드 모델 (서비스)

IaaS(Infrastructure-as-a-Service)

  • 물리적 자원(서버, 하드드라이브, 네트워킹, 가상화 및 스토리지) 가상화해 제공
    → 확장성이 높고 자동화된 컴퓨팅 리소스를 가상화하여 제공
  • 제공받은 클라우드 인프라로 자체 응용프로그램 구축 (고객이 OS, MW, 데이터, 애플리케이션 구축)
  • 물리적 자원에 대해 고정비(운영)가 들지 않으며, 자동화된 배포, 규모의 확장 및 축소가 자유로움
  • AWS(Amazon Web Service), Microsoft Azure, DigitalOcean, GCE(Google Compute Engine)

PaaS(Platform-as-a-Service)

  • 응용 프로그램을 개발할 때 필요한 플랫폼(OS, MW, 런타임)+인프라을 가상화해 제공
  • 개발자는 OS, SW업데이트, 저장소 관리 없이 애플리케이션과 데이터 구축에만 집중
    → 특수 SW 구성요소 사용, PaaS에 내장된 응용 프로그램 구축 가능 (확장 가능성, 높은 가용성)
  • 필요한 플랫폼만 사용하기에 비용 부담을 덜 수 있으며 유지 관리가 쉬워짐(리소스 확장, 축소 자유)
  • 특정 플랫폼 서비스에 종속될 수 있음
  • AWS Elastic Beanstalk, Window Azure, Heroku, Google App Engine

SaaS(Software-as-a-Service)

  • 사용자에게 제공되는 완벽히 작동하는 소프트웨어와 데이터+플랫폼+인프라를 가상화해 제공
  • 애플리케이션이 클라우드 서버에 호스팅되고 사용자는 어디에서나 인터넷을 통해 애플리케이션에 액세스
  • 클라이언트 측에서 따로 다운로드나 설치가 필요하지 않음
  • 잠재적인 기술문제를 모두 SaaS 업체에서 관리하기 때문에 유지보수 및 자원을 간소화 하며 비즈니스에 집중 가능
  • 커스터마이징이 어려움
  • Google Apps, Dropbox, Salesforce, WhaTap

FaaS(Function-as-a-Service)

  • 서버리스 컴퓨팅으로 클라우드 응용 프로그램을 필요할 때만 실행되는 더 작은 구성요소로 나눔
  • 똑같이 서버에서 실행되지만 서버리스라고 불리는 것은 응용 프로그램을 구축한 기업이 서버를 관리하지 않아도 되기 때문 (PaaS처럼 서버프로그램을 백그라운드에서 실행할 필요 X)
  • 이벤트에 대응하여 애플리케이션을 실행하도록 지원하는 추상화 기능을 제공하며, 이벤트 기반 실행모델을 통해 온디맨드로 미터링 됨
  • 사용자가 증가하면 확장되거나 복제됨
  • 대량의 트랜잭션, 리포트 생성이나 이미지처리, 가끔씩만 발생하는 워크로드에도 적합
  • AWS Lambda, Google Cloud Functions, Microsoft Azure Functions, OpenFaaS

 

클라우드 배포

  • 프라이빗 클라우드
    • 제한된 네트워크 상에서 특정 기업, 특정 사용자만을 대상으로 함
    • 자원과 데이터는 기업 내부에 저장되어 보안성이 뛰어나며 클라우드 커스터마이징 용이
    • 비용이 적게 드나 확장이 용이하지 않음
  • 퍼블릭 클라우드
    • 프라이빗 클라우드와 달리 인터넷에 접속한 모든 사용자를 위한 모델
    • 데이터, 서버 등의 자원은 서비스에서 사용자 별로 권한 관리가 되어 사용자 간 간섭이 없음
  • 하이브리드 클라우드
    • 1개 이상의 프라이빗 클라우드와 1개 이상의 퍼블릭 클라우드, 2개 이상의 퍼블릭 클라우드, 2개 이상의 프라이빗 클라우드, 1개 이상의 퍼블릭 클라우드 또는 프라이빗 클라우드에 연결되는 베어메탈(bare metal) 또는 가상 환경, 또는 클라우드와 온프레미스(물리서버)를 결합한 형태
    • 하나의 네트워크를 통해 여러 대의 컴퓨터를 연결 (VPN, 임대 회선 같은 보안 연결)
    • IT 리소스 통합
    • 새로운 리소스 확장 및 빠른 프로비저닝
    • 여러 환경 간 워크로드 이동 가능
    • 통합된 단일 관리 툴 포함
    • 자동화를 통해 프로세스 오케스트레이션
  • 멀티 클라우드
    • 다수의 업체가 제공하는 동일한 유형(퍼블릭, 프라이빗)의 클라우드를 사용하는 클라우드 배포 유형
    • 여러 외부 업체로부터 가상서버와 서비스를 대여
    • 클라우드 솔루션 옵션이 늘어날 뿐 아니라 한 곳의 벤더에 대한 의존도를 줄일 수도 있음

'이것저것' 카테고리의 다른 글

[Spring boot] Postgresql 연결  (0) 2022.05.20
Vuejs 시작 명령어  (0) 2022.05.10
Git Hub 프로필 꾸미기  (0) 2021.09.25
[Window 10] 개발자 모드 활성화 하기  (0) 2021.02.22