'정기점검'에 해당되는 글 3건

  1. 2011/07/19 스마트폰 게임환경과 정기점검 (2)
  2. 2010/07/09 나베르 블로그 정기점검이 바뀌었네 (4)
  3. 2008/02/28 흐흐흑!!!!

오늘은 Game4U 7월 2차, 횟수로는 두번째 정기점검이다.
회원수에 관계없이, 규모에 관계없이 정기점검은 지난 일년 반동안 정말 뛰고 싶었던 행사(?)였다.
정기점검이야말로 서비스가 나가고 있다는 증거이고 온라인 게임 회사만의 규칙이기 때문이다.
즉, 빨리 Game4U를 선보이고 싶었고 원래 피처폰 게임 조직어었던 이곳을 빨리 온라인 조직으로 이끌고 싶었다.
7월 2차 정기점검 공지

7월 2차 정기점검 공지

온라인 게임 회사는 모든 스케쥴이 정기점검에 맞춰져 있다고 생각하면 된다.
간단하게 "정책결정->기회서 제작->리소스 제작->코딩->QA->정기점검을 통한 배포"가 한 사이클로 돌아간다.
한 정기점검에 늦게 되면 당연히 다음 정기점검 때 패치를 해야 하는 것이고.

정기점검은 기획자, 디자이너, 프로그래머, 그리고 QA들만의 일이 아니다.
가장 중요한 것은 "개발환경->QA환경->배포환경->실서버 배포"까지
유기적으로 돌아가는 내부 프로세스가 수행되어야 하는데
이 프로세스를 만들고 확립하고 원할하게 만들고 정기점검동안 관장하는 팀이 필요하다.
그리고 빠뜨릴 수 없는게 각 서버에 있는 binary를 동기화 시켜 개발환경부터 실서버까지 배포시키는 SE팀의 능력이다.
(SE는 단순히 OS 업데이트하고 서버 설치하는 일만 있는 것이 아니다.)
잘 보이지 않지만 중요한 SE의 역활

잘 보이지 않지만 중요한 SE의 역활

마지막으로 정기점검 프로세스는 각 회사마다 특징이 있지만
온라인 게임 하나를 올리는지, 크고 작은 게임 여러 개를 올리는지에 따라 프로세스도 많이 바뀐다.

지금은 Game4U라는 플랫폼과 에픽하츠 하나 뿐이지만, 이 모습은 게임 포탈을 염두에 두고 만든 모습이다.
앞으로 꾸준히 게임이 늘어날 것이므로 여러 개의 게임을 올리는 방향으로 프로세스를 만들었다.
아쉽게도 현재는 온라인 게임을 운영해본 SE가 사내에 없고 지겹도록 정기점검을 뛰어본 사람은 나 혼자 뿐이다.
그래서 달린다...

그래서 달린다...

그래서... 정기점검 프로세스도 내가 만들었다. -_-;;;
(이 포스트를 통해 도움준 분당의 모 게임회사 기술센터 멤버들에게 무척 감사를 드린다.)

그러나 기존 온라인 게임의 정기점검과 다른 점은,
1) 스마트폰으로 무대를 옮기며 클라이언트를 원하는 싯점에 배포할 수 없다.
2) PC기반의 유선랜이 아닌 스마트폰 무선랜이다.
3) 전체 서비스를 막을 웹페이지가 없다
라는 것이다.

이를 위해, 우선 서버는 항상 클라이언트보다 먼저 배포되어야 한다는 규칙이 생기게 된다.
따라서 코딩 가이드도 일반적인 온라인 게임에서 좀 바뀌게 되었다.
언제 애플이나 T스토어에서 클라이언트가 오픈될지 모르고, 업데이트시 이전 버전과 업데이트 버전을 동시에 만족시켜야 한다.
모든 프로토콜은 이 조건을 만족해야 했다. 물론 지금도.

두번째 무선랜으로 변경되며 그동안 온라인 게임 회사들이 이용했던
proxy나 DNS를 변경한 서버 환경 전환을 할수 없다는 점이다.
(무경험자에게 설명할게 참 많은데, 가장 쉬운 사례는 이거다.
정기점검할때 보면 게임 사이트 웹페이지 막혀있잖아?
그렇지만 해당 회사 내부에서는 패치 작업해야 하므로 막혀있지 않음.
물론 실제 막혀진 실서버가 아니라 같은 주소를 가진 패치서버에서 하고 있는 것이고 <- 이거 나중에 적어야지.
당연히 클라이언트 소스 내에서 접속 주소를 바꾼다는건 말도 안된다.
따라서 내부에서는 같은 도메인으로 접속은 하되, proxy나 DNS를 변경해 다른 서버로 연결시킴. 우왕~ 존나 천쟄ㅋㅋ)
이를 위해서는 AP를 추가하고 각각 다른 DNS를 세팅하여 극복하였다.
문제는 너무 많은 AP가 설치하면 서로 주파수를 간섭하게 된다는게 현재 고민꺼리이다.

세번째는 게임 서버를 분산시켜주는 1차 서버에 점검중일때 서비스를 막는 기능을 추가하였다.
Game4U가 접속하는 첫번째 서버는 UDW(Uni-Destination WebServer)로
각 서비스별 해당 서버 NSAP을 알려주고 업데이트 여부를 통해 강제로 접속을 막거나, 점검 중일때를 막는 기능을 추가하였다.
이를 통해 각 서비스별로 전체를 막거나 다른 서버로 돌릴수 있도록 설정해두었다.
물론 국가별, 버전별 세부 기능도 제공되므로 언젠가 서버가 늘어가고 운영인력이 늘어나면
온라인 서비스의 꿈중 하나인 1년 내내 중단없는 서비스도 가능하게 되었다.
그런데 UDW의 기능은 너무 잘 만들어 두었는지, UDW의 역활을 잘 이해하지 못하는 사람들이 많은 듯 하다.
아마 고전적으로 SE들의 할일을 서버 프로그램이 해줘서 그런가 보다.
(왜? 라고 묻는다면 회사 내에서 SE팀과 서버팀의 역할 충돌과 역학적인 충돌이 일어날수 있기 때문이다.)

하지만 UDW는 적은 인력으로 거대한 서비스를 돌리기위한 1차적인 구성요소이다. 무척 만족한다.

빛나는 무대 뒤에서 배포를 대기하는 binary들.

빛나는 무대 뒤에서 배포를 대기하는 binary들.

오늘 정기점검은 무엇이 바뀔까?
우선 커뮤니케이션 서버의 유령사용자 현상을 없애고(채팅 좀 많이 해주세요~)
사용자 정보 변경 기능의 버그를 고쳤다.
가장 중요한 것은 7월중 배포한다고 약속했던 시크릿 박스를 위한 서버 프로토콜이 올라간다.
이제 일주일 정도 후면 우선 안드로이드에서 시크릿 박스란 앱을 볼수 있을 것이다.
게임은 아니지만 Game4U 커뮤니티를 더욱 강력하게 해줄 Base Platform 서비스로 무리가 없을 것이다.
시크릿 박스

시크릿 박스

다음 정기점검은 또 새로운 기능과 서비스를 위한, 혹은 새 게임을 위한 정기점검이 될 것 같다.

그래서 나는 정기점검이 즐겁다.
저작자 표시 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Rhea君

며칠전에 적은 음주 포스팅인데 편집해 다시 올립니다.

정기점검이란 온라인 서비스에서 너무나 중요한 개념이다.
게임이 완성이 된후, 라이브를 거치는 온라인 게임들은 매달 정기점검 시간에 맞춰
기획, 마케팅, 개발, QA, 품질보증...등등 모든 일정이 만들어지게 되며 일정의 기준이 되기도 한다.

따라서 온라인 게임으로 이직하려는 사람이 이 정기점검에 대한 메커니즘을 제대로 이해하지 못하면 레알 잉여가 된다.
Rhea君 역시도 지난 회사에서 만 6여년간, 정기점검때 지각을 딱 3번정도 했을 정도이다(그래봤자 30분 정도.).
정기점검이란 그 정도로 중요하다.

사설이 너무 길었는데, 길어진 김에 조금 더 해보겠다.
네XXX게임즈 같은 경우는 2004년 8월까지 매주 정기점검을 하였었다.
그리고 서비스가 안정화 된후, 2주에 1번으로 바뀌다가 몇년 사이에 한달에 한번으로 바뀌었다.

다시 말해보면 네XXX게임즈 같은 경우, 현재의 개발 메커니즘이 확립된 것은 2000년 초반이고,
안정화된 것은 2004년 8월, 그리고 정말정말정말 "모든" 서비스와 진행이 안정화 된것 최근이란 이야기이다.
(여기서 "모든"이란건 한두가지 부서가 아닌 정말레알진짜 전사적인 의미이이다.)
거의 7, 8년 걸렸다. 와~~ 정말 기나긴 시간이다.
다시 말해 대형 온라인 서비스의 정기점검조차 안정화 될려면 고딩 한마리가 군대를 다녀오고 해외연수를 다녀오고 대학을 졸업할 시기가 걸린다는 이야기이다.

그래서 몇년전부터, 국내 게임은 개발사와 퍼블리싱사로 나뉘었다.
이말은 왠만한 회사는 정기점검이 포함된 온라인 서비스를 할 능력이 안된다는 이야기다.
그리고 온라인 서비스를 유지하고 패치와 점검을 하는데에는 엄청난 인력과 돈이 든다는 이야기이기도 하다.
당장 IDC및 SE팀의 확보가 필요한데 이것만 해도 비용이 장난이 아닌 것이다.

이제서야 본론으로 들어가보자.

나베르 블로그의 정기점검을 포스팅하는 이유는 이제까지 접근 자체를 전부 막아두었던 정기점검이 아닌,
포스트 볼수 있고 쓰기와 수정(결국 둘다 쓰기 개념이다.)만 막아두었다는 혁신적인 이유 때문이다.
 
이게 쉬운게 아니다.

이게 쉬운게 아니다.

나베르 블로그의 시스템을 전혀 모르므로 무슨 서버를 살리고 죽이는지는 감히 언급하지는 못하겠고,
SELECT만 하도 UPDATE/INSERT만 못하게 한거잖아요? 이게 머가 어려워요? 라고 할수 있지만,
이건 DB랑 웹페이지만 수정한게 아니라 설계와 미들웨어의 안정성이 만든 결과라 여겨진다.

즉, 미들웨어가 정기점검전 긁어온 DB의 내용은 고스란히 보여지고 UPDATE/INSERT만 막아둔 상태인데 정기점검때 모든 미들웨어를 Shut down 시키지 않았다는 의미다. 어쩌면 순차적으로 Reboot을 시키며 데이터를 보관하고 있는지도 모르겠다. 기회가 되면 검색 서비스나 웹은 요즘 어떤 미들웨어와 설계를 하는지 알아보고 싶다.

나베르에서 로긴도 몇번 해본적 없고 블로그도 쓰지 않지만, 나베르 블로그 유저라면 어떤 기능이 막혔는지에 따라 시스템 구성도를 추리해볼 수 있을 것이다. 검색 페이지의 경우, 정기점검이 아예 없는데 서비스를 멈추지 않고 점검을 해내는 모습은 가히 존경스럽다. 만약 로긴 세션조차 한달 내내 끊기질 않는다면 로긴 세션에 대한 설계가 궁금하다. 블로그 서비스만 국한시켜도 아무리 생각해봐도 미들웨어간 데이터를 공유시켜 포스트 보기를 유지할려면 상당한 유지비가 들어갈 것 같다.
그래서 결론적으로,
며칠전 나베르 지식KIN로 회사를 옮기신 형님에게 이직턱을 얻어먹으며 물어봐야겠다. -_-;

게임에서 접근하자면 "전적에는 반영되지 않지만 게임은 할수 있어요" 정도의 서비스인데,
사실 서버에서 로그를 쌓지 못하는 게임플레이는 아무런 의미가 없다.
따라서 서비스를 완벽히 유지하면서 점검을 하거나 아예 막아두는게 제일 속편할 것 같다.

정기점검 시나리오를 고민하는 중에 문득 짤방의 메시지를 보고 나니, 정기점검 시나리오 구상이 한층 더 무거워진다.

정기점검이 늦어 고스톱을 못해 어머니가 화나셨다는 짤이 있었는데...HDD 고장날때 날라간듯 ㅠㅠ

정기점검이 늦어 고스톱을 못해 어머니가 화나셨다는 짤이 있었는데...HDD 고장날때 날라간듯 ㅠㅠ

피X 까는 것 아님.
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Rhea君

흐흐흑!!!!

Diary 2008/02/28 01:39


http://kin.naver.com/detail/detail.php?d1id=2&dir_id=2&eid=owaT60W35dizuWEycUNUrnJwOdinNBWv&qb=x8e4wSDBpLHiwaGwyw


파트별로 다양한 이유는 있었지만,
그날 Rhea君 PC가 갑자기 부팅이 안되는 고장이 났습니다.

부랴부랴 테스트 PC를 가져와 세팅을 할려니까 그래픽 카드가 고장나 있더군요.
또다시 급하게 다른 PC에서 그래픽 카드를 가져와 소스 세이프와 연결 성공.

그 사이 Rhea君이 짠 코드에서 심각한 버그 발견!!
쉽게 말해 서브클래스에 뒀어야할 코드를 슈퍼클래스에 두는 바람에(정확한 표현은 아니지만)
모든 게임들이 채팅불가!!

마침 다른 분이 코드를 고쳐 업로드~!
그러나 XML 파일과 이미지 파일 빠뜨림!!!!

결국 또 다른 분이 파일 업로드.

미리 버그를 못잡은 QA를 원망하며 하도 정신이 없어 도시락 먹고 그날 배앓이!!!

이렇듯 다양한 파트별로 사건사고가 간혹 생깁니다.
이해해주삼.

아, 그리고 똑같아 보여도 속으론 바뀐게 많고
할께 무쟈게 많아요!!!!!!!!


위 지식KIN을 봤을때 심정.

위 지식KIN을 봤을때 심정.



그리고 또 하나의 충격 포스트!!

크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by Rhea君