728x90
클라우드 서비스 복습
클라우드 컴퓨팅
전통적인 IT 환경의 한계
- IT서비스 구현에 많은 시간이 걸려 신속한 서비스 제공에 한계 존재
- 환경변화에 유연한 대응 불가
클라우드 컴퓨팅
- 인터넷을 통해 서버, 스토리지, 데이터베이스, 네트워킹, 소프트웨어, 분석 및 인공지능 기술 등의 컴퓨팅 서비스를 제공하는 모델
- 기업이나 개인은 필요한 서비스를 인터넷을 통해 구독하거나 요청하는 방식으로 사용할 수 있음
- 민첩성(Business Agility), 탄력성(Elasticity), 비용 최적화(Cost Optimization), 전세계에 배포(Deploy globally), 애플리케이션에 집중(Application focused)등 이점
클라우드 컴퓨팅은 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