운영 계획
운영 계획
운영 요구사항 파악 및 정의
운영 우수성이란, 비즈니스 가치를 극대화하기 위해 Application을 최소한의 중단으로 안정적으로 실행하고, 시스템의 효율성을 높이기 위한 지속적인 개선 활동을 의미합니다.
운영팀은 Application의 인프라와 보안, 그리고 모든 소프트웨어 관련 이슈를 처리함으로써, Application이 안정적으로 작동할 수 있도록 관리하는 역할을 맡고 있습니다.
특히 엔터프라이즈 Application의 경우, 서비스 수준 계약(Service Level Agreement, SLA)을 통해 가용성을 명확히 정의해야 하므로 운영 팀은 비즈니스 요구 사항을 충분히 이해하고, 이에 따라 발생할 수 있는 다양한 이벤트에 신속하게 대응할 수 있어야 합니다.
우선, 조직이 속한 업종 및 수행하는 업무에 따라 요구되는 법률이나 제도적 규정 중에서 운영에 영향을 줄 수 있는 요소들을 평가하는 것이 필요합니다.
보안 설계 원칙의 규정 준수 사항(보안 설계 원칙 > I. 보안 요구사항 분석 및 설계 원칙 > 1. 규정 준수 및 보안 요구사항)을 점검해 보는 것이 바람직합니다.
여러 규정 준수 사항 중 정보보호관리체계(ISMS)는 일정 규모 이상의 사업을 수행하는 기업이나 조직이 최종 사용자 또는 소비자에게 서비스를 제공할 경우 반드시 취득해야 하는 인증으로, 가장 일반적이며 필수적인 규정 준수 요건이라 할 수 있습니다.
아래 표에는 ISMS 통제 항목 중 운영 관리 분야에 해당하는 내용이 정리되어 있습니다.
운영 우수성 설계 원칙을 수립할 때에는 이 항목들 중 특히 변경 관리, 성능 관리, 장애 관리에 대한 부분을 면밀히 검토하는 것이 중요합니다.
정보시스템 도입 및 개발 보안
| 통제 항목 | 설명 |
|---|---|
| 시험과 운영 환경 분리 | 개발 및 시험 시스템은 운영 시스템에 대한 비인가 접근 및 변경의 위험을 감소시키기 위하여 원칙적으로 분리하여야 합니다. |
| 소스 프로그램 관리 | 소스 프로그램은 인가된 사용자만이 접근할 수 있도록 관리하고, 운영 환경에 보관하지 않는 것을 원칙으로 하여야 합니다. |
| 운영 환경 이관 | 신규 도입∙개발 또는 변경된 시스템을 운영 환경으로 이관할 때는 통제된 절차를 따라야 하고, 실행코드는 시험 및 사용자 인수 절차에 따라 실행되어야 합니다. |
시스템 및 서비스 운영 관리
| 통제 항목 | 설명 |
|---|---|
| 변경 관리 | 정보시스템 관련 자산의 모든 변경내역을 관리할 수 있도록 절차를 수립∙이행하고, 변경 전 시스템의 성능 및 보안에 미치는 영향을 분석하여야 합니다. |
| 성능 및 장애관리 | 정보시스템의 가용성 보장을 위하여 성능 및 용량 요구사항을 정의하고 현황을 지속적으로 모니터링하여야 하며, 장애 발생 시 효과적으로 대응하기 위한 탐지∙기록∙분석∙복구∙보고 등의 절차를 수립∙관리하여야 합니다. |
여러 관리 체계 중 IT 서비스 관리(ITSM, IT Service Management)는 IT 서비스를 비즈니스 요구사항에 맞춰 효과적으로 설계, 구축, 제공, 운영 및 관리하기 위한 프로세스 기반의 접근 방식으로, IT 인프라 라이브러리(ITIL: Information Technology Infrastructure Library)과 같은 프레임워크가 이를 대표합니다.
ITSM은 기술 중심이 아닌 서비스의 전체 라이프사이클 관점에서 접근하며, 조직이 최종 사용자에게 안정적이고 효율적인 서비스를 제공하기 위해 채택하는 가장 보편적이며 필수적인 운영 관리 체계라 할 수 있습니다.
서비스 전환
| 통제 항목 | 설명 |
|---|---|
| 변경 관리 | IT 서비스 및 인프라에 대한 모든 변경 사항을 통제된 절차에 따라 관리하여, 변경으로 인한 서비스 중단 및 비즈니스 위험을 최소화합니다. |
| 릴리스 및 배포 관리 | 승인된 변경 사항을 실제 운영 환경에 안전하고 성공적으로 배포하고 이관하는 전체 라이프사이클을 계획하고 통제합니다. |
서비스 운영
| 통제 항목 | 설명 |
|---|---|
| 장애(인시던트) 관리 | 예기치 않은 서비스 중단이나 품질 저하(장애) 발생 시, 서비스를 신속하게 탐지, 기록, 분석, 복구하여 비즈니스 영향을 최소화합니다. |
| 문제 관리 | 장애의 근본 원인(Root Cause)을 규명하고 재발 방지 대책을 수립하여, 장애 발생을 사전에 방지하고 장기적인 안정성을 확보합니다. |
| 서비스 수준 관리 | SLA에 정의된 서비스 수준 목표(가용성, 성능 등)를 달성하고 있는지 지속적으로 모니터링, 측정, 보고하고 개선 활동을 수행합니다. |
| 용량 관리 | 현재 및 미래의 비즈니스 요구에 필요한 IT 자원과 성능을 비용 효율적으로 확보하고 관리하며, 성능 저하가 발생하지 않도록 모니터링합니다. |
시험 환경과 운영 환경의 분리
개발 및 테스트 환경은 VPC, 계정(Account) 단위의 논리적/물리적 분리를 통해 반드시 운영 시스템과 분리하여 구성해야 합니다.
또한, 운영 시스템에는 개발자가 직접 접근하지 않도록 IAM(Identity and Access Management) 정책을 통해 엄격히 제한하는 것이 바람직합니다.
조직의 규모가 작거나 인적 자원이 부족하여 개발과 운영의 업무 분리가 어려운 경우에는, 직원 간 상호 검토, 상급자의 모니터링, 변경 사항에 대한 검토 및 승인 절차 등을 통해 이를 보완할 수 있습니다.
소스 프로그램 관리
소스 프로그램에 대한 접근 권한은 인가된 개발자에게만 부여되어야 하며, 정기적인 백업을 통해 비상 상황에 대비하는 것이 필요합니다.
또한, 소스 프로그램의 변경 이력을 체계적으로 기록하고, 변경 사항에 대해서는 반드시 검토 및 승인 절차를 거쳐야 합니다.
일반적으로는 Git, SVN 등과 같은 형상관리 도구를 활용하여 소스 코드를 관리하며, 이러한 도구들은 접근 권한 설정, 버전 관리, 변경 이력 추적 등의 기능을 제공합니다.
운영 환경으로 이관
개발이 완료된 시스템을 운영 환경으로 이관할 때에는, 개발자가 아닌 별도의 담당자가 이관 작업을 수행해야 합니다.
이관 시에는 테스트 완료 여부, 이관 전략, 문제 발생 시의 롤백 방안 등을 반드시 사전에 검토해야 하며, 이를 통해 운영 전환의 리스크를 낮출 수 있습니다.
DevOps 환경에서는 Application의 개발 및 배포가 자동화되어 개발자가 직접 배포를 수행하는 경우도 있습니다.
이러한 경우에도 모든 개발자에게 배포 권한을 부여하기보다는, 특정 인원에게만 권한을 위임하고, 자동화된 배포 과정에서 승인 절차를 설정하여 통제하는 방식이 보다 효과적입니다.
변경 관리
운영체제 업그레이드, 상용 소프트웨어 설치, 운영 중인 애플리케이션의 개선, 네트워크 구성 변경, 서버 사양 변경 등 자산 변경이 필요한 경우에는 명확한 절차를 수립하고 이를 철저히 이행해야 합니다.
Samsung Cloud Platform 환경에서도 아키텍처 관리, 가상 서버 변경, 이미지 업그레이드 등과 관련된 사항을 체계적으로 관리하는 것이 요구됩니다.
이를 위해 IaC(Infrastructure as Code) 도구를 활용하여 변경 사항을 템플릿화하고, 각 변경 사항에 대한 문서화를 철저히 수행해야 합니다.
또한, 변경 사항의 적용 전/후 상태를 비교하여 예상치 못한 영향을 최소화할 수 있도록 검토해야 합니다.
특히, 대규모 변경의 경우, 변경의 중요도에 따라 영향 분석을 수행하고, 변경 실패에 대비한 복구 방안(예: 이전 버전의 IaC 코드로 롤백)을 사전에 마련해 두는 것이 중요합니다.
이를 통해 변경 작업 중 발생할 수 있는 예기치 않은 문제로부터 시스템을 보호하고, 빠르게 정상 상태로 복구할 수 있습니다.
추가적으로, 클라우드 환경에서는 자동화 도구를 활용하여 변경 작업을 자동화하고, 모니터링 및 알림 시스템을 통해 변경 사항의 적용 상태를 실시간으로 모니터링하는 것이 필요합니다.
이를 통해 변경 작업의 안정성과 효율성을 높일 수 있습니다.
또한, 정기적인 검토 및 감사를 통해 IaC 코드와 프로세스의 품질을 지속적으로 개선하고, 보안 및 규정 준수 요구사항을 충족할 수 있도록 해야 합니다.
이러한 체계적인 접근 방식을 통해 클라우드 환경에서의 운영 변경 관리를 효율적으로 수행하고, 시스템의 안정성과 신뢰성을 유지할 수 있습니다.
성능 및 장애 관리
정보시스템의 가용성을 보장하기 위해서는 성능 및 용량 관리 대상의 식별 기준, 성능 및 용량 요구사항(임계치) 정의, 모니터링 방법, 결과 기록 및 분석, 임계치 초과 시 대응 방안 등을 포함한 절차를 마련해야 합니다.
서버, 네트워크, 데이터베이스, Application 등의 성능을 관리하기 위해서는 CPU 사용률, 메모리 사용률, 디스크 사용량 등과 같은 성능 관리 구성 요소와 응답 시간, 처리량 등의 성능 지표를 정의하고, 이를 실시간으로 모니터링할 수 있는 도구를 활용하는 것이 바람직합니다.
장애 탐지 및 대응을 위해서는 장애 유형과 심각도를 정의하고, 이에 따른 보고 절차, 탐지 방법, 대응 및 복구에 대한 책임과 역할을 명확히 해야 합니다.
또한, 장애 발생 시 고객 안내 절차와 비상 연락 체계를 포함한 대응 체계를 갖추는 것이 필요합니다.
장애 대응 이력은 장애 발생 일시, 심각도, 담당자 및 책임자, 장애 내용과 원인, 조치 및 복구 내용, 재발 방지 대책 등을 포함하여 문서화해야 하며, 이는 장애조치 보고서 형태로 관리되어야 합니다.
이러한 규정 준수 요건에 따른 필수 운영 관리 활동 외에도, 클라우드 환경에서의 자원 운영 관리 항목 역시 함께 검토되어야 합니다.
다음 표는 클라우드 운영을 위한 관리 항목의 예로 Managed Service의 관리 항목을 정리한 자료입니다.
| 항목 | 설명 |
|---|---|
| 청구/보고서 | - 클라우드 월 사용료 청구 - CSP 기술 지원 등급 관리 - 크레딧 등 빌링 공제 요소 관리 |
| 서비스 지원 | - 서비스 요청 접수 - 서비스 작업 수행 시간(24h X 365d, 9h X 5d 등) - 서비스 처리 결과 공유 |
| 자원 관리 | - 클라우드 자원 관리(자원 생성/변경/삭제) - 데이터 마이그레이션 - 백업 & 복구 |
| OS 운영 | - 시스템 업데이트 및 패치 관리 - 성능 최적화 - 시스템 설정 관리 |
| 장애 대응 | - 장애 알림(알림 목록 관리, 알림 전송, 알림 방법, 알림 시간) - 장애 발생시 대응 조치 시간(SLA기반) - 장애 분석 결과 보고 - 장애 재현 테스트 |
| 기술지원 | - 이슈 대응 - 아키텍처 수립/개선 지원 - 비용 최적화 지원 - 자원 사용량 검토 |
| 보안 | - 시스템 보안 진단 및 조치 - 사용자 및 권한 관리 정기 점검 - 보안 정책 관리 및 적용 - 보안 공지 |
| 모니터링 | - 모니터링 설정 - 임계치 적용 및 관리 - 모니터링 에이전트 관리 |
| 보고 | - 정기 보고서(월간 운영보고서, 연간 계획서) - 비정기 보고서(감사 대응, 사용량 위험 보고, 서비스 중단 공지 및 작업 등) |
클라우드 운영 조직 구성
클라우드 환경에서 진정한 운영 우수성을 실현하기 위해서는, 고도화된 기술의 도입을 넘어 이를 효과적으로 뒷받침할 수 있는 협업 중심의 조직 문화가 필수적으로 요구됩니다.
이는 클라우드 운영 우수성의 핵심 목표가 과거에는 상충된다고 여겨졌던 비즈니스 속도(Agility)와 서비스 안정성(Reliability)이라는 두 가지 가치를 동시에, 그리고 균형 있게 달성하는 데 있기 때문입니다.
과거의 전통적인 IT 조직은 개발팀과 운영팀이 명확하게 분리된 구조를 기반으로 했습니다. 이 구조하에서 개발팀은 신규 기능의 빠른 출시를 최우선 목표로 삼았고, 반대로 운영팀은 장애 없는 무중단 안정성을 최우선으로 삼았습니다.
이러한 근본적인 목표의 차이는 필연적으로 부서 간의 목표 충돌을 일으켰고, 개발팀의 변경 사항이 운영팀의 안정성 검토 단계에서 병목 현상을 유발하며 비즈니스 민첩성을 저해하는 주된 원인이 되었습니다.
이러한 고질적인 전통적인 운영 문제를 해결하고 속도와 안정성이라는 공동의 목표를 달성하기 위해 등장한 것이 바로 DevOps 문화입니다.
DevOps 조직 구성이란, 단순히 개발(Dev)과 운영(Ops)을 별개의 팀으로 분리하는 것이 아니라, 서비스의 전체 생명주기(기획, 개발, 배포, 운영)에 걸쳐 두 조직의 목표를 일치시키고 책임을 공유하는 협업 체계를 의미합니다.
이러한 DevOps 문화를 기반으로, 현대 클라우드 운영 조직의 역할은 근본적으로 재정의됩니다.
더 이상 안정성을 확보하기 위해 변경을 통제하고 관리하는 전통적인 역할에 머무르지 않습니다.
대신, 비즈니스 속도와 안정성을 모두 지원하기 위해 개발팀이 스스로 빠르고 안전하게 배포할 수 있도록 자동화된 CI/CD 파이프라인, 코드형 인프라(IaC) 템플릿, 그리고 모니터링 및 보안이 내재된 플랫폼을 구축하고 제공 합니다.
| 구분 | 전통적 IT 운영 조직 | 클라우드 운영 조직 |
|---|---|---|
| 운영 우선 순위 | 부서별 목표 최적화 (예: 개발은 기능, 운영은 안정성) | 공동의 비즈니스 목표 (빠른 배포와 안정적인 서비스) |
| 역할 구분 | 명확한 기술 영역 구분 (서버, 네트워크, DB, 보안) | 자동화와 효율성을 강조하며, 다양한 기술 스택을 기반으로 여러 기술 분야를 복합적으로 수행 |
| 주요 역할 | 시스템 관리자, 네트워크 관리자, 데이터베이스 관리자, 보안 관리자 등 | SRE, DevOps 엔지니어, 클라우드 아키텍트, 보안 관리자 등 |
| 운영 방식 및 프로세스 | 시스템 업데이트, 유지보수 등의 업무를 중심으로 운영하며, 개발과 운영이 분리되어 있음 | 자동화된 업데이트, 관리 업무를 수행하며, 개발과 운영의 업무가 연결 또는 통합되어 있음 |
클라우드 환경에서의 운영 모델은 워크로드의 구성 방식에 따라 달라질 수 있습니다.
기존 조직 구조 내에서 클라우드 운영
기존 IT 인프라를 클라우드로 마이그레이션하는 과정에서, 특히 Lift & Shift 방식으로 전환하거나 일부 워크로드만 클라우드로 이전하고 나머지는 온프레미스 환경에서 유지하는 경우가 많습니다.
이러한 상황에서는 클라우드 운영 모델을 설계할 때 기존 IT 운영 조직 내에 클라우드 운영 조직을 별도로 추가하거나, 기존 조직의 역할에 클라우드 운영 업무를 통합하는 두 가지 주요 방식을 고려할 수 있습니다.
첫번째 방식은 클라우드 운영 조직을 별도로 추가하는 것입니다.
이는 클라우드 환경의 특성과 요구사항에 맞춰 전문화된 팀을 구성하여, 클라우드 인프라의 관리, 모니터링, 보안, 그리고 최적화 작업을 전담하도록 하는 방식입니다.
이 방식은 클라우드 환경에 대한 전문성을 강화하고, 기존 온프레미스 운영 조직과의 역할 분리를 통해 각각의 환경에 대한 집중적인 관리가 가능합니다.
그러나 이 방식은 조직 내 역할 중복이나 커뮤니케이션 비용이 발생할 수 있는 단점이 있습니다.
두번째 방식은 기존 조직의 역할에 클라우드 운영 업무를 통합하는 것입니다.
이 방식은 기존 IT 운영 조직이 클라우드와 온프레미스 환경을 모두 관리하도록 하여, 두 환경 간의 통합된 운영 모델을 구축합니다.
이 방법은 조직 내 협업을 강화하고, 클라우드와 온프레미스 환경 간의 일관된 정책 및 프로세스를 유지하는 데 유리합니다.
또한, 조직 내 리소스의 효율적 활용이 가능하지만, 클라우드 환경에 대한 전문성이 부족할 경우 운영 효율성이 저하될 수 있습니다.
클라우드 전환 후 인프라 운영
클라우드 인프라 운영과 개발팀의 역할은 조직의 주요 워크로드가 클라우드로 전환되었거나, 클라우드 기반으로 신규 구축된 경우에 중요한 변화를 겪습니다.
기존에는 기능별로 구성된 온프레미스 운영 조직이 존재했으나, 클라우드전환 이후 많은 인력이 클라우드 기반 워크로드를 관리하게 되면서 운영 조직의 역할 또한 클라우드 인프라 중심으로 재편됩니다.
이 구조에서는 애플리케이션 관련 업무는 여전히 개발팀이 담당하며, 플랫폼 운영은 클라우드 환경에 맞춰 재편되는 방식으로 운영 모델이 설계됩니다.
클라우드 인프라 운영 조직은 클라우드 환경의 특성을 고려하여 설계되며, 클라우드 리소스 관리, 모니터링, 보안, 그리고 최적화 작업을 중심으로 운영됩니다.
이 조직은 클라우드 서비스 제공자(CSP)의 플랫폼을 활용하여 인프라를 효율적으로 관리하고, 자동화 도구와 스크립트를 통해 반복적인 작업을 간소화합니다.
또한, 클라우드 환경의 탄력성과 확장성을 활용하여 비즈니스 요구에 빠르게 대응할 수 있는 유연성을 제공합니다.
개발팀은 애플리케이션 개발과 관련된 업무를 계속 담당하며, 클라우드 환경에서의 개발 프로세스를 최적화합니다.
이를 위해 개발팀은 클라우드 네이티브 아키텍처를 설계하고, 마이크로서비스 기반의 애플리케이션을 구축하여 클라우드 환경의 장점을 최대한 활용합니다.
또한, CI/CD 파이프라인을 통해 빠르고 안정적인 소프트웨어 배포를 지원하며, 클라우드 인프라와 애플리케이션 간의 통합을 원활하게 수행합니다.
DevOps 체계 운영
조직의 주요 시스템을 클라우드 기반의 CI/CD 애플리케이션으로 재구축하기로 결정한 경우, 운영 모델 역시 이에 맞춰 최적화된 클라우드 원팀(One Team) 구조로 변화하게 됩니다.
이 경우 클라우드 운영팀과 개발팀이 DevOps팀으로 통합되며, 지속적인 통합과 배포 프로세스를 담당하는 단위로 역할이 재정의됩니다.
이를 통해 개발과 운영 간의 협업이 더욱 긴밀해지고, 클라우드 환경에서의 빠른 배포와 안정적인 운영을 동시에 달성할 수 있습니다.
또한, 보안 강화를 위해 DevSecOps 형태로 운영이 통합될 수도 있습니다.
이는 보안, 개발, 운영이 하나의 팀으로 유기적으로 협력하는 구조를 의미하며, 보안 요소를 개발 및 운영 프로세스에 통합하여 처음부터 안전한 애플리케이션을 구축할 수 있도록 지원합니다.
이러한 통합된 운영 모델은 클라우드 환경에서의 효율성과 안정성을 극대화하고, 조직의 비즈니스 목표를 효과적으로 달성할 수 있는 기반을 마련합니다.
최적화된 클라우드 원팀 운영은 각 팀 간의 경계를 허물고, 공통의 목표를 위해 협력하는 문화를 조성합니다.
이를 통해 조직은 클라우드 환경에서도 빠르고 유연하게 대응할 수 있으며, 지속적인 혁신과 경쟁력 유지를 위한 기반을 다질 수 있습니다.


