17
Service Operation 2013.10.20 Terry.Cho

Service operation

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Service operation

Service Operation2013.10.20 Terry.Cho

Page 2: Service operation

서비스 운영• 서버 개발은 ?

개발 50% 운영 50%제품 기획

아키텍쳐설계

구현테스트

배포 및 설정모니터링

장애 처리고객 지원

Page 3: Service operation

서비스 운영의 범주 Tech Ops

개발된 서비스에 대한 설치 , 모니터링 및 장애 처리등 . 대상 서비스에 대한 기술적인 운영활동 Service Ops

고객 대응 , 가이드나 샘플 코드와 같은 문서 제공등의 , 대상 서비스 운영에 있어서 , 대 고객 지원을 위한 운영 활동

Page 4: Service operation

TechOps

• 설치 (Install)하드웨어 설치 , OS 및 미들웨어 (TOMCAT,RDBMS ETC) 등 서비스를 배포하기 위한 기반 인프라에 대한 설치 및 튜닝

• 배포 (Deploy)기반 인프라위에 서비스 애플리케이션을 배포 ( 설치 )

※ 설치와 배포의 차이 : 설치는 일회성 . 배포는 릴리즈마다 계속해서 일어나는 반복 / 연속적 작업• 모니터링 (Monitoring)

배포 운영되는 시스템에 대한 상태를 지속적으로 체크하여 , 장애 없이 서비스를 영속적으로 제공하도록 히는 활동

TechOps 의 주요 활동

※ 모니터링 : 시스템의 상태를 지속적으로 체크※ 점검 (Check) : 비정기적으로 , 시스템의 상태를 디테일 하게 점검하여 시스템의 건강 상태를 진단하는 활동 [ 로그 체크 , 설정 파일 점검등 ]

Page 5: Service operation

TechOps

• 백업 (Back up)설치된 소프트웨어나 데이타에 대한 복사본을 주기적으로 저장하여 시스템이 복구 불능 상태의 장애시 데이타를 보존하고 , 복구 하기 위해 사용

• 장애 대응 (Incident handling)서비스 장애시에 이에 대한 복구와 해결

※ 설치와 배포의 차이 : 설치는 일회성 . 배포는 릴리즈마다 계속해서 일어나는 반복 / 연속적 작업• 보안 (Security)

서비스에 대한 보안 취약점을 파악하여 , 외부로 부터의 침입 또는 데이타 유출을 예방하며 , 악의 적인 침임이나 데이타 유출시 이를 빠르게 차단 및 추적

TechOps 의 주요 활동

Page 6: Service operation

TechOps

• VM Image based configuration• Install tools – makefile, rpm, yum • Configuration Management Tools – Chef & Puppet

1. 설치

Page 7: Service operation

TechOps

• Tooling① Native tool based : Tomcat tool② SSH based : Python Fabric, Capistrano③ Configuration tool based : Puppet / ChefRecommendation : fabric (easy to use) + rpm (including config file)

• Consideration① Version management & roll back support② Non-stop run-time deployment※ 배포는 순차적으로 껐다 키는 것이 진리

2. 배포

Page 8: Service operation

TechOps

• Dash board – 현재 시스템의 상태들을 감지① Nagios ② 별도의 Heart beat check 을 구현하는 것이 편리함③ SMS (pagerduty) + Email 과 연계하여 장애 인지

• RRD – 지난 시스템의 상태들을 모니터링① Ganglia, Cacti, zabbix② 그래프 형태로 지난 시스템의 상태를 모니터링 (CPU, 메모리 등 )

3. 모니터링 -OSS

Nagios Ganglia Cacti

Page 9: Service operation

TechOps

• Log gathering① Collector (nxlog, rsyslog,flume,fluentd) + logstash② Visualizer (graylog2, kibana)③ System Log Writing 자체가 부하 비동기 식으로 로그를 수집 하는 방안 권장④ 시스템 규모에 따라서 적절한 Backend Storage 선택

(File,RDBMS,Amazon Elastic Search etc)

3. 모니터링

kibana graylog2

Page 10: Service operation

TechOps

• 비지니스 관점의 지표 모니터링 3. 모니터링 -BSS

Log File

DBMS

ETL OLAP DB

• MySQL Pen-taho

• MS SQL BI

• Pentaho

Reporting Tool

Saiku

• Saiku (Open source)

• Excel Pivot table

Page 11: Service operation

TechOps

• 미들웨어 – VM Image Snapshot 방식• 로그 백업 – S3 등 저가 스토리지 이용 (for Audit)※ 특히 access.log 와 , 사용자 log in 정보는 보관 권장• 데이타 베이스 백업 – Fullback up & Incremental backup

4. 백업

Page 12: Service operation

TechOps

• 필수 보안 체크 사항– 방화벽 사용 . (Inbound 는 80 포트 이외에 모두 막을것 )– 사용자 정보 DB 암호화 (gazzang)– passwd salt

• Scanning Service① Whitehatsec.com (Commercial, 30 days trial)② OpenVAS scan (Open source)

• IDS (Intrusion Detection System)① OSSEC

5. 보안

Page 13: Service operation

TechOps

• Ticketing System 이 필수• Escalation Process (Tier 1 – Ops, Tier 2 – 개발 , Tier 3

– 벤더 )• Case review• 로그 수집이 먼저 . 항상 기록과 수집 후 대응 . ( 재연 Reproduce, 개연성 , 소설 스토리 )• SLA (Service Level Agreement)

6. Incident Handling

Page 14: Service operation

TechOps

• 긴급 배포 : 장애나 버그 FIX• 정기 배포 : 릴리즈 일정에 따른 배포 ( 한달에 1 번 ~2 번 정도가 적정 )• 릴리즈 테스트 : 회귀 테스트 + 새로운 기능에 대한 테스트 후 배포• 배포는 항상 수동 배포• 릴리즈 브렌치 : VCS 에서 릴리즈 브렌치를 반드시 생성 • 릴리즈 노트

– 안드로이드 릴리즈 노트 : http://developer.android.com/sdk/RELEASENOTES.html

– Fire Fox 릴리즈 노트 http://www.mozilla.org/en-US/firefox/23.0.1/releasenotes/

– Maven 릴리즈 노트 http://maven.apache.org/release-notes-all.html

7. 릴리즈

Page 15: Service operation

TechOps

• 오픈소스 VCS 브렌치 (GIT 예제 ) 8. 형상 관리 전략

• 일반적인 서비스 개발

Page 16: Service operation

TechOps

• Procurement Time (70~80% 부터 장비 추가 공급 )• Operational Cost (CAPEX vs OPEX , TCO)• 도상훈련

신경써야 하는 것들

Page 17: Service operation

Service Ops

• 에반젤리즘 & 마케팅① Developer Support Developer guide, API spec, sample code② User Support

• Manual (Document)• Marketing Page

③ Sales Support • 세일즈를 위한 세일즈 툴킷 개발• 세일즈 기술 지원

• 고객 지원① Ticket Support (ZenDesk)② 콜센터 (Out sourcing)