본문 바로가기
CSP (Cloud Service Provider)/AWS

SOW 작성 요령 - 1

by BTC_Haksung 2022. 10. 21.

안녕하세요 

6월에 작성한 SOW 작성관련 글을 다시보니 수정해야할 내용과 제가 틀린 내용들이 있어 수정을 하고

제대로된 작성 요령에 대한 글을 쓰려고 이렇게 두번 째 글을 준비했습니다.

 

그럼 목차를 하나하나 들여다 보며 작성 요령을 자세히 알아보겠습니다.

참고로 이 작성 요령은 저의 KnowHow일뿐 절대 정답이 될 수 없다는 것을 알립니다

 

1. Project Summary 
2. Executive Summary 
3. Current Situation 
4. Customer’s Requirement 
5. Proposed Architecture 
6. Scope of Work 
7. Assumptions 
8. Success Criteria 
9. Customer Dependencies 
10. Exclusions 
11. Responsibility Matrix 
12. Project Time Frame 
13. Detailed Project Costing 
14. Acceptance of Project 


1. Project Summary

해당 파트에서는 본 프로젝트에 대한 기본적인 내용을 적는 칸입니다.

 

본 프로젝트의 이름 및 파트너의 정보등을 기입합니다. 이파트는 그리 어려운 부분은 아니니 넘어가도록 하겠습니다.

그럼 Project Objective 칸이 나옵니다.

이 칸에서는 회사 소개를 아주 간략하게 하면서 현재 트랜드와 프로젝트가 나오게 된 이유를 간략하게 설명해주면서 스토리텔링을 해주면 좋습니다.

간단하게 예를 들면 A라는 회사가 이번 코로나로 갑자기 급증한 사용량에 대응 하기위한 인프라가 필요하다 그래서 이프로젝트에서는 EKS를 활용하여 이를 해결하는 것이 목적입니다. 이런 방향으로 작성해주면 됩니다.

 

-        클라우드를 도입하게 고려하게 계기가 될만한 원인 (ex. 비용, 글로벌 인프라, 탄력성, 확장성)

-        현재 인프라가 가지고 있는 이슈 (ex. 네트워크 지연, 잦은 서비스장애)

-        비즈니스 사이클에 대한 이슈 (ex. 장비 노후화, 호스팅 종료, 유지보수 계약 만료 )

-        신규 서비스에 대한 Needs, AWS 신규 서비스 활용  

 

 

다음인 Project Success Criteria가 중요한 부분입니다.

해당 부분에 기입되는 내용은 앞으로 작성할 부분에도 통일되게 작성을 해야하며 이를 기반으로 필요한 AWS 서비스를 나열하고 설명을 이어나가야합니다. AWS에서 자세하게 보는 부분이기 때문에 주의하며 작성을 해야합니다.

해당 부분에서는 앞서 작성한 프로젝트의 목적을 기반으로 어떻게 개선되기 바라는지 작성하면 됩니다. 간단하게 예를 들면 

  •  DAU > 300K, CAU > 30K 상황에서 지연 이슈 없음
    - Client Response Latency ≤ 100ms
  • l  지연 이슈 부존재를 위한 세부 검증 항목
    - Game Service CPU Utilization ≤ 60%
    - Game 서버 Scale Out 및 Service Online ≤ 300초
    - DB ⇔ 서버간 Latency ≤ 20ms
    - DynamoDB WCU > 10K/s, RCU > 40K/s
  • l  Game Servcie 가용성 및 DB RPO/RTO 검증
    - DB Failover < 2분
    - 특정 Game Server Down 시 다른 Game Server 영향 없음
    - Game, Inventory DB : RPO < 1분, RTO < 30분
  • l  Game Log 분석 시스템 요건 확인 (VPC Peering/TGW)
    - Seoul Region ⇔ Tokyo Region throughput > 100MB/s :: Game Server to Log Server
  • IDC 대비 2년 TCO 기준 10% 절감

다음과 같이 고객사의 문제를 해겨하기 위해 이런 목표를 가지고 프로젝트를 진행 할 것이라는 내용을 작성하고 이를 기준으로 나중에 작성할 항목에서 어떤 AWS 서비스를 활용하여 이 문제를 해결 할 것인지 자세하게 작성을 해줘야합니다.

그럼 다음 목차로 넘어가보도록 하겠습니다


2. Executive Summary 

해당 부분에서는 말그대로 Summary 부분입니다. 고객사 / 프로젝트에 대한 간단한 정보 및 어떻게 이 프로젝트를 실행할지 간단하게 Outline을 설명해주는 부분입니다.

 

Who is Customer?

회사업종, 주요 사업, 국내/해외 순위, 클라우드 경험도 관련 간단하게 정보를 찾아 작성을 해주면 됩니다,

 

Project Objective때 간단하게 고객사에 대한 정보를 적었다면 해당 내용을 그대로 적어도 됩니다. 솔직히 이부분은 너무 말도 안되는 내요을 적는 것이 아니라면 크게 문제가 없는 부분이니 사실만 적으시면 됩니다 ^^

 

What are the problems that the customer is facing?
해당 부분도 마찬가지로 Project Objective에서 어떤 문제를 고객이 가지고 있지에 대한 내욜을 리스트 형식이나 스토리탤링 방식으로 적으시면 됩니다.

 

-        클라우드를 도입하게 고려하게 계기가 될만한 원인 (ex. 비용, 글로벌 인프라, 탄력성, 확장성)

-        현재 인프라가 가지고 있는 이슈 (ex. 네트워크 지연, 잦은 서비스장애)

-        비즈니스 사이클에 대한 이슈 (ex. 장비 노후화, 호스팅 종료, 유지보수 계약 만료 )

-        신규 서비스에 대한 Needs, AWS 신규 서비스 활용  

 

How will the project be carried out? What is the approach? How many Phases there are?

 

앞서 적은 내용을 합쳐서 적어준다는 느낌을 가지면 됩니다. 이번 PoC에서는 클라우드 기반 인프라를 통해 ~ 환경을 구성하여 A와 B를 개선할 수 있도록 할 것입니다라는 내용을 좀더 길고 자세하게 적어주시면 됩니다.

절차는 다음 글을 참고하시면 됩니다.

예제 1: PoC수행 시나리오

1단계: 고객사 자원 구성 현황 파악

2단계: PoC인프라 환경 구성

3단계: 어플리케이션 연동 테스트

4단계 : 부하 테스트 (클라우드 기능 테스트)

예제 2: Migration 수행 방안

1) DMS 활용 (Downtime OO시간 목표)  

o   1단계: 고객 data 확인 (script활용,볼륨 확인)

o   2단계: 고객사와 AWS VPN연결

o   3단계:  AWS인프라 구성, DMS구성                      

2) DB dump 이후 이전 (Downtime O 목표)


3. Current Situation

해당 부분에서는 좀더 자세하게 글을 작성해 줘야 합니다.(Describe in great detail the following)

 

What are the customer pain-points and what are the impacts on their business/ business operations? 

해당 부분은 예시와같이 길게 적지 않아도 앞에서 적은 내용들을 바탕으로 어떤 문데들 이 있으며 이 문제를 어떻게 개술적으로 해결 할 것인지 작성하변 됩니다.

 

% Business Challenge

  • 한국을 비롯한 여러 국가에 빠르고 효율적인 서비스 구성 및 운영 필요
  • 서버당 3K 명 이상, CAU 30K, DAU 400K 이용시에도 지연 없이 안정적인 서비스 필요, 안정적인 서비스 제공이 안 될 경우 사용자 이탈 및 매출 감소 예상
  • OnPrem 환경에서 만족하지 못했던 가용성 및 RPO/RTO 확보 필요
  • 추후 Data 분석 시스템 구축 시 불필요한 서비스 단절 및 Lead Time을 없애기 위해서 게임 및 Log DB 설계 시 Data 분석도 고려 필요
  • 사용자 분석을 위한 Log 분석 시스템의 Batch 분석 시간 감소 필요
  • Global 사용자 분석을 위한 Log 분석 시스템 통합 연계 필요
  • OnPrem Infra 대비 TCO 절감 필요

% Technical Challenge

  • 이번 PoC를 통해 동시 접속 유저 30,000 명(각 서버당 3,000명) 이상의 플레이를 지원할 수 있는 환경을 구축하기 위한 PRODUCTUON 인프라 구성 및 검증, 비용 산정 필요
  • MMORPG 특성상 최대 동접 상황을 수용하기 위해 각 게임 서버(World Server)는 Dedicated Server를 사용하여, 인스턴스들은 기준 Latency와 Resource Usage 충족 필요
  • 이번 PoC를 통해 Production Infra 에서 사용 할 각 Service 및 Resource의 적정 Spec 파악 필요 (EC2, Aurora MySQL, EBS, ELB 등)
    • Log DB는 게임내 유저의 행위 정보, 시스템 정보 등 추후 Data Analytics 시스템 구축을 대비하여 필요한 Data를 축적하도록 설계 필요
    • Log DB는 기본적으로 같은 Region에 저장 및 분석이 기본이며, 필요 시 통합 분석도 가능해야 함
    • Game DB는 테스트 진행간 게임서버에서 발생하는 모든 데이터를 지연없이 저장할 수 있어야 하며, 이번 PoC를 Production을 위한 적정 Service 및 Resource Spec 산정 필요
  • 한국은 물론 일본을 비롯한 Global Service Infra 구성 및 분석 Platform 연계를 위한 DB 시스템 설계 및 연동에 대한 정량/정성적인 검증 필요

 

What is the customer’s current architecture?

-NA 해당 부분은 없다면 없다고 적으면 됩니다.

있다면 

o   고객사 서비스 구성도 (logical flow 나타내는 내용)

o   네크워크 구성내역

o   고객사 인프라 상세 구성 내역서

당음과 같은 내용들을 적어 주면 됩니다.

 


4. Customer's Requiremnet

 What are the customer requirements? (This should include any specific technical and costing requirements the customer may have)

해당 부분부터 이제 기술적인 내용을 적어줘야 합니다.

o   수치화 있는 기술적 요구사항 (사용자 응답 시간, 시간당 처리건수, 운영 자동화, 실시간 복제, RTO/RPO, 데이터 정합성, Auto scaling, global coverage, 보안 강화 )

o   비용 요구사항 (연간 $OOO , 운영 인력 OO, 연간 OO감소)

 

해당 예시는 게임 회사의 예시이다. 참고 하면 됩니다

  • 최대 동시 접속 유저 30,000명을 수용하기 위하여 Game Server 1set(Architecture 상의 World Server를 1set으로 가정)가 3,000명을 수용할 수 있도록 구성하였고, 해당 서버는 총 10set를 구성할 예정(DAU 300K)
  • Login 및 Chat Server 등은 Scale Out 및 Service Online < 300초
    • Game Server는 각 서버당 동시 접속 3,000명 기준에서 다음과 같은 Latency 조건을 충족 필요
      • 이동, 전투: 100ms 이하
        % Game Server에 대한 부하 테스트는 고객사 자체 개발 Test Tool 활용하여 고객이 직접 수행 예정
    •   Login Server는 일정 수준의 CPU Utilization에 도달할 경우, Auto scaling을 통한 안정적인 서비스 필요
      • CPU Utilization max 60% 이하
      • 메모리 70% 이하 유지
    • 최대 동시 접속 상황에서 DB Instance는 게임 내 Event 들을 모두 기록 필요
      • 개체, 액션별로 분류된 데이터 저장
    • 모든 DB는 RPO 5분 이내를 보장해야 하며, Rollback을 위해 Daily Backup Set 30일치 저장 필요
    • GameDB는 Master / Slave(Read Replica)구성으로 HA 확보 필요
    • Game Platform(Play Ground)과 연동될 수 있는 구성 필요

 

What are the timelines for this project? Are there any sub-milestones or sub-checkpoints for this project?

해당 부분은 위에서 적은 Phase를 기준으로 적으면 됩니다

 

예시:

-         1주차 고객 요구 사항 추가 검토 아키텍쳐 구성안 작성

-         2주차 모든 서비스 생성 서비스 적절성 검증

-         3주차 부하 테스트 Spec 적절성 검증

-         4주차 AWS 서비스 Spec 확정 서비스 준비

 


다음 5부터는 기술적인 내용이 많이 들어가게 됩니다 다음 내용 부터는 다음 편에서 나누도록 하겠습니다람쥐!

'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글

[AWS] 백업(Back-up)  (1) 2022.10.23
AWS Client VPN  (0) 2022.10.23
API와 API Gateway(2)  (0) 2022.10.20
MAP 결과 보고서 작성 요령 - MPA  (0) 2022.10.19
[AWS] RDS-실습  (0) 2022.10.14

댓글