2022. 6. 11. 09:04ㆍ기술/네트워크
현재 뒤끝 서버를 사용해서 개발중에 '가격정책'에 대해서 이슈가 있어서 생각해 보게 되었습니다.
2022년 9월 1일 부터 새로운 가격정책이 시행된다는 것인데요.
월 수입 500만원 이상 7% 요금제에서 사용한 만큼 비용이 청구된다는 메일을 받고 이 이슈에 대해 생각하게 되었습니다.
DB 사용량은 별도인지 모르고 개발시작..;
뒤끝 서버를 이용하여 PC 및 안드로이드 폰 로그인, 회원가입, 유저 닉네임 생성, 앱버전 체크,
DB에 테이블 생성 각종 서버 데이터 설계하여 INSERT, UPDATE, 트랜젝션을 사용하여
송수신 최적화등을 진행해 보았습니다.
게임 구조를 서버와 함께 할 수 있도록 설계하며 개발을 진행하였고
switch 문으로 Request 하는 부분을 수정하여 서버를 선택할 수 있도록 해두었습니다.
도중에 코드를 잘 정리하여 굉장히 복잡하지는 않습니다.
고민되는 부분은 '서버 유지비용'입니다. 외에도 고민거리 중에 서버이슈도 조금 있는거 같습니다.
팀규모 개발 시 회사내에 서버가 있으면 고민 안해도 되는 부분입니다.
그래서 생각도 정리할 겸 백앤드 게임 서버 뒤끝과 PlayFab을 비교해 보도록 하겠습니다.
사실 현업에서도 서버 유지비용에 대해서 얘기를 나누었던 적이 있습니다.
민감한 부분인거 같습니다. 배 보다 배꼽이 크다? 뭐 이런..
(서버 유지비용 때문에 서버를 붙이지 말라고 할수도..)
유저들 입장에서는 게임을 오래 하고 싶은 바램도 있으니까 서비스 종료 이슈에 대해서도 생각해 보아야 합니다.
그런데 매출이 많이 발생하지 않는데 서버 유지비용만 많이 든다면
회사나 개발팀 입장에서도 매우 힘들게 됩니다.
이 백앤드 서버 서비스를 이용하는 이유는 다양하지만 유저들이 게임접속율에도 영향을 줄 수 있고
조금 더 좋은 게임 내 서비스를 제공할 수도 있고 고객관리도 할 수 있는 장점이 있습니다.
회사에 이런 시스템이 구현돼 있으면 좋겠지만 그렇지 않은경우 사용할 수 있겠습니다.
뒤끝 베이스는 매월 횟수당 약 5만 회가 무료입니다. 반면 PlayFab은 10만 유저까지 무료입니다.
'횟수'와 '유저수'의 차이가 있습니다. 디테일하게 보면 많은 차이가 있습니다.
"5만회 호출 이상 발생하면 어쩌지?" 이런 고민..
뒤끝 서버는 개발 모드에서도 DB 사용량이 일정 수준 초과 시 비용 발생..
아직 라이브 해보지 않아서 얼마의 비용이 발생하는지는 모릅니다.
일단은 5만 유저라도 도전 목표를 세워야 할 것 같습니다.
뒤끝 베이스
해당 기능을 이용하면 호출당 가격인거 같습니다.
유저 관리 : 주로 내 정보 가져오기는 게임 접속 시 1회 (0.03원), DB 읽기 : 0.0007원 / 1처리
게임 정보 관리 : 가져온 내 정보를 통해 DB 테이블에 있는 데이터를 가져오기 1회 (0.03원), DB 읽기 : 트랜잭션 0.0014원 / 2처리
이렇게 되는게 맞는지 모르겠습니다. 조금 헷갈립니다..
정리하자면 무료구간이 뒤끝 베이스 5만회 무료 DB 읽기 및 쓰기는 각각 백만 (1,000,000처리)/월 무료 입니다.
PlayFab
일단 달러$이니 환율에 영향이 있습니다.
Development Mode
Up to 10 Titles with up to 100k users per title.
(개발 모드에서, 최대 10개의 타이틀 각 10만 유저)
before your title passes 100K users
(10만 유저를 넘기 전에는 개발 모드로 인정)
Pay-as-you-go
(사용한 만큼 지불) - 10만 유저를 넘기면 이 단계로
즉 타이틀 수가 10개가 넘거나 10만 유저를 넘기면 사용한 만큼 지불해야 한다는 정책인거 같습니다.
Unlimited live titles & player accounts.
(라이브 타이틀 갯수와 플레이어 수 제한 없음)
Pay only for the services you use. No limits to service usage.
(서비스를 사용한 만큼 지불. 서비스 이용제한 없음)
Standard Plan, Premium Plan은 현재로서는 뭐가 더 좋은지 모르겠습니다.
월 99달러 (13만원가량)에 기본적으로 2천만 이벤트를 제공하고 추가적으로 백만 이벤트 당 6달러 (8천원가량)
이런식인거 같습니다.
Events are metered in 1 KB blocks against average event size. For example, 10 events with an average size of 2 KB are billed as 20 events, while 10 events with an average size of 0.5 KB are billed as 10 events.
(이벤트는 1KB를 기준으로 넘어가면 2번으로 측정한다는 것)
왼쪽에서 타이틀 출시를 잘 읽어보면 개발 모드는 여러가지 제한이 있다는 것인데 무조건
10만 사용자까지 무료사용이 가능하다는 것으로 이해했습니다.
결론은 10만 유저까지 테스트 해볼 수 있는 PlayFab으로 매출이 발생하지 않으면 Live 모드로 바꾸지 않으면 되니까..
(매출이 많이 발생 시 Live 모드로 바꾸면 될 것 같습니다.)
뒤끝 서버로 이것저것 익히고 개발 했는데 PlayFab을 새로 익혀야 하니까 많이 번거롭긴 합니다.
현재로선 PlayFab에 앱버전체크 같은 기능이 있는지 모르겠습니다.
그리고 뒤끝 서버든 PlayFab이든 송수신 함수 호출은 최적화 하는게 맞는거 같습니다.
그래야 비용절감..
서버 입장에서는 처리량이 최적화 되어 좋고 회사 입장에서는 비용이 절감되어 좋은것 같습니다.
서버 이슈는 라이브 되면 돌이키기 힘들다고 생각합니다.
그래서 개발중에 신중히 생각하고 있습니다.
비용 절감
이 이슈 때문에 2일 정도 소요된 것 같습니다.
백앤드 서버 바꾸려면 더 소요될 것 같습니다.
그래도 뒤끝 서버 사용하면서 배운점도 많습니다.
라이브 서비스 되었을 때 유저수 10만명 이상이라면 어떤 백앤드 서비스가 더 저렴한지는
더 살펴봐야 할 것 같습니다. 비슷할 수도 있습니다.
뒤끝 서버는 캐릭터 테이블에서 트랜젝션을 사용하여 한꺼번에 100명의 캐릭터를 가지고 올 수 있는 반면
(크기가 커지면 어떻게 되는지는 모르는 상황)
PlayFab은 각 함수가 나누어져 있기 때문에 캐릭터 100명 생성할 경우 PlayFabClientAPI.GetCharacterData 을 통해 100번의 호출을 수행해야 합니다.
장단점이 있습니다.
캐릭터가 100명일 경우 함수 호출양이 많아지는 것이고 어차피 그만큼 결재를 하였다는 의미이므로 괜찮은것 같습니다.
플레이팹에서 Transaction 기능을 사용하려면 CloudScript를 사용해서 요청하고 데이터를 받으면 되는 해결방법이 있습니다. 고급기능인거 같고 java Script를 사용해야 하므로 익히려면 시간이 걸립니다. (일단 패스)
'기술 > 네트워크' 카테고리의 다른 글
PlayFab 캐릭터 (How to create character)와 가상화폐 (0) | 2022.08.30 |
---|---|
PlayFab 로그인 부터 DB 데이터 추가까지 (0) | 2022.08.26 |
푸시 알림 유니티 (Notification Unity) (0) | 2021.12.24 |
파이어베이스 (Firebase) (0) | 2021.06.02 |
유니티 데이터베이스 연동 (Unity Database connection) (0) | 2020.02.05 |