[KT AIVLE] DX트랙 클라우드 서비스(13주차) 복습(클라우드 서비스: 클라우드 컴퓨팅, 가상화, DevOps)

728x90

클라우드 서비스 복습

클라우드 컴퓨팅

전통적인 IT 환경의 한계

  • IT서비스 구현에 많은 시간이 걸려 신속한 서비스 제공에 한계 존재
  • 환경변화에 유연한 대응 불가

 

클라우드 컴퓨팅

  • 인터넷을 통해 서버, 스토리지, 데이터베이스, 네트워킹, 소프트웨어, 분석 및 인공지능 기술 등의 컴퓨팅 서비스를 제공하는 모델
  • 기업이나 개인은 필요한 서비스를 인터넷을 통해 구독하거나 요청하는 방식으로 사용할 수 있음
  • 민첩성(Business Agility), 탄력성(Elasticity), 비용 최적화(Cost Optimization), 전세계에 배포(Deploy globally), 애플리케이션에 집중(Application focused)등 이점

DX의 핵심기술

 

클라우드 컴퓨팅은 DX 실현의 가장 중요한 핵심 기술 중 하나

 

클라우드 퍼스트 전략

  • 기업이 새로운 애플리케이션을 개발하거나 현재 사용하는 애플리케이션을 개선할 때 클라우드 기반 솔루션을 최우선으로 검토 및 고려한다는 의미
  • 국내외 DX를 추구하는 수많은 기업들이 클라우드 퍼스트 전략을 앞세워 클라우드 전환하고 있음

 

클라우드 서비스 모델

 

Iaas(Infrastructure as a Service)

  • 인프라스트럭처를 서비스 형태로 제공하는 것
  • 즉, CPU메모리스토리지 등의 컴퓨팅 리소스를 인터넷망을 통해 임대하는 서비스

Paas(Platform as a Service)

  • 애플리케이션을 개발 및 배포를 위한 플랫폼을 제공해주는 서비스

Saas(Software as a Service)

  • 가장 광범위한 서브를 제공하는 Saas는 소프트웨어를 제공하는 서비스
  • 웹 브라우저를 통해 소프트웨어에 접속하여 사용하며, 소프트웨어를 설치하거나 업데이트할 필요가 없음
  • ex)  Google Workspace (구글 문서, 스프레드시트 등), Microsoft의 Office 365 (워드, 엑셀, 파워포인트 등)

 

클라우드 배포 모델

 

퍼블릭 클라우드(Public Cloud)

  • 클라우드 컴퓨팅 서비스를 제공해주는 업체(CSP, Cloud Service Provider)에게 인프라에 필요한 자원들을 대여하여 사용하는 방식
  • CSP 예 : AWS, Azure, GCP, KT 클라우드, 네이버 클라우드

프라이빗 클라우드(Private Cloud)

  • 기업이 직접 클라우드 환경을 구축, 이를 기업내부에서 활용, 계열사에 공개
  • 특정 기업, 특정 사용자만 사용하는 방식
  • 서비스 자원과 데이터는 기업의 데이터센터에 저장

하이브리드 클라우드(Hybrid Cloud)

  • 기존 On-premise 에 구성되어 있는 인프라와 Public Cloud를 혼용하여 함께 사용하는 방식
  • 온 프레미스(프라이빗 클라우드) + 퍼블릭 클라우드

멀티 클라우드(Multi Cloud)

  • 2개 이상의 서로 다른 클라우드를 함께 사용하는 방식
  • AWS + Azure, AWS + KT
  • 하나의 CSP에 종속되지 않기 위해 사용

 

CSP와 MSP

 

CSP: 자체 클라우드 서비스가 있는 회사

  • KT클라우드, nhn클라우드, 네이버 클라우드, 카카오 엔터프라이즈 등

MSP: 자체 클라우드는 없지만 클라우드 관리 서비스 제공

  • 고객사의 온프레미스 환경을 클라우드로 전환하기 위한 컨설팅, 마이그레이션 작업, 구축, 운영하는 회사
  • 삼성SDS, LG CNS, SK C&C 등

 

가상화(Virtualization)

  • 물리적 하드웨어를 보다 효율적으로 활용할 수 있도록 해주는 클라우드의 핵심 기술로 가상화를 통해 서비스에 필요한 리소스를 가상 환경에서 생성하고 관리할 수 있음

  • 서버 가상화, 네트워크 가상화, 테스크탑 가상화
  • 대표적인 서버 가상화는 하나의 물리적 커버에서 여러 운영체제와 애플리케이션을 실행할 수 있도록 하는 SW기술

 

가상화 이전

  • 1개의 서버에는 1개의 운영체제, 1개의 애플리케이션 구동
  • 1개의 OS가 모든 하드웨어 자원을 관리
  • 하드웨어 리소스 측면의 낭비가 발생하고 다수의 서버를 관리해야 하는 비효율성 존재

가상화 이후

  • 한 개의 물리적 서버 위에 다수의 가상 서버를 생성하여 애플리케이션을 독립적으로 실행
  • 컴퓨팅 자원의 사용률을 최대화하고 물리적인 서버의 개수를 줄임으로써 비용 절감

 

하이퍼바이저

  • 물리적 머신에서 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼이며 쉽게 말해 가상 머신을 생성하고 구동하는 소프트웨어

 

 

  • Host OS없이 하이퍼바이저가 하드웨어에 직접 설치되는 형태로 가상화 목적으로만 사용
  • Guest OS들은 하드웨어 바로 위에서 구동되므로 오버헤드가 적고 성능이 상대적으로 우수
  • 직접 하드웨어 드라이버 세팅이 필요하며 주로 대규모 엔터프라이즈급 기업 서비스 환경에 적합

 

 

 

  • Host OS 위에 하이퍼바이저가 실행되고 그 위에 Guest OS를 올리는 일반적으로 사용되는 가상화 방식
  • 기존에 컴퓨팅 환경(ex. Windows가구성된서버)에서 하이퍼바이저를 설치할 수 있어 구성이 편리한 장점이 있음
  • 호스트OS에 문제가 생기면 전체 시스템에 문제가 생기게 되는 단점이 있음

 

 

 

 

 

네트워크 가상화(Network virtualization)

  • 물리적 네트워크에서 여러 가상 네트워크를 실행하기 위한 기술로 각 가상 네트워크가 실제 네트워크 환경처럼 작동됨
  • 가상의 네트워크 환경에서 소프트웨어적으로 서브넷 구성, 라우팅 및 방화벽 설정, 로드밸런싱 등을 구성하여 리소스간 내부·외부 통신을 안정적으로 제어할 수 있음

 

데스크톱 가상화(Virtual Desktop Infra, VDI)

  • 데이터 센터의 서버에서 운영되는 가상의 PC환경
  • 어디에서나 네트워크를 통해 서버에 접속하여 자신의 PC환경 구동 가능
  • VDI는 데이터가 로컬 PC가 아닌 데이터 센터에 위치하여 보안을 강화할 수 있고 관리 효율성을 도모할 수 있음

 

분산처리기술(Distributed Processing)

  • 특정목적을 위해 한 개의 대용량 서버가 아닌 여러 저용량 서버를 클러스터 형태로 구성하고 연산을 병렬로 처리하도록 만든 기술
  • 빅데이터 분석을 위한 클러스터 구성, 사용자 수요 패턴변화에 대응하기 위한 오토스케일링 등 다양한 클라우드 서비스에적용된 기반 기술

 

인프라 확장(Scaling) 방식

  • ScaleUP(↔ ScaleDOWN)
    • 기존의 서버를 높은 사양으로 업그레이드 하는 것
    • 수직적 확장(vertical scaling)이라고도 하며 데이터 정합성 이슈 발생 가능성이 적음
    • 업그레이드시 다운타임이 불가피하고, 성능 향상에 한계가 있으며, 한 대에 부하가 집중되므로 장애 대비를 위한 별도의 조치 필요
  • ScaleOUT(↔ ScaleIN)
    • 비슷한 사양의 서버를 추가로 연결하여 확장하는 방식, 수평적 확장(horizontal scaling)
    • 서버 용량 확장 및 장애 대비에 유용하지만 자체 관리가 용이하지 않음

 

오토스케일링(Auto Scaling)

  • 클라우드의 유연성/탄력성을 돋보이게 하는 핵심기술로 CPU, 메모리, 디스크등 의 다양한 성능지표를 모니터링하여 리소스 개수를 자동으로 조절하는 기능
  • 예상치 못한 서비스 부하에 효과적으로 대응하여 안정성과 유연성을 도모하고 비용 최적화 효과를 얻을 수 있음

 

로드 밸런싱(Load Balancing)

  • 동시에 많은 사용자 요청으로 트래픽이 급증했을 때 여러 대의 서버에 트래픽을 적절하게 분산하여 병목 현상을 예방하는 기술
  • 일반적으로 오토 스케일링과 로드 밸런싱을 함께 사용

 

서버리스(Severless)

  • 인프라를 직접 프로비저닝하고 관리할 필요 없이 신속하게 서비스를 구현할 수 있는 클라우드 애플리케이션 개발 모델
  • 코드작성, 간단한 설정만 하면 클라우드에서 이를 실행하기 위한 인프라 프로비저닝, 유지 관리, 확장 등의 작업을 자동으로 처리
  • 요청이나 특정 이벤트가 발생했을 경우에만 인프라를 구동하여 애플리케이션을 동작시키는 방식

 

 

데브옵스(DevOps)

  • 개발(Development)운영(Operations)의 합성어로 애플리케션 개발팀과 운영팀 간의 소통, 협업 및 통합을 강조하는 문화, 업무방식, 개발환경을 의미함
  • 즉, 개발과 운영이 하나의 프로세스로 연계되고 지속적인 협업 및 개선하는 선환구조를 확립하고 더 빨리, 더 자주 서비스를 안정적으로 업데이트하여 고객만족을 통한 비즈니스 성공을 지원함

 

CI(ContinuousIntegration)/CD(ContinuousDeploymnet)

 

인프라 배포 자동화

  • 코드형 인프라(Infrastrucure as Code, Iac)는 수동 프로세스가 아닌 인프라 사양을 담은 코드 형태의 구성 파일(템플릿)을 생성하여 복잡한 클라우드 인프라 환경을 빠르게 배포하고 관리할 수 있는 도구

 

 

 

728x90