ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 클라우드 컴퓨팅
    Topcit/소프트웨어 개발 2018. 6. 11. 23:14
      1. 클라우드 컴퓨팅의 정의
        1. 정의
          1. 클라우드 컴퓨팅은 개별 서버마다 남는 컴퓨터 용량을 효율적으로 활용하고 확실한 서비스의 수요에 유연하게 대처하기 위해 만들어졌다.
          2. 클라우드 환경에서 동작하는 사용자는 자원이 필요할 가상화 형태로 인터넷을 통해 제공되는 컴퓨팅 자원을 사용한다.
          3. 클라우드의 핵심은 사용자는 복잡한 내부를 몰라도 어디에서나 자기가 원하는 컴퓨터 자원을 사용하여 작업이 가능하다.
          4. 장점
            1. 비용 : CAPEX 감소, OPEX 증가, TCO 감소
            2. 기간 : 개발 기간 단축, 제품 개발주기 단축
            3. 운영 : 운영 인력 감소, 자원 효율성 강화
            4. 제품: 제품 집중도 향상
        2. 클라우드 컴퓨팅과 다른 컴퓨팅 비교
          1. 그리드 컴퓨팅과 클라우드 컴퓨팅
            1. 구분

              그리드 컴퓨팅

              클라우드 컴퓨팅

              컴퓨터의 위치

              지리적으로 분산되어 있고

              각기 다른 조직이 관리

              지리적으로 분산되어 있지만,

              중앙에서 단일 조직이 관리

              컴퓨터 구성

              이기종 존재

              동일한 기종이 대다수

              표준화 단체

              존재

              없음

              기술 표준

              리소스 관리, 스케줄링,

              데이터 관리 보안 표준이 있음

              없음

              상호 접속성

              중시

              고려하지 않음

              용도

              과학 기술적 계산, 대규모 연산

              병렬성이 높은 애플리케이션

              애플리케이션 범용적인 용도로 사용

      2. 클라우드 컴퓨팅 유형
        1. 서비스 유형에 따른 분류
          1. IaaS
            1. 인터넷 네트워크를 경유하여 인프라자원을 서비스로 제공하는 형태
            2. 일반적으로 인프라 자원은 가상화 환경을 통해 제공되지만 가상화 환경이 IaaS 필수 요건은 아니다.
            3. 물리적인 인프라 자원을 제공하는 형태를 베어메탈 클라우드라고 한다.
          2. PaaS
            1. PaaS 개발 환경에 SaaS 개념을 적용한 서비스 방식이다.
            2. 개발, 운영 환경을 구축할 필요 없이 필요한 환경을 서비스 형태로 제공하는 방식이다.
          3. SaaS
            1. 소프트웨어를 제공하는 서비스
            2. 중앙에서 서비스되는 소프트웨어를 브라우저 등의 클라이언트를 통해서 사용자에게 전달하는 모델
            3. 특징
              1. 브라우저로 접근 : 설치형 소프트웨어가 아닌 브라우저로 접근
              2. 사용량 기반 비용 : 소프트웨어를 사용한 만큼 비용 지불
              3. 온디멘드 : 필요한 소프트웨어는 즉시 사용 가능
              4. IT 수요 최적화 : IT 인프라스트럭처에 대한 관리, 확장 이슈가 있음
          4. 클라우드 서비스 유형별 사용자 관리 범위
        1. 클라우드 운영 형태에 따른 분류
          1. 공개 범위를 기준으로 클라우드 서비스 유형
            1. 퍼블릭 클라우드
              1. 인터넷 상의 불특정 다수에게 공개된 클라우드 서비스
              2. 인터넷으로만 접근 가능하다.
            2. 프라이빗 클라우드
              1. 기업 기관에서 폐쇄 네트워크 망에 클라우드 서비스를 구축하여 제한된 사용자만 접근을 허용하는 클라우드 서비스
            3. 하이브리드 클라우드
              1. 퍼블릭 클라우드와 프라이빗 클라우드가 결합된 형태
              2. 퍼블릭 클라우드와 프라이빗 클라우드 사이의 서비스 이동이 가능한 호환성이 매우 중요하다.
      1. 서버 가상화 기술
        1. 정의
          1. 가상화란 컴퓨터 자원을 추상화 하는 방식이다.
          2. 여러 대의 컴퓨터 자원을 하나의 서버처럼 보이게 하거나 하나의 컴퓨터 자원을 복수의 컴퓨터 자원인 것처럼 보이게 하는 기술을 의미한다.
        2. 하이퍼바이저
          1. 물리적인 서버를 가상화 하는 기술
          2. 설치 방식과 가상화 방식으로 분류된다.
        3. 하이퍼바이저의 유형
          1. Native 방식
            1. 가상 머신 모니터를 물리적 하드웨어에 직접 설치하는 방식
            2. 호스트 OS 필요한 가상화 방식에 비교하여 자원이 절약된다.
          1. Hosted 방식
            1. Hosted 방식의 하이퍼바이저는 기존의 운영체제 위에 설치되는 소프트웨어이다.
        1. 서버 가상화 방식의 유형
          1. 전가상화
            1. 하드웨어를 완전하게 가상화 하는 방식
            2. 게스트 OS 하드웨어를 직접 소유하고 접근하는 것으로 인식하지만 가상 서버는 하이퍼바이저가 하드웨어를 가상화 자원을 사용하는 것이다.
            3. CPU에서 전가상화를 처리하기 때문에 게스트 OS 대한 제약이 없다.
          1. 반가상화
            1. 반가상화는 하드웨어를 완전히 가상화 하지 않으며 게스트 OS 하드웨어 자원을 접근하기 위해서는 하이퍼바이저를 경유해야 한다.
            2. 게스트의 OS 하이퍼바이저 API 사용하도록 커널을 일부분 수정해야 한다.
          1. OS레벨 가상화
            1. OS상에서 같은 OS 하나 사용하는 것처럼 꾸며주는 가상화 기술이다.
            2. 하이퍼바이저를 사용하지 않고 OS 포함된 가상화 기술을 사용한다.
            1. 장점
              1. 빠른 시작과 종료 : 하이퍼바이저 기반 가상화에 비교하여 매우 빠른
              2. 높은 집적도 : 여러 컨테이너 운영 OS 1개이므로 소비 자원 최소화
              3. 낮은 오버헤드 : 애뮬레이션 없이 사용자 공간 격리
              4. 애플리케이션 컨테이너 지원 : 애플리케이션 컨테이너 구성 지원
            2. 단점
              1. Host OS 종속적
              2. 컨테이너 커널 구성이 불가능
      1. 스토리지와 네트워크 가상화 기술
        1. 스토리지 가상화
          1. 필요로 하는 스토리지 공간 대신 Thin-Provisioning 이라는 기술을 통해 초기 필요한 최소 공간만을 가상으로 할당
          2. 이기종 스토리지 시스템 통합을 사용하는 환경을 제공한다.
        2. 네트워크 가상화
          1. 하드웨어 어플라이언스 형태로 존재하던 L2, L3, L7 스위치, 네트워크 방화벽, 보안 장비들을 가상머신으로 구현
          2. 네트워크 자원들이 하나의 공유된 물리적인 환경에서도 내부적으로 가상화를 통해 분리되어 조작하게 한다.

    'Topcit > 소프트웨어 개발' 카테고리의 다른 글

    소프트웨어 제품 라인 공학  (0) 2018.06.11
    모바일 컴퓨팅  (0) 2018.06.11
    애자일 개발  (0) 2018.06.11
    소프트웨어 품질 관리  (0) 2018.06.11
    소프트웨어 형상 관리  (0) 2018.06.11

    댓글