241202
클라우드 컴퓨팅
IT 리소스를 인터넷을 통해 온디맨드(주문형)로 제공
장점
1. 민첩성
- 물리적 서버가 아닌 가상머신 사용
- 리소스와 서비스를 빠르게 활용
2. 탄력성
- 오토 스케일링 등을 이용한 비용을 최적화
3. 비용 최저화
- CAPEX -> OPEX
- 온프레미스 대비 30~60% 비용절감 효과
4. 전세계에 배포
- 고가용성 이느라 환경 쉽게 조성, 재해 복구 체계
5. 애플리케이션에 집중
- 수많은 인프라 배포 및 관리 보다 고객에 필요한 서비스 개발에 집중
클라우드 퍼스트 전략
- 클라우드 기반 솔루션을 최우선 검토 및 고려
클라우드 서비스 모델
1. IaaS
- 물리적인 인프라 환경을 서비스 형태로 제공
- 클라우드의 인프라 구축 서비스 사용
2. PaaS
- 인프라 + 소프르웨어 개발 운영 플랫폼 환경까지 서비스 형태로 제공
3. SaaS
- 인프라부터 애플리케이션까지 전체를 서비스 구독 형태로
- 돈만 내고 서비스 받음
클라우드 배포 모델
1. 퍼블릭 클라우드
- 사용량에 따른 비용 지불
- 보안 리스크
2. 프라이빗 클라우드
- 강력한 보안성
- 구축을 위한 비용
3. 하이브리드 클라우드
- 프라이빗 클라우드 + 퍼블릭 클라우드 or 온프레미스 + 퍼블릭 클라우드
- 민감한 정보는 프라이빗/ 온프레미스 환경에, 그렇지 않은 서비스는 퍼블릭
4. 멀티 클라우드
- 다수의 퍼블릭 클라우드 결합
- 관리 비용 및 운영 비용 증가
글로벌 클라우드 서비스
1. AWS (Amazon)
- 선점 효과
- 개발자 생태계 초기 장악
- 고객 피드백 수용
2. Azure (MS)
- 기존 고객층
3. GCP (Google)
- 오픈소스 생태계 주도
- 빅데이터, AI 고객 신뢰도
국내 클라우드 업체 동향
CSP: Cloud Service Provider
- 자체 클라우드 갖고 있음
- 자체 데이터 센터를 통한 IaaS, PaaS 등 서비스 제공
- KT 클라우드, NHN 클라우드, 네이버 클라우드, 카카오 엔터프라이즈
MSP: Managed Serviced Provider
- 자체 클라우드 서비스 없음
- 고객사 시스템을 CSP 클라우드로 이관하기 위한 컨설팅, 전환, 구축 및 운영 관리 수행
- 삼성SDS, LG CNS, SK C&C
가상화
물리적 하드웨어를 보다 효율적으로 사용할 수 있도록 해주는 클라우드 핵심 기술
가상화 이전
- 1개 서버, 1개 OS, 1개 APP
가상화 이후
- 한 개의 물리적 서버 위에 다수의 가상 서버를 생성하여 APP을 독립적으로 실행
하이퍼바이저
- 물리적 머신에 다수의 운영체제를 동시 실행하기 위한 논리적 플랫폼
- 가상 머신을 생성하고 구동하는 소프트웨어
- 가상머신 생성 및 구동을 위해 필요한 리소스를 물리적 리소스에서 할당받아 배분
- VM 서로 간에 간섭하는 것 방지
방식
1. 베어메탈 방식
- 소프트웨어를 하나 덜 설치하기 때문에 리소스 이득
2. 호스트형 방식
- 호스트 OS에 문제 생기면 전체 시스템에 문제 발생
네트워크 가상화
SDN (Software defined networking)
- 네트워크 장비 제어 부분 물리적으로 분리
- 분리된 제어 부분을 컨트롤러 개념으로 통합 제어
VDI (Virtual Desktop Infra)
- 가상의 PC환경을 데이터 센터의 서버에서 제공
- 보안 강화, 관리 효율성
오토 스케일링
Scale Up (Vertical Scaling)
- 기존 서버를 보다 높은 사양으로 업그레이드
- 업그레이드 시 다운타임 불가피
Scale Out (Horizontal Scaling)
- 비슷한 사양의 서버를 추가 연결하여 확장
- Auto scaling 기능을 통해 Scale In/Out 자동 수행
로드 밸런싱
동시에 많은 사용자 요청으로 트래픽이 급증했을 때 여러 대의 서버에 트래픽을 적절히 분산
서버리스
- 클라우드에서 인프라 유지 관리, 확장 등 작업 자동으로 처리
- 요청, 특정 이벤트가 발생한 경우에만 인프라 구동해 애플리케이션 동작
- 인프라 배포 및 관리 최소화(개발에만 집중)
데브옵스
- DevOps: 개발과 운영의 합성어
- 업무: 개발과 운영이 하나의 워크플로우로 연계, 지속적으로 협업
- 기술: 더 빨리, 더 자주 서비스를 안정적으로 업데이트할 수 있는 환경 구성
CI/CD
CI(Continuous Integration): 개발자가 작성/수정한 소스 코드를 지속적으로 통합, 테스트
CD(Continuous Delivery): 테스트 완료된 코드를 Repoitory에 자동 업로드
CD(Continuous Deployment): 배포 자동화, 서비스 업데이트
계정 보안
- 권한 없는 사용자의 클라우드 접근 및 요청 차단
- 직무에 따라 제한된 접근
Identity & Access Management
1. Who
2. Can access
3. What
-> 누가 어떤 서비스에 어디까지 접근 가능한지.
AWS 계정
루트 사용자(Root user): 모든 AWS 서비스 및 리소스에 대한 전체 액세스 권한
IAM Uswer: 최소한의 권한 할당