[23.01.07] 60일차 [리눅스]

W·2023년 1월 17일
0

국비

목록 보기
88/119

클라우드 컴퓨팅

  • 인터넷 기술을 이용해서 다수의 사용자에게 하나의 서비스로서 방대한 연산 능력을 제공하는 컴퓨팅 방식
  • 분산처리/그리드 컴퓨팅 + 온디멘드/유틸리티 컴퓨팅(종량제) 방식의 요금 → 클라우드 컴퓨팅
  • 실시간으로 사용한 자원을 집계하여 요금을 확인할 수 있다.
  • 다양한 클라이언트 플랫폼에서 사용이 가능하다.
  • 오토 스케일링으로 수요에 따라 자원의 확장과 축소를 할 수 있다.
  • 자원들을 풀(pool)로 관리하며, 필요한 곳에 탄력적으로 자원을 배분하여 사용할 수 있다.
  • 단점으로는 인터넷 환경으로 모든 것들이 오가기 때문에 회선의 성능에 따라서 서비스의 품질이 달라질 수 있다.
  • 긴급한 상황에서 물리적인 대처 방법을 사용할 수 없다.
  • 미리 정의된 대응 매뉴얼이 없는 경우 문제가 될 수 있음.

컴퓨팅 방식

온프레미스

  • 기업에서 프라이빗 데이터센터를 구축하여 활용하는 클라우드 컴퓨팅 방식
    데이터에 대한 보안적인 측면에서 신뢰도가 높다.
  • 보통은 건물내에 구축하기 때문에 신속하게 대응할 수 있다.
  • 직접 데이터센터를 구축하고 운용하기 때문에 초기 투자비용이 발생하고, 지속적으로 운용비용이 계속 발생을 한다.
  • 서비스에 대한 수요 예측치의 최대값을 기준으로 장비를 구성하기 때문에 상대적으로 고사양의 장비를 사용하게 될 수 있다.
  • 한정된 자원으로 탄력적인 자원의 할당, 재할당은 어렵다.

퍼블릭 클라우드

  • 인터넷을 통해서 다수의 사용자, 기업에게 클라우드 자원을 클라우드 서비스 제공자(aws, gcp, azure, …)에게서 제공하는 형태의 운영 방식이다.
  • 일반적으로 종량제 방식으로 비용을 산정하여 사용하게 된다.
  • 제공되는 자원은 사용자별로 격리되어 있기 때문에 사용자 서로 간에는 간섭이 없다.

프라이빗 클라우드

  • 제한된 내부 네트워크(인트라넷)를 통해서 사원을 제공하는 특정 사용자, 기업들을 대상으로 하는 클라우드 서비스 방식.
  • 클라우드 자원들은 외부에 공개되지 않으며, 해당 자원들의 관리 책임은 기업에 있다.
  • 기밀성이 요구되는 서비스를 운영하는 경우 사용.

하이브리드 클라우드

  • 퍼블릭 클라우드와 프라이빗 클라우드의 장점을 활용할 수 있는 클라우드 서비스 방식
  • 클라우드 서비스간 유연하게 데이터를 주고 받으며 운영할 수 있고 서비스의 용도에 맞게 구축 할 수 있다.
  • 민감한 정보들은 프라이빗, 자원의 수요 변화가 크며 상대적으로 덜 민감한 정보들은 퍼블릭 클라우드의 형태로 조합 할 수 있다.

클라우드 서비스의 종류

  • 클라우드 서비스 제공자가 클라우드 자원을 제공해주는 방식

IaaS(Infrastructure as a Service)

  • 가상화 된 하드웨어 자원을 제공하는 클라우드 서비스 방식
  • 인프라를 제공받아 사용하지만 운용에 필요한 수준의 기반 지식은 필요하다.

PaaS(Platform as a Service)

  • 인프라, 운영체제(OS), 미들웨어가 구성된 것을 제공받는 클라우드 서비스 방식
  • 설치과정이나 환경 설정을 할 필요없이 개발 데이터를 입력해서 서비스를 구축할 수 있는 방식

SaaS(Software as a Service)

  • 완성되어 있는 서비스를 소비하는 형태로 사용자는 별도의 설정이나 구성이 필요없이 바로 사용이 가능한 형태의 서비스 방식이다.

컨테이너

가상화

  • 클라우드 컴퓨팅에서는 실제 서버 인프라의 구성을 고객에게 제공하지 않고 가상으로 구현하여 고객에게 제공하며 이를 토대로 다양한 서비스들을 구현할 수 있다.
  • 고객의 입장에서 실물 하드웨어 장치들을 관리할 필요가 없어지면서 이를 운용 관리하는데 필요한 비용이 발생하지 않는다.
  • 가상화를 구현하는 방식은 크게 하이퍼바이저 방식, 컨테이너 방식

하이퍼바이저

  • 가상머신 방식의 가상화로 호스트(서버) 운영체제 위에 가상화 소프트웨어(virtual box, vmware, …)를 사용하여 여러 게스트(가상머신)들을 구동한다.
  • 하이퍼바이저는 가상머신을 생성하고 실행, 가상 하드웨어와 가상 머신들의 모니터링을 수행하는 관리도구이다.
  • 가상화 소프트웨어들은 하이퍼바이저 통해서 호스트 운영체제와 게스트 운영체제의 물리적인 공간을 격리시켜 운용한다.
  • 각 게스트 가상 머신들은 하드웨어를 가상으로 구현하기 위해 호스트 운영체제로부터 개별 독립적인 자원들을 할당받기 때문에 상대적으로 많은 저장공간이 필요하다.

컨테이너

  • 컨테이너 방식은 하이퍼바이저의 물리적 공간의 격리와는 다르게 컨테이너 기술을 활용하여 프로세스를 격리하여 구동하는 방식의 가상화 기술이다.
  • 애플리케이션의 구동하는 환경을 격리하여 구현한다.
  • chroot : 특정 디렉토리를 최상위 디렉토리 경로인 'root'로 인식시키는 명령어
  • namespace : 프로세스 자원을 관리하는 기능
  • cgroup : 하드웨어 자원의 사용을 제어하는 기능
  • 대표적인 컨테이너 방식의 가상화 기술로 Docker가 있다.
  • 컨테이너 방식에서는 호스트 운영체제의 자원을 바로 사용하기 때문에 상대적으로 적은 공간을 사용한다.
  • 별도의 운영체제를 구현하지 않아도 되기 때문에 가볍고 빠르다
  • 가상머신 방식의 가상화에 비해서 상대적으로 더 적은 자원을 사용한다.

https://hub.docker.com/

도커(DOCKER)

https://www.docker.com/
https://hub.docker.com/
https://hub.docker.com/signup

도커 계정 가입

도커 튜토리얼

https://www.docker.com/101-tutorial/

웹으로 도커를 체험할 수 있는 4시간짜리 세션 연습 페이지
https://labs.play-with-docker.com/

$docker image ls

$docker ps

$docker pull centos:7


$docker image ls

$docker run -it --name=centos7 centos:7 /bin/bash

# cat /etc/os-relase

0개의 댓글