클라우드

[클라우드 융합] 용어 및 내용 요약

윤창이 2021. 3. 24. 05:46
728x90

[주의] 개인 공부를 위해 쓴 글이기 때문에 주관적인 내용은 물론, 쓰여진 정보가 틀린 것일 수도 있습니다!

피드백 부탁드립니다. (- -)(_ _) 꾸벅


 

O2O : online to offline의 앞 글자를 따온 것으로 온라인과 오프라인이 결합하는 현상

 

디지털 트랜스포메이션 : 디지털 트랜스포메이션은 클라우드 컴퓨팅을 활용하여 문제를 해결하고 소유 중인 하드웨어 사용자에 대한 의존성을 줄이되 구독 기반 클라우드 서비스에 의존성을 증대시키기 위해 새롭고 빠르고 자주 변화하는 디지털 기술을 사용하는 방식

- More Agility (변화에 쉽게 대응하는)

- More Infra Flexibility (인프라 유연성)

- Dynamic Management (동적 관리)

- Automation (자동화)

- Scale out (확장)

 

Silo Architecture : 클라우드 이전 Traditional한 독자적인 서비스 구축 방식. 복잡한 network, 단일 Application에 의존, 증설 작업의 어려움

 

On-Demand : 요구가 있을 때 언제든지, 즉시 주문하여 사용할 수 있는 특성 (공급이 아닌 수요가 결정)
On-Premise
: 기업의 서버를 클라우드 같은 원격 환경에서 운영하는 방식이 아닌, 자체적으로 보유한 전산실 서버에서 설치 및 운영하는 방법

 

Cloud 도입 효과

  1. 풍부한 인프라 자원
  2. 풍부한 Built-in 서비스
  3. 서비스의 안정성
  4. 인프라/서비스 CAPEX(초기투자비)/OPEX(운용비) 비용 절감

Agile : 점점 더 빠른 개발과 무중단 배포가 지속적으로 이루어지는 IT 환경의 특성

 

DevOps : Development Operation의 약자로 개발과 운용을 뜻함

 

CI/CD : Continuous Intergration, Deployment의 약자로 지속적인 통합과 배포를 뜻함

 

클라우드 서비스 분류

  • SaaS (Software as a Service) : 응용 소프트웨어를 서비스 형태로 제공
  • PaaS (Platform as a Service) : 소프트웨어를 개발하기 위한 플랫폼 (OS, Web, Was, Framework)
  • IaaS (Infrastructure as s Service) : 서버, 스토리지, 네트워크 등 인프라 자원을 서비스 형태로 제공 (AWS, MS Azure, Google Cloud)

Cloud 관련 용어

  • Public Cloud : Cloud 회사를 이용하여 서비스를 제공 받는 것
  • Private Cloud : Cloud 회사가 아닌 자기 소유의 클라우드 서비스를 구축한 것, 주로 데이터 보호가 필요한 사기업이나 은행에서 사용하며, 통신사의 이동통신망에서도 Private 클라우드 환경 사용
  • Hybrid Cloud : 일부는 Public, 일부는 Private로 사용하는 것
  • Multi Cloud : A회사의 클라우드 서비스와 B회사의 클라우드 서비스를 혼용하는 것

Open Stack : Private Cloud, Telco Cloud 기반의 Cloud OS 오픈소스 프로젝트, 수많은 개발자들이 참여하에 공유코드 형태로 개발이 진행 중. Open source + Open API = Open Development

 

Cloud 컴퓨팅의 장점

  1. 비용 : 구입비용, 유지 관리 비용, 인프라 관리 전문가 등의 비용 절감
  2. 속도 : 주문형 셀프 서비스이므로 Scaling 관련 부담을 줄임
  3. 확장성 : 바로 필요한 때에 적절한 지리적 위치에서 서비스 제공
  4. 생산성 : 인프라 구칙 및 관리 노력 대신 비즈니스 목표에 시간 투자
  5. 퍼포먼스 : 정기적으로 업데이트 되므로 최상의 성능 유지
  6. 안정성 : 사이트에 데이터를 미러링(백업)하므로써 장애시 연속성 제공
  7. 보안 : 클라우드 사업자 보안 전문가를 활용

가상화(Virtualization) : 컴퓨터의 물리적 리소스를 추상화, 즉 물리적인 자원을 논리적인 자원으로 보이게 하는 기술

Hypervisor : 호스트 컴퓨터에서 다수의 운영체제를 동시에 실행하기 위해 하드웨어 자원을 논리적 플랫폼으로 가상화해 주는 소프트웨어

 

설치 방식에 따른 분류

  1. Native or Bare metal : 호스트 하드웨서 상에서 바로 동작하며, Intel VT, AMD-V 같은 CPU가 가상화를 지원해야함 (Ex. KVM)
  2. Hosted : 호스트의 OS상에서 Hypervisor 동작하는 형태. VirtualBox, VMware, QEMU 등이 있음

전가상화(Full Virtualization) vs 반가상화(Para Virtualization)

전가상화 - 하드웨어 전체를 완전히 가상화, Guest OS를 원 OS의 변경없이 사용 가능

반가상화 - 하드웨어를 완전히 가상화하지 않아서 하이퍼바이저를 통해 제어 (예 : QEMU)

 

KVM : 리눅스에 기본으로 내장되어 있으며 가상화를 지원하는 CPU에서 전가상화를 하는데 쓰이는 방식이다. 

QUMU : OS위에서 virtual machines 자원을 에뮬레이트 해준다. 명령을 Translation하는 역할. 하드웨어를 소프트웨어로 emulation 하는 것이기 때문에 매우 느려 KVM과 함께 쓰인다.

Libvirt : KVM은 여러 가상환경을 갖고 있는데, 각 환경으로부터 통일된 인터페이스 방법으로 통합하여 관리하기 위한 라이브러리

 

VM vs Container

VM - HOST OS 위에서 hypervisor를 통해 자원을 가상화하여 동작

Container - HOST OS에서 프로세스를 위한 공간을 별도로 분리, 기본적인 Binary, Library만은 Guest OS 대신 사용

 


OpenStack : 클라우드를 API나 Dashboard같은 GUI로 관리하는 OS

초기 compute, storage, image라는 이름이 버전업 되면서 각각 nova, swift, glance 등으로 바뀌어 갔고, 지금은 매우 복잡

 

Web Frontend Project

Horizen : 대시보드 서비스로 웹 UI를 통해 관리가 가능. 아파치 웹서버를 사용하며 대시보드는 파이썬 장고 프레임워크

 

Compute Project

Nova : Hypervisor를 관리하는 API 제공, 인스턴스 생성관리 및 제어기능

Network Project

Neutron : SDN 개념이 들어오면서 프로젝트 오픈, 디양한 네트워크 플러그인과 네트워크 모델을 지원

 

Storage Project

Cinder : 블록 스토리지(하드디스크), 정형성 저장에 적합하며 문제시 포맷할 수 없으므로 지웠다 다시 생성해야함

Swift : 오브젝트 스토리지, 비정형성 저장에 적합, 사용자 계정별 저장공간 제공 가능

Manila : 공유파일 스토리지

 

Shared Services Project

Keystone : 물리서버 내 자원들에 대한 인증관리

Glance : 운영체제 이미지와 VM에 설치된 OS 보관 및 관리, glance-api를 통하여 이미지 등록, 삭제 및 관리

 

 

Tenant Data Network : vm이 여러군데 흩어져 있어도 같은 회사끼리는 연결되게끔 하는 네트워크

Internal Admin/API Subnet : 내부적 관리를 위한 네트워크

Storage Subnet : Compute Node와 Storage Node간의 연결이 필요할 때 쓰이는 저장소 네트워크

 


Rest API (REpresentational State Transfer) 

- HTTP 방식을 사용하여 Web 서비스를 만들자!

- Addressable Resource : 모든 것에 ID가 있고 URI를 가지게 함

- Constrained Interface : 복잡한 거 말고 HTTP의 GET, POST, PUT, DELETE의 명령을 이용하여 간단한 인터페이스를 만들자

- Communicate statelessly 

- URL에 쿼리 매개변수를 추가하여 HTTP GET 명령에 매개변수 전달 가능

- 즉 Rest API는 모든 정보와 기능을 URI로 표현하고 HTTP 방식을 사용

728x90