A future that integrates LLMs and LAMs (Symposium)
[오픈소스컨설팅]클라우드자동화 및 운영효율화방안
1. 클라우드 자동화 및 운영 효율화 방안
- 프로비저닝, 패치, 소프트웨어 관리 중심 -
주식회사 오픈 소스 컨설팅
Web: http://www.osci.kr
Mailto: sales@osci.kr
2. 시스템 운영 효율화 개요
가상화를 통한 클라우드 구축 기업에서는 운영 프로세스 효율화에 초점을 맞추고 있음
배경 및 이슈
소프트웨어/시스템 관리 측면
- 엔지니어 의존적 소프트웨어 설치/관리
- 버전 변경시 카탈로그 수시 변경 어려움
패치 관리 측면
- 수백대의 서버/가상머신에 대한 일괄 적용 어려움
- 누락으로 인한 패치 적용 내역이 상이할 수 있음
애플리케이션 유지 관리 측면
- 가상 머신 생성시 최신 애플리케이션 배포
- 애플리케이션 문제 발생시 롤백 기능
대응 방안
시스템 설치/구성 자동화
- 시스템 입고시부터 설치 자동화
- 소프트웨어 동적 배포(버전별)
패치 관리 시스템 도입
- 중앙 패치 리포지토리 구성
- 에이전트를 통한 패치 Pull/Push
빌드/배포 서비스 제공
- 기업 빌드, 배포 시스템 구성
- 애플리케이션 버전 관리
기대 효과
구축 및 구성 효율화
- 시스템 운영 비용에 대한 절감
- 중앙 집중형 시스템/소프트웨어 관리
운영 효율화
- 수작업을 인한 오류 발생 최소화
- 중앙 관리 연계를 통한 제어
애플리케이션 배포 효율화
- 애플리케이션 변경에 대한 즉시 적용
- 백업/복구 연계된 최신 애플리케이션 배포
• 프로비저닝(Provisioning): IT인프라 자원을 사용자 요구사항에 맞게 할당, 배치, 배포하여 시스템을 즉시 사용할 수 있도록 만드는 것
2
- Internal Use Only -
3. IDC/클라우드 시스템 효율화 대상 영역
플랫폼의 서비스 구성 요소 - IaaS 인프라 위에 웹 서버, 미들웨어 및 데이터베이스 서버 구성
소스 리포지토리
애플리케이션
• 애플리케이션 배포
빌드/배포
- 소스 리포지토리를 연계한 버전 관리
솔루션
- 빌드/배포/테스트 일원화
Log File
웹 서버(Apache)
• 프로비저닝/환경설정
웹 애플리케이션 서버(JBoss)
미들웨어
- 소프트웨어 자동설치
- 설치 소프트웨어 환경 구성 설정
데이터베이스(Cubrid)
VM
VM
VM
VM
…
• 운영체제, 하이퍼바이저 설치
• 가상 머신 프로비저닝 구성
인프라스트럭처
물리적 머신
…
물리적 머신
• VM 사용량 모니터링(CPU, 메모리,…)
• 패치 적용 및 운영 관리
: 운영 효율화 대상 영역
3
- Internal Use Only -
5. 영역별 고려사항
시스템 구축에 대한 모든 프로세스 영역에 대한 검토 필요
Enhanced
Supported by OSC
서버, 하이버바이저, 패치, 리소스, 애플리케이션에 대한 프로비저닝 제공
운영체제 프로비저닝
시스템 소프트웨어,
에이전트 설치
패치 관리
애플리케이션 배포
요구기능
요구기능
요구기능
요구기능
• OS 설치, VM 구성
• WEB/WAS/DB 런타임
설치 구성
• 운영 체제(Linux) 패치(보안,
버그 등) 적용
• 애플리케이션 버전 관리
• 시스템, 모니터링
에이전트 설치
• 시스템 소프트웨어 버전
업그레이드(WEB/WAS/DB)
• OS 버전별 설치,
하이퍼바이저 설치
• IP할당, 디스크 구성
1)
PXE: Preboot Execution Environment
5
- Internal Use Only -
• 빌드/배포 시스템에 대한
반자동화 구성(하이브리드
디플로이)
6. 오픈소스SW기반 자동화 배포/관리
오픈소스SW기반 자동화 배포 솔루션은 데이터 센터 및 클라우드 환경에서 운영되고 있는
시스템들을 단일화된 관리 시스템을 이용하여 효율적으로 관리 하는데 초점을 맞추고 있음.
01. 패키지
02. 운영체제
- 리눅스 운영체제별 패키지 관리
- Bare Metal 및 가상화 환경
리눅스 운영체제 자동배포
- 업데이트 패키지에 대한 관리
- 채널별 관리 기능으로 인한
운영체제 버전 관리 기능 제공
- Errata를 패키지 변경 레포트
자동화
배포/관리 영역
04. 가상화 지원
03. 시스템 소프트웨어
- 스크립트를 이용한 공통 표준화
된 소프트웨어 배포
- Kvm/Xen/VMWare 등 가상화
플랫폼에서 운영되는 리눅스
가상머신들에 대한 통합 관리
- 중앙관리 시스템에서 편집, 버전
지정하여 배포
- 별도의 채널을 분리하여 Bare
Metal 시스템과 분리해서 관리
가능
6
- Internal Use Only -
7. IDC형 설치 관리 프로세스
서버 입고시부터 시스템적으로 관리하는 하나의 프로세스로 구성하여 관리
각 솔루션의 중앙 관리 체계 통합을 위한 프록시 기능 제공 필요(REST API)
통합 관리(REST API)
1
2
서버 입고
부팅과 함께
OS 설치 및 구성
OS 컨트롤러
3
메인 컨트롤러
하이퍼바이저 등록
4
VM 기본 템플릿
패치 관리 컨트롤러
VM Pool
VM Pool
RHEV-M
5
가상머신 생성
6
소프트웨어 설치/패치 관리
7
VM
클라우드 관리
7
- Internal Use Only -
VM 할당 및 사용
8. 관리 프로세스
프로비저닝에 대한 자동화 프로세스를 중앙 관리 서버를 기준으로 진행되도록 구성이 필요
Control Server
모든 변경이력・구성정보 등의
표준 report와 custom report
조작 지시
상황 표시
⑥ Report
소프트웨어 설치/제거
배포서버
OS 이미지를 네트워크 경유
로 배포 설치
배포 서버
여러 서버로 에이전트/HTTP 동
시 다운로드
설치 대상 서버 제어
⑤ OS deployment
네트워크나 스토리지 장비 등
에 대한 다양한 프로비저닝
기능
오픈 및 상용 소프트웨
어 제어
스위치
스토리지
③ 소프트웨어 분배
④ 패치 분배
① Inventory 수집
Middleware
⑦ Provisioning
8
- Internal Use Only -
② Compliance 위반 검사
에이전트 설치 및 구성정보
수집
OS 설정의 규정 위반 여부
검출
9. 베어 메탈 프로비저닝 – PXE, Kickstart
가상화가 아닌 베어메탈 프로비저닝에 대한 자동화 환경에 대한 구축이 가능
DHCP & TFTP 서버
네트워크 스위치(관리 네트워크)
베어 메탈 서버
DHCP (Dynamic Host Configuration Protocol) : 특정
네트워크 대역에 동적으로 IP를 할당하는 역할을
수행. PXE환경에서는 filename이라는 지시자를
이용하여 클라이언트의 부팅 파일을 지정함.
TFTP서버
DHCP서버
TFTP (Trivial File Transfer Protocol) : 이더넷을
이용하여 파일을 다운 받는 프로토콜. Ftp보다
간단하며, 부트로더와 같은 작은 크기의
프로그램에서 수행이 가능함.
OS 설치 대상 머신
9
- Internal Use Only -
10. RPM 배포 및 관리(1/2) – Spacewalk + YUM
PXE, Kickstart를 통한 통한 베어메탈 OS 설치, Spacewalk를 통한 패치 관리 가능
1)
PXE: Preboot Execution Environment
10
- Internal Use Only -
11. RPM 배포 및 관리(2/2) – Spacewalk + YUM
Red Hat 솔루션에 대한 out-of-box 형태의 패치 자동화를 제공
최신 패치 정보와 패치 이미지를 구성한 후, 대상 장비에 설치된 패치 정보와 비교하여 누락된 패치를
설치하는 기능 제공 필요
패치관리는 Compliance & Remediation 을 이용하여 관리자가 정책에 맞게 작업을 수행하는 것이 필요
관리자는 설치해야 할 패치를 승인하고, 원하는 작업 일정에 맞추어 패치를 적용해야 함
운영 예
서버 자원
에이전트 등록
SSH, Agent를 이용한 네트
워크상의 리소스의 등록
Yum 클라이언트 구성
STEP1로 발견한 리소스에 대해
서 YUM 클라이언트 구성
소프트웨어 정보 수집
설치된 OS 및 패치 정보
의 수집
OS 패치 관련
compliance 체크
설치된 OS 패치가
Compliance 에 위배되
는지 확인
권고 패치 조회 및 패치
설치 승인
해당 서버에 권고 패치 리스
트 출력 및 해당 패치 설치
승인 요청
패치 설치 및
리부팅 워크플로우
실행
컨트롤 서버
리포지토리
사용가능한 패치
이미지 다운로드
벤더의 패치
리포지토리
사용 가능한 패치
패치 관리 리포지토리
설치할 패치를
관리자가 승인
End-point 의 패치
정보 조회
필요 패치
리스트 수집
End-Point
End-Point
승인 프로세스
패치 설치 및 필요 시
reboot 관련 work-flow
수행
End-Point
승인 받은 패치를
해당 서버에 설치
11
- Internal Use Only -
Agent
Agent
Agent
12. 소프트웨어 배포 및 버전 관리 – Chef
Chef 란 시스템 관리를 위한 구성 소프트웨어 설치, 설정 변경을 손쉽게 관리해 주는
프레임워크
수 백개의 사전 정의된 레시피를 통해 시스템 환경 구성, 소프트웨어 설치 등을 구성
Chef Server 구성
Chef Run
Chef Run
Admin Workstation
CouchDB
RebbitMQ
package "apache2" do
case node[:platform]
when "centos","redhat","fedora"
package_name "httpd"
when "debian","ubuntu"
package_name "apache2"
when "arch"
package_name "apache"
end
action :install
end
12
- Internal Use Only -
Chef Run
Chef Client - 가상머신
13. 소프트웨어 배포 및 버전 관리 – AMI
소프트웨어별로 설치된 AMI 표준 템플릿을 통해 가상 머신 프로비저닝
소프트웨어 버전, 업그레이드 등의 요건 발생시 해당 설치 이미지에 대한 새로운 AMI를
생성해야 하는 불편함 존재
Auto Scaling 시에 최신 애플리케이션 배포에 대한 고려 필요
13
- Internal Use Only -
14. 소프트웨어 배포 및 버전 관리 – RPM
목적: 프로젝트 내부에서 생성되는 파일들을 수많은 운영서버로 배포하기 위한 자동화
절차
1.
사용자는 Build 서버에서 RPM Build를 통해 필요한 애플리케이션, 소프트웨어를 패키징
2.
사전에 구성된 YUM Repository에 해당 RPM을 업로드
3.
관리자는 서버에 접속하여 yum install 명령을 실행
4.
해당 머신에서는 yum repository에 HTTP로 접속하여 해당 패키지 다운로드 및 설치
YUM
(Listen 80)
SVN
(Listen 2401)
Binary Source
# yum install ncia-app
Install user-config …
Install apache-tomcat …
Install osci-source …
Install osci-users …
14
- Internal Use Only -
Gateway
(Listen 40022)
Application tarball
15. 자동화 관련 배포시스템 구축 필요
YUM 기반의 자동화 빌드 및 배포 시스템 구축
VM 기동시 최신으로 빌드된 애플리케이션을 설치하여 기동
Version Management
Develpoer
PC
JENKINS
CI
SVN
(SRC)
JENKINS
CI
SVN
Automated Installation
Build and Reporting
Proceed
RPM
Repo
SVN
PRD Hosts
RPM
REPO
Update
Manager
Verification
Project
RPM
Deploy Request
Developer
Admin
15
- Internal Use Only -
Install
SERVICE
HOST
16. 자동화 솔루션 – Athena Peacock
클라우드 환경의 업무 운영을 위한 OS, DBMS, WEB, WAS 등의 설치, 구성, 배포, 패치 관리 등에 필요한 운영 자동화 서버 및 에이전트
소프트웨어 로드 밸런서를 활용한 동적 로드 밸런싱 기능 추가와 후단 머신에 대한 다양한 알고리즘 적용 및 구성을 통한 관리
사용자가 폭주하는 특정 시간 또는 기간에 발생하는 상황에 능동적으로 대처할 수 있는 자동 확장 및 감소 기능을 통해 장애 대응 및 운영
효율성 극대화
User Interface & Control Channel
Core Modules
Control Repository
Operation Management
Monitoring
Operator
소프트웨어 관리
운영 프로세스 관리
서비스 상태 감시
성능 감시
가상화 관리
인스턴스 관리
로그수집 뷰어
통계 정보
Scaling/Provisioning
IAM
로드 밸런서
OS 프로비저닝
사용자 인증
권한 제어
자동 스케일링
소프트웨어
프로비저닝
필터링 (Filtering)
IaaS Orchestration
16
- Internal Use Only -
명령어
서비스 접근 통제
암호화 (Encryption)
Admin.