클라우드

DEV_HOYA·2023년 10월 12일
0

CS

목록 보기
4/55
post-thumbnail

📌 클라우드

  • 광대한 네트워크를 통하여 접근할 수 있는 가상화된 서버와 서버에서 작동하는 프로그램과 데이터베이스를 제공하는 IT 환경
  • 필요한 컴퓨팅 자원을 인터넷으로 쉽게 이용할 수 있다.

⭐ 가상머신(Virtual Machine)

  • 하이퍼바이저 위에 가상머신이 설치됨. 독립적으로 OS 설치가능
  • 한 대의 하드웨어로 여러명의 독립적인 서비스를 할 수 있음
  • 가상화 배포 방식을 기반으로 클라우드가 탄생함

⭐ 오프프레미스, 온프레미스

  • 오프프레미스 : 자체 인프라나 하드웨어 설치 없이도 애플리케이션과 리소스를 이용가능, 클라우드 컴퓨팅
  • 온프레미스 : 기업이나 개인이 자체 시설을 보유하고 직접 유지관리하는 것

⭐ IaaS, PaaS, SaaS(클라우드 서비스)

💡 IaaS(InfraStructure as a Service)

  • 클라우드가 단지 인프라만 제공, 개발자가 직접 많은 것을 설치해야 하는 대신 특정 서비스에 종속되지 않는다.
  • 물리적 자원 제공
  • 빈 방

💡 PaaS(Platform as a Service)

  • 클라우드가 플랫폼을 제공, 클릭을 통해 해당 서비스를 이용할 수 있다.
  • 모니터링, CI/CD가 제공됨
  • 소프트웨어 개발을 돕는 플랫폼 제공
  • 빌트인 방

💡 SaaS(Software as a Service)

  • 클라우드가 완전한 서비스를 제공
  • 고객이 사용하는 소프트웨어 제공
  • 풀옵션 방

💡 IaaS VS PaaS

  • IaaS : 유연하다, 플랫폼에 종속되지 않는다, 이식성 높다, 운영비 효율 안좋다.
  • PaaS : 유연하지 않다, 플랫폼에 종속된다, 이식성 낮다, 운영비 효율 좋다.

⭐ 컨테이너와 도커

💡 컨테이너

  1. 애플리케이션이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 코드와 모든 종속성을 패키징하는 소프트웨어의 표준 단위
  2. 격리성
  3. 경량화
  4. 구동하려는 애플리케이션을 실행할 수 있는 환경까지 감싸서, 어디서든 쉽게 실행할 수 있도록 해 주는 기술

💡 도커

  1. 컨테이너 배포에 필요한 모든 기능을 제공하는 플랫폼
  2. IaaS의 장점(이식성, 유연성) + PaaS의 장점(운영효율성)을 합친 것
  3. 컨테이너를 다루는 도구

💡 도커파일

  • 패키지, 환경변수설정 기록 파일, 이를 빌드해 도커 이미지로 변환함

💡 도커 이미지

  • 컨테이너의 설계도 역할
  • 컨테이너 실행에 필요한 파일과 설정값, 데이터를 포함한 상태값이다. 하나의 이미지에 여러개의 컨테이너를 생성할 수 있다.
  • 특정 프로세스를 실행하기 위한 환경 상태들을 여러 파일로 저장해놓은 것

💡 도커 컨테이너

  • 컨테이너가 실행되면 도커이미지에 설정된 프로그램, 데이터가 실제 컴퓨팅자원과 연결됨
  • 컨테이너로 무엇을 하든 이미지에는 변화가 없다. 다만 컨테이너(독립된 프로세스)에 새로운 파일을 더해 새로운 이미지로 만들수는 있다.
  • 도커 이미지는 프로그램 설치 CD이고 도커 컨테이너는 그 프로그램을 실행한 프로세스다.

💡 쿠버네티스(Kubernetes)

  • 컨테이너화된 애플리케이션을 배포, 관리, 확장할 때 수반되는 다수의 수동 프로세스를 자동화하는 오픈소스 컨테이너 오케스트레이션 플랫폼
  • 여러 서버(노드)에 컨테이너를 분산해서 배치하거나, 문제가 생긴 컨테이너를 교체하거나, 컨테이너가 사용할 비밀번호나 환경 설정을 관리하고 주입해 주는 일 등

⭐ 전통적 배포방식 VS 가상화 배포방식 VS 컨테이너 배포방식

  • 전통적 배포방식
    • 하나의 OS위에 여러 프로그램을 사용하는 것, 다른 앱에 영향을 미친다.
  • 가상화 배포방식
    • 여러개의 OS를 구동하여 다른 앱에 영향을 끼치지 않는다.
    • 하이퍼바이저는 하나의 시스템 상에서 가상 컴퓨터를 여러 개 구동할 수 있도록 해 주는 중간 계층
    • App은 실행하고자 하는 프로그램, Bin/Library는 프로그램이 실행하는데 필요한 환경과 관련된 파일
  • 컨테이너 배포방식
    • 컨테이너는 가상머신과 달리 프로그램 구동을 위해서 OS를 매번 설치할 필요가 없다.
    • 하나의 OS만 사용한다.
    • '서로 다른 프로그램이 서로 다른 컴퓨터에서 깔려 있다’고 생각하게 된다.
    • 프로그램의 문제가 OS에 문제를 일으킬 경우에는 OS에서 구동 중인 전체 컨테이너의 문제가 될 가능성

0개의 댓글