Chap02. Cloud Services

AI-Jung·2022년 1월 22일
0

클라우드

목록 보기
2/2

01. 클라우드로 제공하는 다양한 서비스

  • <가상 서버>
    물리적 서버의 CPU와 메모리, 스토리지 같은 하드웨어 자원을 소프트웨어로 논리적으로 나누어 사용하는 것
  • 가상 서버에 할당되는 가상 CPU의 성능과 메모리 용량을 상용 용도와 시스템의 규모에 맞게 선택할 수 있음
  • 클라우드 서비스로 제공되는 로드 밸런서의 기능을 활용하면 가상 서버를 이중화하거나 부하를 분산할 수 있음
  • 순간적으로 접속량이 증가할 때, 통신량에 따라 가상 서버의 갯수를 자동으로 늘이거나 줄일 수(오토스케일) 있음
  • <스토리지 서비스>
  • 데이터, 콘텐츠 아카이브(보관), 백업(보호), 파일 서버의 사용, 시스템의 재해 대책(Disaster Recovery)등 다양한 용도로 사용됨
  • 높은 수준의 보안이 요구되는 경우에는 VPN 망이나 전용선 등 높은 보안 수준의 네트워크 서비스를 이용할 수 있음
  • 기업의 기간계 시스템에 적합한 것, 최근 화제가 되는 빅 데이터의 분석에 적합한 것, IoT(Internet on Things)에 적합한 것에 이르기까지 이용 목적에 따라 다양한 데이터베이스를 활용할 수 있음

02. 가상 서버

  • 클라우드 서비스를 구성하는 가장 기본적인 요소
  • 개별 서버(물리 서버)가 보유한 CPU나 메모리 등을 논리적인 하드웨어 리소스로 간주
  • 각각의 가상 서버는 물리 서버와 마찬가지로 개별 OS나 애플리케이션을 동작시킬 수 있음
  • 단 가상 서버는 하드웨어를 애뮬레이션하기 때문에 가상화하지 않은 서버에 비해 성능이 떨어지기 마련

가상 서버의 이용

  • 가상 서버는 셀프 서비스식 포털 화면을 통해 기동 / 중지 / 재기동 / 삭제 등을 몇 분 안에 쉽게 처리할 수 있음
  • 가상 CPU의 성능 및 메모리 용량에 따라 가격이 정해져 있음
  • 가성 서버에는 시동 디스크로 루트 디스크가 할당됨
  • 무료 OS로는 CentOSUbuntu등이 있으며, 유료 OS로는 Microsoft Windows Server등을 선택할 수 있음

가상 서버를 이용하는 흐름

  1. 가상 서버를 생성할 리전 선택
  2. 가상 서버에 접속하기 위한 엑세스 키 설정
  3. 가상 서버에 연결을 허용하는 통신 유형 설정ㅇ
  4. 이용하는 OS와 루트 디스크를 선택
  5. 사용할 가상 서버의 스펙을 선택
  6. 이용하는 가상 서버의 상세 설정
  7. 추가 디스크 선택
  8. 설정한 내용으로 가상 서버를 만들고 시작

03. 가상 서버에서 사용할 수 있는 옵션 기능

로드 밸런서, 오토 스케일, 장기적인 스냅샷

  • 대다수의 클라우드 서비스에서 가상 서버 사용 시 '리전'과 '존'을 선택할 수 있음
  • 리전(Region) : 지리적으로 떨어진 독립적인 지역
  • 존(Zone) : 같은 지역 내의 독립적인(빌딩 등 물리적으로 격리 된) 로케이션
  • 리전에는 서로 다른 로케이션의 존이 설치되어 있으므로 복수개의 존을 선택(멀티 존)하여 시스템의 이중화 및 부하의 분산 처리가 가능함
  • 로드 밸런서 : 외부의 접속을 통신 데이터량(평균 동시 TCP 세션 수가 일정한 입계값을 초과하는 경우) 등의 조건에 따라 가상 서버에 전달함. 통신의 부하를 분산하여 대량의 접속에도 대응할 수 있는 시스템을 손쉽게 구축 가능함
  • 오토 스케일 : 접속이 집중되는 때와 같이 외부의 통신 데이터량에 따른 부하(서버의 CPU 및 메모리 사용량이 일정 임계치를 초과하는 경우)에 따라 자동으로 가상 서버의 대수를 증감시키는 기능
  • 정기적인 스냅샷(백업 기능) : 수동 or 이요자가 설정한 시간(매주, 매월)에 가상 서버 디스크의 백업을 자동으로 생성하여 복제할 수 있게 해줌

04. 클라우드 스토리지 서비스

클라우드 스토리지의 종류

  • 데이터 아카이브(보관)
  • 백업(보호)
  • 파일 서버
  • 재해 대책(Disaster Recovery)

다양한 스토리지 서비스

  • Amazon Web Services(AWS)가 제공하는 S3(Amazon Simple Storage Service) -> 데이터를 파일 단위로 저장 / 검색 / 삭제하는 저장소이며, '오브젝트 스토리지'라고 부름. 다수의 데이터 센터에 데이터를 분산 저장하여 데이터의 손실을 예방하고 사용한 용량만큼 요금이 부과됨
  • Amazon S3 Glacier -> S3보다 저렴하지만 데이터의 읽기에 시간이 오래 걸리기 때문에, 빈번하게 읽을 필요가 없느 장기 보존용 디지털 정보의 저장 및 자기 테이프의 대체품으로 이용됨. 따라서 엄격한 응답 시간이 요구되는 데이터베이스 용도로 이용할 경우, 블록 단위로 엑세스 할 수 있는 블록 스토리지 서비스인 EBS(Amazon Elastic Block Store)가 있음
  • EFS(Amazon Elastic File System) -> 기업의 파일 서버로 사용하는 경우, 파일 단위로 스토리지 엑세스가 가능하며, 파일 공유 기능을 갖춘 파일 스토리지 서비스를 이요하는 등의 선택을 할 수 있음.

5. 클라우드 네트워크 서비스

  • Amazon VPC(Virtual Private Cloud) : AWS 위에 가상 네트워크를 만들어, 개인 클라우드처럼 사용할 수 있는 서비스
  • VPC안에는 임이의 사설 IP주소 범위를 설정하고, 서브넷에 가상 서버와 같은 리소스를 배치할 수 있음
  • Amazon VPC는 프라이빗 IP주소가 할당된 네트워크에 가상 VPN 게이트웨이를 제공함
  • 사내 네트워크에 있는 VPN 게이트웨이와 Ipsec 암호화 통신을 할 수 있으므로 거점과 거점을 인터넷 VPN으로 연결할 수 있음

06. 클라우드 데이터베이스 서비스

OS나 미들웨어는 클라우드 사업자가 관리하므로 사용자는 빠르게 데이터베이스를 사용할 수 있음

RDBMS(Relational Database Management System : 관계형 데이터베이스 관리 시스템)

  • 데이터베이스 엔진
    무료 엔진
    MySQL, PostgreSQL
    유료 엔진
    Oracle Database, Microsoft SQL Server
  • 유료 제퓸의 경우 온프레미스 시스템에서 사용하고 있떤 라이센스를 클라우드 서비스로 반입할 수 있음
  • 라이선스를 클라우드 서비스에 반입하는 것을 BYOL(Bring Your Own License)라고 부름

데이터 웨어하우스

  • AWS의 'Amazon Redshift는 페타파이트급 데이터를 처리할 수 있는 데이터 웨어하우스 서비스

NoSQL

  • AWS의 'Amazon DynamoDB'는 AWS가 독자 개발한 NoSQL 데이터베이스 서비스

07. 기간계 시스템을 위한 클라우드 서비스

'리프트 앤 시프트'를 지원하는 서비스

  • 기업이 현재 운영하고 있는 기존의 온프레미스 시스템을 클라우드 서비스로 이전하고자 할 때 애플리케이션 단위의 이전 작업은 비교적 간단함 -> 하지만 사내 시스템 전체를 이전하려는 경우에는 시스템 구성이 크게 바뀌어야 됨
  • 대부분의 기업들은 온프레미스 시스템으로 VMware 기반의 시스템을 체용하고 잇는데, 클라우드 사업자가 제공하는 VMware 지원 서비스를 활용하면 시스템의 아키텍쳐 변경을 최대한 피하면서 클라우드로 이전할 수 있음
  • 기존의 온프레미스 시스템과의 호환성과 계승성을 우선시하기 위해 기존 시스템을 변경하지 않고 그대로 들서 클라우드로 옮기고(Lift), 수시로 클라우드에 최적화(Shift)해 나가는 전략을 '리프트 앤 시프트 전략'이라고 함

08. 클라우드의 데이터 분석 서비스와 IoT 서비스

클라우드의 데이터 분석 서비스

  • BigQuery : 테라바이트 / 페타바이트급 데이터를 빠르게 분석할 수 있는 데이터 웨어하우스 서비스
  • Cloud Data flow : 배치 데이터와 스트리밍 데이터를 실시간으로 취득 / 변환 / 분석 / 분려할 수 있는 서비스
  • Cloud Datatprep : 분석용 데이터를 준비하기 위한 가공 클리닝 서비스

클라우드의 IoT 서비스

  • 클라우드의 사업자는 인터넷에 연결된 IoT 디바이스가 '수집'한 데이터를 '저장'한 후 '분석'하고 '통제'하기 위한 서비스도 클라우드로 제공하고 있음
  • 사용자는 디바이스만 준비하면 되므로 IoT 애플리케이션을 효율적으로 개발할 수 있음
  • AWS의 AWS IoT : 데이터를 AWS IoT SiteWise로 수집하고, Amazon Timestream라는 시계열 데이터베이스에 저장하여 AWS IoT Events로 디바이스의 이상 감지 등을 모니터링 할 수 있음

09. 클라우드 AI / 기계학습 서비스

'사용자 스스로 기계를 학습시키는 서비스'와 '학습된 서비스'

  • 미리 준비한 기능(라이브러리)을 이용하여 사용자 스스로 학습시키는 클라우드 서비스
    Amazon SageMaker, Azure Machine Learning, Google Cloud Machine LearningEngine, IBM Watson Machine Learning
  • 클라우드 사업자가 미리 대량의 데이터르 학습을 시켜두고, 그 결과를 사용자에게 제공하는 서비스
    AWS, Microsoft Azure, GCP, IBM Cloud등이 학습된 이미지 기계학습 서비스를 제공하고 있음

10. 클라우드를 이용한 시스템 구축

시스템 구성이 클라우드 서비스에 의존한다

  • 온프레미스 시스템의 경우 사용자의 요구사항에 따라 시스템을 설계한 후, 필요한 제품과 서비스를 조달하여 구축한다는 개념이 중심이 됨
  • 그러나 클라우드 서비스를 이용하는 시스템은 클라우드 서비스가 제공하는 표준화되 서비스(기능)를 조합하는 개념이 중심이 됨

장애를 전제한 설계

  • 클라우드는 온프레미스 시스템에 비해 안정적인 운영기에 접어든 시점에 장애가 발생하기 쉽다고 알려져 있음
  • 따라서 클라우드를 이용한 시스템 구축은 장애 발생을 전제해야 함. 또한 장애가 발생하더라도 문제없이 운영할 수 있도록 설계하는 Design for Failure라는 사고방식이 필요함
  • 클라우드 서비스로 구축한 시스템을 운영하고 관리할 때는 접속량이 늘어나거나 줄어들었을 경우의 서버 기동 및 정지, 정기적인 백업 등의 작업을 운영 자동화 도구 등으로 자동화해서 최대한 손이 가지 않는 구조로 만들어야 함
profile
Data Scientist가 되고 싶습니다!

0개의 댓글