[오픈소스컨설팅]클라우드자동화 및 운영효율화방안

17
클라우드 자동화 및 운영 효율화 방안 - 프로비저닝, 패치, 소프트웨어 관리 중심 - 주식회사 오픈 소스 컨설팅 Web: http://www.osci.kr Mailto: [email protected]

Upload: ji-woong-choi

Post on 04-Jun-2015

1.859 views

Category:

Technology


5 download

DESCRIPTION

데이터센터 및 클라우드 환경의 설치/배포/운영 자동화 및 효율화 방안에 대한 내용을 기술합니다. 클라우드 관련 자동화 및 인프라 시스템 컨설팅을 받고 싶으시면 오픈소스컨설팅([email protected])으로 연락주십시오.

TRANSCRIPT

Page 1: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

클라우드 자동화 및 운영 효율화 방안

- 프로비저닝, 패치, 소프트웨어 관리 중심 -

주식회사 오픈 소스 컨설팅 Web: http://www.osci.kr

Mailto: [email protected]

Page 2: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

2 - Internal Use Only -

시스템 운영 효율화 개요

배경 및 이슈

소프트웨어/시스템 관리 측면

- 엔지니어 의존적 소프트웨어 설치/관리

- 버전 변경시 카탈로그 수시 변경 어려움

패치 관리 측면

- 수백대의 서버/가상머신에 대한 일괄 적용 어려움

- 누락으로 인한 패치 적용 내역이 상이할 수 있음

대응 방안

시스템 설치/구성 자동화

- 시스템 입고시부터 설치 자동화

- 소프트웨어 동적 배포(버전별)

패치 관리 시스템 도입

- 중앙 패치 리포지토리 구성

- 에이전트를 통한 패치 Pull/Push

빌드/배포 서비스 제공

- 기업 빌드, 배포 시스템 구성

- 애플리케이션 버전 관리

기대 효과

구축 및 구성 효율화

- 시스템 운영 비용에 대한 절감

- 중앙 집중형 시스템/소프트웨어 관리

운영 효율화

- 수작업을 인한 오류 발생 최소화

- 중앙 관리 연계를 통한 제어

애플리케이션 배포 효율화

- 애플리케이션 변경에 대한 즉시 적용

- 백업/복구 연계된 최신 애플리케이션 배포

애플리케이션 유지 관리 측면

- 가상 머신 생성시 최신 애플리케이션 배포

- 애플리케이션 문제 발생시 롤백 기능

• 프로비저닝(Provisioning): IT인프라 자원을 사용자 요구사항에 맞게 할당, 배치, 배포하여 시스템을 즉시 사용할 수 있도록 만드는 것

가상화를 통한 클라우드 구축 기업에서는 운영 프로세스 효율화에 초점을 맞추고 있음

Page 3: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

3 - Internal Use Only -

IDC/클라우드 시스템 효율화 대상 영역

인프라스트럭처

미들웨어

애플리케이션

물리적 머신

VM

… • 운영체제, 하이퍼바이저 설치

• 가상 머신 프로비저닝 구성

• VM 사용량 모니터링(CPU, 메모리,…)

• 패치 적용 및 운영 관리

VM VM VM

데이터베이스(Cubrid)

웹 애플리케이션 서버(JBoss)

웹 서버(Apache)

빌드/배포

솔루션

소스 리포지토리

Log File

• 프로비저닝/환경설정

- 소프트웨어 자동설치

- 설치 소프트웨어 환경 구성 설정

• 애플리케이션 배포

- 소스 리포지토리를 연계한 버전 관리

- 빌드/배포/테스트 일원화

물리적 머신

플랫폼의 서비스 구성 요소 - IaaS 인프라 위에 웹 서버, 미들웨어 및 데이터베이스 서버 구성

: 운영 효율화 대상 영역

Page 4: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

4 - Internal Use Only -

서버 라이프사이클

데이터 관리 설치/구성 관리

소프트웨어/패치 관리 운영 관리

Page 5: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

5 - Internal Use Only -

영역별 고려사항

요구기능

• OS 설치, VM 구성

• OS 버전별 설치, 하이퍼바이저 설치

• IP할당, 디스크 구성

요구기능

• WEB/WAS/DB 런타임 설치 구성

• 시스템, 모니터링 에이전트 설치

요구기능

• 운영 체제(Linux) 패치(보안, 버그 등) 적용

• 시스템 소프트웨어 버전 업그레이드(WEB/WAS/DB)

요구기능

• 애플리케이션 버전 관리

• 빌드/배포 시스템에 대한 반자동화 구성(하이브리드 디플로이)

운영체제 프로비저닝 시스템 소프트웨어,

에이전트 설치 패치 관리 애플리케이션 배포

서버, 하이버바이저, 패치, 리소스, 애플리케이션에 대한 프로비저닝 제공 Supported by OSC

Enhanced 시스템 구축에 대한 모든 프로세스 영역에 대한 검토 필요

1) PXE: Preboot Execution Environment

Page 6: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

6 - Internal Use Only -

오픈소스SW기반 자동화 배포/관리

오픈소스SW기반 자동화 배포 솔루션은 데이터 센터 및 클라우드 환경에서 운영되고 있는

시스템들을 단일화된 관리 시스템을 이용하여 효율적으로 관리 하는데 초점을 맞추고 있음.

04. 가상화 지원

02. 운영체제 01. 패키지

- 리눅스 운영체제별 패키지 관리

- 업데이트 패키지에 대한 관리

- Errata를 패키지 변경 레포트

03. 시스템 소프트웨어

자동화

배포/관리 영역

- Bare Metal 및 가상화 환경 리눅스 운영체제 자동배포

- 채널별 관리 기능으로 인한 운영체제 버전 관리 기능 제공

- 스크립트를 이용한 공통 표준화된 소프트웨어 배포

- 중앙관리 시스템에서 편집, 버전지정하여 배포

- Kvm/Xen/VMWare 등 가상화 플랫폼에서 운영되는 리눅스 가상머신들에 대한 통합 관리

- 별도의 채널을 분리하여 Bare Metal 시스템과 분리해서 관리 가능

Page 7: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

7 - Internal Use Only -

통합 관리(REST API)

IDC형 설치 관리 프로세스

1

서버 입고 부팅과 함께 OS 설치 및 구성

2

RHEV-M

3 하이퍼바이저 등록

VM Pool VM Pool

4

VM 기본 템플릿

OS 컨트롤러 메인 컨트롤러

패치 관리 컨트롤러

VM

5 가상머신 생성 6 소프트웨어 설치/패치 관리

7 VM 할당 및 사용

서버 입고시부터 시스템적으로 관리하는 하나의 프로세스로 구성하여 관리

각 솔루션의 중앙 관리 체계 통합을 위한 프록시 기능 제공 필요(REST API)

클라우드 관리

Page 8: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

8 - Internal Use Only -

관리 프로세스

Middleware

③ 소프트웨어 분배

⑤ OS deployment

② Compliance 위반 검사

배포서버

Control Server

배포 서버

⑥ Report

스위치

스토리지

조작 지시

상황 표시

① Inventory 수집

④ 패치 분배

⑦ Provisioning

소프트웨어 설치/제거

오픈 및 상용 소프트웨어 제어

여러 서버로 에이전트/HTTP 동시 다운로드 설치 대상 서버 제어

OS 이미지를 네트워크 경유로 배포 설치

에이전트 설치 및 구성정보 수집 OS 설정의 규정 위반 여부 검출

네트워크나 스토리지 장비 등에 대한 다양한 프로비저닝 기능

모든 변경이력・구성정보 등의 표준 report와 custom report

프로비저닝에 대한 자동화 프로세스를 중앙 관리 서버를 기준으로 진행되도록 구성이 필요

Page 9: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

9 - Internal Use Only -

베어 메탈 프로비저닝 – PXE, Kickstart

DHCP서버 DHCP (Dynamic Host Configuration Protocol) : 특정

네트워크 대역에 동적으로 IP를 할당하는 역할을

수행. PXE환경에서는 filename이라는 지시자를

이용하여 클라이언트의 부팅 파일을 지정함.

TFTP (Trivial File Transfer Protocol) : 이더넷을

이용하여 파일을 다운 받는 프로토콜. Ftp보다

간단하며, 부트로더와 같은 작은 크기의

프로그램에서 수행이 가능함.

가상화가 아닌 베어메탈 프로비저닝에 대한 자동화 환경에 대한 구축이 가능

DHCP & TFTP 서버

네트워크 스위치(관리 네트워크)

베어 메탈 서버

TFTP서버

OS 설치 대상 머신

Page 10: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

10 - Internal Use Only -

PXE, Kickstart를 통한 통한 베어메탈 OS 설치, Spacewalk를 통한 패치 관리 가능

RPM 배포 및 관리(1/2) – Spacewalk + YUM

1) PXE: Preboot Execution Environment

Page 11: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

11 - Internal Use Only -

Yum 클라이언트 구성

서버 자원 에이전트 등록

소프트웨어 정보 수집

OS 패치 관련 compliance 체크

권고 패치 조회 및 패치설치 승인

패치 설치 및 리부팅 워크플로우 실행

SSH, Agent를 이용한 네트워크상의 리소스의 등록

STEP1로 발견한 리소스에 대해서 YUM 클라이언트 구성

설치된 OS 및 패치 정보의 수집

설치된 OS 패치가 Compliance 에 위배되는지 확인

해당 서버에 권고 패치 리스트 출력 및 해당 패치 설치 승인 요청

패치 설치 및 필요 시 reboot 관련 work-flow 수행

Agent

Agent

Agent

컨트롤 서버

사용 가능한 패치

패치 관리 리포지토리

설치할 패치를 관리자가 승인

승인 프로세스

사용가능한 패치 이미지 다운로드

End-point 의 패치 정보 조회

필요 패치 리스트 수집

승인 받은 패치를 해당 서버에 설치

End-Point

End-Point

End-Point

벤더의 패치 리포지토리

리포지토리

운영 예

Red Hat 솔루션에 대한 out-of-box 형태의 패치 자동화를 제공

최신 패치 정보와 패치 이미지를 구성한 후, 대상 장비에 설치된 패치 정보와 비교하여 누락된 패치를

설치하는 기능 제공 필요

패치관리는 Compliance & Remediation 을 이용하여 관리자가 정책에 맞게 작업을 수행하는 것이 필요

관리자는 설치해야 할 패치를 승인하고, 원하는 작업 일정에 맞추어 패치를 적용해야 함

RPM 배포 및 관리(2/2) – Spacewalk + YUM

Page 12: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

12 - Internal Use Only -

CouchDB

RebbitMQ

Chef Run

Chef Run

Chef Run

Chef Server 구성

Chef Client - 가상머신

Admin Workstation

Chef 란 시스템 관리를 위한 구성 소프트웨어 설치, 설정 변경을 손쉽게 관리해 주는

프레임워크

수 백개의 사전 정의된 레시피를 통해 시스템 환경 구성, 소프트웨어 설치 등을 구성

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

소프트웨어 배포 및 버전 관리 – Chef

Page 13: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

13 - Internal Use Only -

소프트웨어별로 설치된 AMI 표준 템플릿을 통해 가상 머신 프로비저닝

소프트웨어 버전, 업그레이드 등의 요건 발생시 해당 설치 이미지에 대한 새로운 AMI를

생성해야 하는 불편함 존재

Auto Scaling 시에 최신 애플리케이션 배포에 대한 고려 필요

소프트웨어 배포 및 버전 관리 – AMI

Page 14: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

14 - Internal Use Only -

소프트웨어 배포 및 버전 관리 – RPM

YUM (Listen 80)

SVN (Listen 2401)

Gateway (Listen 40022)

Binary Source Application tarball

# yum install ncia-app Install user-config … Install apache-tomcat … Install osci-source … Install osci-users …

목적: 프로젝트 내부에서 생성되는 파일들을 수많은 운영서버로 배포하기 위한 자동화

절차

1. 사용자는 Build 서버에서 RPM Build를 통해 필요한 애플리케이션, 소프트웨어를 패키징

2. 사전에 구성된 YUM Repository에 해당 RPM을 업로드

3. 관리자는 서버에 접속하여 yum install 명령을 실행

4. 해당 머신에서는 yum repository에 HTTP로 접속하여 해당 패키지 다운로드 및 설치

Page 15: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

15 - Internal Use Only -

자동화 관련 배포시스템 구축 필요

JENKINS CI

RPM Repo

PRD Hosts

Version Management Build and Reporting Automated Installation

SVN (SRC)

Develpoer PC

SVN JENKINS

CI

Developer Admin

Verification

SVN

Deploy Request Project RPM

Proceed RPM REPO

SERVICE HOST Install

Update Manager

YUM 기반의 자동화 빌드 및 배포 시스템 구축

VM 기동시 최신으로 빌드된 애플리케이션을 설치하여 기동

Page 16: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

16 - Internal Use Only -

자동화 솔루션 – Athena Peacock

클라우드 환경의 업무 운영을 위한 OS, DBMS, WEB, WAS 등의 설치, 구성, 배포, 패치 관리 등에 필요한 운영 자동화 서버 및 에이전트

사용자가 폭주하는 특정 시간 또는 기간에 발생하는 상황에 능동적으로 대처할 수 있는 자동 확장 및 감소 기능을 통해 장애 대응 및 운영 효율성 극대화

소프트웨어 로드 밸런서를 활용한 동적 로드 밸런싱 기능 추가와 후단 머신에 대한 다양한 알고리즘 적용 및 구성을 통한 관리

Core Modules

Operation Management Monitoring

서비스 상태 감시 성능 감시 소프트웨어 관리 운영 프로세스 관리

가상화 관리 인스턴스 관리

Operator

Admin.

로그수집 뷰어 통계 정보

IAM 사용자 인증 권한 제어

명령어 서비스 접근 통제

필터링 (Filtering) 암호화 (Encryption)

Scaling/Provisioning

로드 밸런서 OS 프로비저닝

자동 스케일링 소프트웨어 프로비저닝

User Interface & Control Channel

Cont

rol R

eposi

tory

IaaS Orchestration

Page 17: [오픈소스컨설팅]클라우드자동화 및 운영효율화방안

17 - Internal Use Only -