기본 콘텐츠로 건너뛰기

2013의 게시물 표시

한국의 앱스토어만 제약이 심하다?

조금전 게임에 대하여 이야기를 했는데 아주 아이러니한 내용이 나왔다. 안드로이드판 피쉬 프렌즈는 선물하기 기능이 있어 이걸 이용해서 헝그리앱에서 교환을 하는 사람들 덕에 시장이 활성화 되어있고 플레이어가 많다. 하지만 애플의 앱스토어에서는 제약이 있어 선물하기나 거래가 안된다고 하여 막혀있는것으로 알고 있다. 내 아이패드에서는 선물하기 버튼이 없다. 아이러브커피도 마찬가지.. 앱 회사에서는 그런 규정이 있어서 불가능하다는 답변을 받았다. 한국에서 서비스하는 일본 게임인 역습의 환타지카나 가디언 크루즈는 자신의 아이템이나 카드를 상대방과 트레이드가 가능하다. 물론 아이폰 안드로이드 모두 가능하다. 우리나라에서 만든 앱으로 애플 스토어에 올려야만 거래가 불가능한건가? 아니면 해외 앱은 거래를 허가하는건가? 사실 우리나라에서는 아이폰을 죽이기 위한 여러 기업의 노력이 많이 있다. 심지어는 개발자들조차 아이폰은 사양길이고 사용자가 적다면서 개발을 꺼려하고 있다. 그런데 사용자 OS통계를 보면 30%가 넘고, 지하철에서 스마트폰 사용자를 봐도 30%전후로 iOS를 사용하고 있는 사람들을 볼 수 있다. (의심나면 내일 출근길에 한 번 둘러보시길.. 최소한 7호선과 2호선, 9호선에서는 비슷한 비율을 보이고 있었다.) 모 회사가 뿌리는 우리나라 스마트폰 판매비율에 안드로이드를 95%라는 이야기를 마치 우리나라에서는 95%가 안드로이드를 사용하고 있다는 듯이 포장하여 매체에 올리고, 이를 검증없이 올리는 매체들과 사람들을 그대로 속고 있는 것이다. 사실 보면 iOS사용자는 평균 2.5년에 한 번 스마트폰을 교체한다. 게다가 교체도 안드로이드로 교체하는 비율은 적은 편이다. 하지만 안드로이드 사용자는 평균 0.6년에 한 번씩 스마트폰을 교체하고 있다. 당연히 안드로이드의 판매량이 95%가 되는 것은 위의 숫자 때문이다. 그렇다고 사용자가 95%라는 식으로 포장하는건 사용자를 속이려 하기 때문이 아닐까? 친구는 아이폰을 쓴다는 이

[H/W]HardRAID와 HostRAID, Intelligent, Low-intelligent, None-intelligent Type

HardRAID는   RAID콘트롤러 전용 프로세스를 탑재하여 CPU에 부하를 주지않고 IO를 처리하는 RAID방식을 얘기합니다. 일반적으로 비싼 RAID카드는 거의 이 방식을 채택하고 있습니다.   타입으로는 Intelligent type(인텔리젼트 타입)과 low-intelligent type(로우인텔리젼트 타입)이 있는데,   intelligent type은 보통 말하는 완전한RAID 방식입니다. 모든 것을 RAID컨트롤러에서 처리하기 때문에 CPU부하는 약 5%미만으로 고퍼포먼스 타입입니다. 대신 가격이 비싸죠. low-intelligent 타입은 mainboard(메인보드)의 I/O controller(입출력 컨트롤러)를 이용하고 독립적인 프로세스를 가진 타입입니다. 그만큼 저렴하고, I/O의 부하에 민감하지만, 가격대비 성능이 뛰어난 타입입니다. HostRAID는   BIOS와 Device Driver로 구성된 저렴한 RAID솔루션 입니다. 보통 SOftwareRAID라고도 부르죠.   IO처리에는 mainboard의 I/O 컨트롤러를, 연산처리에는 CPU를 사용하기 때문에 퍼포먼스가 떨어지는 것이 단점입니다.   그리고 기본적으로 RAID0, 1등만 서포트하는 간단한 RAID시스템입니다. none-intelligent type이 정식 명칭입니다. 모든 타입의 보드 내장형(on-board type)이 있습니다.   즉, 온보드라고 해서 꼭 소프트일 이유는 없는 거죠..  

HTML 자주 사용하는 CSS

// 자동줄바꿈은 word-break를 이용함. td {font-size: 12px;word-break:break-all;} body {font-size: 12px;word-break:break-all;} a:link {color:black; text-decoration:none} a:visited {color:black; text-decoration:none} a:hover {color:ff9999; text-decoration:underline} .whitelink {  color: #FFFFFF} .login_txt {color:#77AA66} .login_box {border:solid 1; font-size:11px; height:14; border-color:#99CC99;background-color:white; color:#557744;} .login_btn {border:solid 1; font-size:11px; height:14; border-color:#557744;background-color:#779966;color:#FFFFFF;font-weight:bold;} .solid {border:1px solid; height:18; padding-top:2; border-color:#999999} .solid_button {border:1px solid; height:18; padding-top:2;border-color:#999999;background-color:#DDCCAA; color:#CCAABB;} .space {padding-top:20; padding-left:30; padding-bottom:20; padding-right:20} .inner_box {       background-color:#EEFFEE;       border-top-width: 1px;       border-right-width: 1px;       border-bottom-width: 1px;       border-left-width: 1px;

[Windows]batch 파일로 PC의 Mac Address(맥어드레스) 구하기

아래의 물리적주소는 한글OS일 때 사용하는 것이고,   영문 또는 일본어 OS일때는 ipconfig /all을 해서 맥어드레스에 해당하는 부분의 텍스트를 바꾸어 주면 됩니다.   @echo off for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| findstr /i "물리적 주소"') do (   echo %%i )

[SQL Server] Rank() 함수로 배열을 쉽게..

MS-SQL Server 2005부터 서포트 합니다. 온라인 게임의 통계등에 많이 사용하는 순위나 랭킹 서비스에 많이 활용하는 함수입니다. USE AdventureWorks; GO SELECT i.ProductID, p.Name, i.LocationID, i.Quantity     ,RANK() OVER       (PARTITION BY i.LocationID ORDER BY i.Quantity DESC) AS 'RANK' FROM Production.ProductInventory i       INNER JOIN Production.Product p           ON i.ProductID = p.ProductID ORDER BY p.Name; GO 여기서 위의 예제처럼 Partition By 로 필드를 구분 지으면 지역별(i.LocationID)로 랭킹을 나눈다는 뜻이다. 서울, 부산의 두 지역이 있으면 서울에서의 랭킹과 부산에서의 랭킹이 서로 다르게 나타난다. Parition 뒤의 Order By 는 Rank를 순서짓는 순서가 된다.   즉, 온라인 게임에서 많이 사용하는 캐릭터 테이블에서.. 서버별, 직업별로 높은 레벨, 높은 경험치, 신규 캐릭터 순으로 랭킹을 만들어보면.. 테이블 : tCharacter 서버 : servername 직업 : jobname 레벨 : level 경험치 : exppoint 생성일 : regdt select servername, jobname, level, exppoint, regdt   , rank() over       (partition by servername, jobname         order by level desc, exppoint desc, regdt desc) as Rank from tCharacter 이런식으로 구별지어 랭킹을 만들 수 있답니다. ^^ http://msdn.microsoft.com/ja-jp/library/ms176102.aspx

SQL Server 날짜 관련

CONVERT(varchar(8), getdate(), 112) + REPLACE(CONVERT(varchar(12), getdate(), 108), ':', '') ORACLE에서는 char(14)형식으로 날짜를 지정하는 경우가 간혹 있다. 검색의 최적화를 위해서라고 하는데.. SQL Server로 컨버팅할 때 종종 써목곤 하기 때문에 적어놓는다. YYYYMMDDHH24MISS 의 형태로 바꾸어주는 구문 datetime -> char(14) 이번주의 첫날(일요일)을 구하는 법 select dateadd(dd, 1-(datepart(dw, getdate())), getdate()) 이번달의 첫날을 구하는 법 select convert(datetime, convert(varchar(6), getdate(), 112) + '01') MS Technet의 자세한 convert정보... http://technet.microsoft.com/ko-kr/library/ms174450(SQL.90).aspx

Windows RDP Port Change : 윈도우즈 리모트 데스크탑 포트 변경

메모장을 열어서 다음 내용을 붙여 넣는다. Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp] "PortNumber"=dword:00002788 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] "PortNumber"=dword:00002788 *dword의 2788값은 10120의 16진수임. 내용을 저장하고 확장자를 reg로 만든뒤에 더블 클릭하여 실행하면 다음 리부팅 때부터 포트가 변경된다. 포트 변경시 반드시 방화벽 정책등을 열어주고나서 리부팅 해야한다. 방화벽은 3389인데 포트만 바꿔서 리부팅 하면.. 콘솔 접속을 해야하는 불상사가.. =ㅅ=;; 16진수 10진수 변환은 간단히 regedit를 열어서 키 하나 만들어서 숫자를 넣어보면 자동 변경이 되니 자유롭게 만드세용~

Windows cmd(command) ftp upload

ftp툴로 업로드를 하면 하나의 디렉터리에 파일이 많은 경우 파일 하나씩 업로드할 때마다 ls를 날려 반응이 점점 늦어진다.. 수만개 이상 파일이 되었을때는 ls없이 그냥 업로드 하는 것이 낫다. 그래서 DOS Prompt에서 여러개를 띄워 한 번에 날리는 방법을 선택하여 수십만개의 파일을 빠른 시간에 던지는 것이 가능했다. 우선 아래 코드를 lwftpupload.bat파일로 만든다. @echo off SET svraddr=ftp.littleworld.net SET svrlogin=root SET svrpwd=password SET svruppath=%2 SET localpath=%1 echo user %svrlogin%>ftpcmd.txt echo %svrpwd%>>ftpcmd.txt echo bin>>ftpcmd.txt echo prompt>>ftpcmd.txt echo cd %svruppath%>>ftpcmd.txt echo mput %localpath%\*.jpg>>ftpcmd.txt echo quit>>ftpcmd.txt echo on ftp -n -s:ftpcmd.txt %svraddr% 그리고 DOS Prompt에서 다음을 실행한다. D:\>lwftpupload.bat d:\inetpub\littleworld.net\image/*.jpg /littleworld.net/image 파일이 많은 경우 하위 디렉토리를 여러개 만들어서 DOS창을 여러개 띄운뒤에 같이 실행을 하면 10개 정도 띄워서 커맨드를 날리면 거의 10배 속도로 업로드가 된다. 단, 용량이 작은 이미지 파일의 경우 효율이 좋고 트래픽을 다 잡아먹는 경우는 창을 띄워도 한계가 있으니 갯수를 트래픽을 봐가면서 조절하는 것이 좋다.

[Linux/Shell] 프로세스 체크

특정 서비스가 자꾸 죽는 것이 발생하여 죽을때 포트가 막히거나 프로세스가 안보이게 되면 그걸 캐치해서 어딘가로 알리는 스크립트를 만들었다. 너무 간단해서 보완할 것은 많지만 급하게 처리해야하므로.. #!/bin/bash # 1433 포트(DB포트)를 확인해서 chkprocess.log 파일에 남김 netstat -antp | grep 1433 >chkprocess.log FILENAME=/root/chkprocess.log #파일이 있고, 파일 내용이 비어있지 않은경우 if [ -s $FILENAME ]; then         echo "ok" else #문제가 있는경우 간단하게 log를 쌓는 웹API를 호출         wget 'http://msp.littleworld.net/agent/aaa.asp?ltype=err&lsvc=lwweb&ltitle=service_process_down' #서비스가 떨어졌다면 특정 서비스 기동을 넣어도 됨         /usr/local/jakarta-tomcat-5.5.9/bin/startup.sh fi

syscacheobjects (SQL Server)

해킹 또는 데이터의 변조등 이상한 문제가 발생했을 때 가장 먼저 훑어보는 System View이다. 이외에도 퍼포먼스 튜닝을 하려는데 개발쪽에서 모든 쿼리를 주지 않은 경우 훑어볼 경우도 사용하곤 한다. 최근에 일어났던 SQL의 내용을 모두 볼 수 있다는 것이 장점이고, SQL을 실행시킨 사람이나 시간을 볼 수 없다는 것이 단점이다. 우선 여기서 의심스러운 쿼리들을 훑어낸 뒤에 이것을 이용하여 Profile을 한다거나 여러가지 액션을 취할 수 있다. 아래는 syscacheobjects뷰의 생성쿼리이다. 기본적으로 생성되어있지만, 참조되는 테이블을 확인할 때 쓰기위해 적어놓는다.

파일 싱크 방법(RSync, BitTorrent Sync, Dropbox, SkyDrive, Google Drive)

원래는 파일 정리중에 RSync 커맨드 파일이 있어 정리를 하다가 보니.. 요즘 안쓰는 이유를 생각하다가 정리를 하게 되었습니다. 제가 주로 사용했던 파일 Sync툴의 장단점을 소개합니다. 주로 집, 작업실, 클라우드 서버간의 파일 동기 및 백업 용도로 사용합니다. 1. BitTorrentSync ( http://www.bittorrent.com/intl/en/ )   - 용량제한 없이 내가 설정한 디렉토리를 모두 싱크 걸 수 있다는 장점이 있음.   - 여러대의 PC에서 내가 원하는 디렉토리만 싱크를 걸 수 있어 여러군데에서 작업하거나 원격지 백업을 하느데 적합   - 어느 하나 PC가 망가져도 데이터가 실시간으로 동기되기 때문에 내가 설정한 어딘가의 PC에는 백업이 되어있음   - 읽기 전용 Hash(싱크할 때 쓰는 키)가 있어 친구들에게 해시만 공유할 수도 있음.   - 무료!!! 2. Bdrive ( http://www.bdrive.com )   - 친구들과 만화, 동영상, 책등을 공유할 때 사용.   - Facebook친구들을 베이스로(그냥 회원가입해도 됨) 디렉토리별 권한을 줄 수 있어 공유가 편리.   - 스마트폰에서 리얼타임 스트리밍으로 동영상 시청 가능(다운로드 시간 불요)   - 스마트폰에서 다운로드 없이 만화책이나 음악감상 가능.   - 집에 2TB HDD를 설치하면 스마트폰이 2TB메모리가 추가된 느낌??   - PC버전은 디스크 드라이브로 마운트 가능하여 로컬디스크처럼 사용도 가능(인터넷 속도에 비례하므로 쾌적하게 대용량 복사는...;;.)   - 집이 PC를 파일서버로 사용하기 편리함.   - 자신의 PC를 기반으로 하는 것이라 용량 무제한.   - 무료!!! 3. Google Drive   - 작업하는 작은 Document등을 여러 PC에 싱크하기 편리함.   - 웹기반의 브라우징을 지원하여 다양한 기기에서 파일을 공유할 수 있음.   - 웹기반 오피스 문서 편집 기능이 있어 도형이외의

Grand Hyatt Hotel : 라이브를 즐기는 카페

시간은 얼마 없지만 일탈을 생각할때 가장 우리나라 같지 않은 남산의 그랜드 하얏트 호텔로 간다. 로비에 있는 카페가 내가 많이 찾는 곳이다. 9시경(정확한 시간은 모름..)부터 외국인 라이브 밴드가 팝송위주의 라이브로 노래를 하고, 오래된 건물의 특징이 외국에 있다는 느낌을 준다. 작은 일탈을 꿈꾼다면 그랜드 하얏트를 추천한다. 파크 하얏트는 도시의 야경을 보기에 좋긴하지만, 그런것만 생각한다면 W호텔이나 쉐라톤 워커힐쪽이 더 좋안 느낌이 난다. 파크하트는 만든지 얼마 안된 건물이라 인테리어나 시설은 단연 돋보인다. 여기서 보통은 모히토(Mojito)를 시켜먹고 12시정도까지 음악을 즐기며 휴식을 즐기고 간다. 오늘은 피나콜라다와 망고빙수를 시켜보았다. 망고빙수가 없었는데 신메뉴로 등장.. 양도 많지만 내용물도 충실하고 망고페이스트, 망고샤벳, 팥이 따로나와 원하는대로 조절하여 먹을 수 있게 되어있다. 신라호텔에서 망고빙수가 유명해져서 경쟁적으로 생긴게 아닐까... 신라호텔은 내가 우리나라에서 먹은 망고빙수중 유일하게 냉동망고가 아니었다. 그래서 만족스러웠는데.. 하얏트 호텔쪽에 점수를 더 주게 되었다. 피나콜라다는 처음에 바텐더가 잘못만들어줬는지 첨 먹어본 맛이었다. 피나콜라다도 좋아하는 칵테일이라 이런 맛으로 만든데는 본적 없다.. 맛이 따로놀고.. 재료는 분명 맞는거 같긴하다.. 다시 만들어달래서 받아서 맛을보니 이제야 피나콜라다가 나왔다.. 여기에서 추천하는 음식은.. 스테이크 클럽 샌드위치나 망고빙수, 모히토, 그외 아이스크림류가 괜찮은 거 같다.

DiningTent : 삼성동 이탈리안 레스토랑

몽 텐트(잉글리쉬 머핀, 18700원)은 계란의 익힘정도와 부드러움이 아주 잘 맞고 맛도 좋다. 양도 식사에 맞게 샐러드와 감자칩을 곁들여서 충분했다. 로제 크림 파스타(꽃게, 20900원)라는것을 시켰는데, 보통은 게껍질은 그대로 나오지 않나? 게 껍질이나 게 다리등을 파스타를 만들면서 가위로 잘라냈는지 파편이 많아서 먹기가 힘들고 국물을 너무 비리게 만들었다. 보통은 게 맛을 살짝 내서 비린맛은 안나게 하는데... 파스타는 실격!! 그리고 모든 메뉴에는 샐러드와 피자가 나온다.  토, 일요일에만 가능한 메뉴들이 있으니 평일보다는 주말이 나을듯. 점심에는 60식 한정 저렴메뉴가 있어서 그런지 점심에 사람이 많다.. 오늘도 왔더니 이미 11시40분에 마감됬다더라... 인기가 좋은데덩가? 

클라우드 컨설팅 모험기 part.3 - 모바일 게임의 클라우드화

요즘들어 모바일 게임업체에서 클라우드 컴퓨팅 환경으로 이전 또는 신규 구축 의뢰가 많이 들어오고 있다. 이유는 다음과 같다. 1. 모바일 게임의 수명이 너무 짧아 1년이상 약정은 리스크가 너무 크다. 2. 모바일 게임의 유저수를 책정할 수 없어 스타트 규모를 산정할 수 없다. 3. Latency에 크게 구애받지 않기 때문에 다소 느려도 상관없다. 이러한 이유가 클라우드 인프라를 활용하기에 최적의 니즈가 되고있다. 모바일 게임업체인 A사에서 자신들이 만든 게임서버의 구조를 보여주며 클라우드 환경으로의 이전을 검토해달라고 하였다. 아무리 클라우드 환경으로 이전한다 하더라도 게임인 이상 타 서비스와 영향을 받지 않는 것이 좋기 때문에 Hybrid cloud 의 형태로 제안을 했다. Hot standby가 불가능한 서버에 대해서는 물리서버 또는 독립가상화 서버를 제안하고, 죽어도 유저의 게임서비스에 문제가 없는 서버를 Public Cloud로, 그리고 이 둘을 VPC로 묶어 로컬 환경과 같은 형태로 제안을 하였다. 그리고 유저가 늘어날때 같이 늘어나야 하는 서버들을 산정하여 Auto Scaling으로 제안을 하였고, 폭발적으로 늘기 쉬운 특성을 감안하여 초기 구조를 Sharding(샤딩, 수평분산구조)으로 변경할 것을 권고하였다. 대부분의 게임이 그러하듯이, 메인 유저DB가 있고, 월드DB가 있어 여러대의 채널서버에서 월드DB에 붙어 유저의 정보를 액세스 한다. 이것은 수십만 유저까지는 커버하는데 전혀 지장이 없지만, 수백만에서 수천만에 달하는 유저를 커버하기에는 역부족이 된다. 이 때 로그성 데이터는 MongDB쪽으로 권하기도 하지만, 개발리소스의 큰 변화를 주지 않도록 하기 위해서는 한 유저당 하루에 쌓을 수 있는 데이터량을 감안하여 수평분산이 가능하도록 Node Server를 별도로 두고 서버를 쉽게 분리 통합이 가능한 구조로 제안을 하였다. 이렇게 하면 100만명 단위로 게임서버 + DB서버를 하나의 물리서버에 가상화를 시켜

Verizon Terremark Enterprise Cloud

결국엔 버라이존(Verizon)의 클라우드 인프라까지 구축하게 되었다. 정말 다양한 환경에서 구축을 하다보니.. 서로의 서비스의 특장점을 많이 알게 되었다.  Verizon 의 가장큰 특징은 VMWare로 인프라가 구성되어있는데, 프론트는 일반 AWS같은 UI를 제공한다. 깔끔한 UI가 괜찮은 것 같다. 그리고 VM생성하는 개념도 VMWare를 사용해본 사람이면 쉽게 알 수 있을 것 같다. 단지 네트워크가 조금 다르다. 이중 네트워크를 지원하여 두 개의 네트워크 대역을 제공하고, 하나는 글로벌로 하나는 로컬로 사용하면 된다. IP는 Local IP를 할당한 뒤에 Network 설정에서 Global IP에 서비스를 추가하여 VM을 매핑한다. 이 때 서비스에 여러 VM을 매핑하면 바로 LB서비스가 되는 것이고, 그냥 하나의 서버만 매핑하면 Port Forwarding같은 느낌으로 사용할 수 있다. 관리만을 목적으로 한다면 Port Forwarding을 하지 않더라도 관리화면에 있는 VPN Connect 버튼을 클리만 하면 Cisco VPN접속 플러그인을 통한 접속이 가능하여 편리하게 작업환경에 접속할 수가 있다. 때문에 굳이 관리용 Port를 Global로 뽑지 않아도 된다. 이런 면이 보안상 강점을 만들 수 있다. VM생성은 기본 제공 템플릿은 몇개 없지만 Blank VM을 만들 수 있어 자신이 원하는 모든 OS Image를 올릴 수 있다. (물론 VMWare에서 서포트 하는 OS만 가능) 그리고 OVF, vmdk 포맷의 파일을 Catalog에 등록하여 언제든 Deploy를 할 수 있는 것도 편리하다. 이미 생성된 VM을 전원을 내리고 복제를 걸면 쉽게 동일 VM을 확장해나갈 수 있는 것도 VMWare가 가지는 장점을 그대로 이식한 것이다. Blank VM을 만들면 접속한 Client 에서 ISO이미지를 가지고 있을 때 그걸 다이렉트로 Mount가능하며 마운트된 ISO는 Optical Drive로서 인식하여 부팅

[Ho Lee Chow]New York Chinatown의 어렌지 된 중국요리점

삼성점에 한 번 가봤다. 코엑스의 세븐럭 카지노 옆이라 사람들이 알기 힘든 위치에 있다. 에비마요(새우 마요네즈 소스)랑 쿠폰으로 먹은 닭볶음(?)이랑 새우 만두 + 새우춘권 세트를 먹었다.(새우 말살 계획!!) 에비마요는 마요네즈 소스가 충분하진 않지만 그런대로 맛이 있다. 새우의 사이즈나 새우의 신선함은 만족스러웠다.. 닭복음은 약간 태운듯한 느낌이지만 맛이 좋았다. 육질도 괜찮고... 닭가슴살을 얇게 하면 이런 맛이 날까? 새우만두는 군만두 속에 자잘한 새우가 들어있는데 괜찮았다. 새우춘권도 나름 나쁘진 않았다.. 가격도 리즈너블에 가끔 친구들이랑 올만한 곳이랄까...

클라우드 컨설팅 모험기2. 이중화

어느날 고객이 질문을 했다. 고객 : "클라우드를 도입하고 싶은데 어떠한 매리트가 있는지 모르겠어요" 이 고객은 게임업체 고객이고 서버는 약 20대정도로 게임 포털처럼 웹서비스를 하나 하고 있고, 게임은 이제 하나를 붙인 상태이다. 두 번째 게임을 붙이려고 준비중에 있는 듯 하다. 나 : "현재 서버 구성도를 주시면 제가 프라이빗 클라우드의 형태로 재설계를 해드리겠습니다." 고객이 서버 구성도를 주었다. ==웹서비스== 서비스용 웹 서버 : 3대 회원 DB : 1대 웹DB : 1대 관리자 웹 서버 : 1대 빌링 웹 서버 : 1대 빌링DB : 1대 ==게임 서비스== 로비서버 : 1대 맵 서버 : 2대 워(War) 서버 : 1대 인증서버 : 1대 게임DB : 1대 로그DB : 1대 복구DB : 1대 게임서버 여유분 : 1대 관리 서버 : 1대 테스트 서버 : 1대 샵 서버 : 1대 이렇게 총 20대의 물리서버가 있었다. 이 서버들을 메모리만 증설 시킨 뒤에 가상화를 하여 묶어 주었다. 총 10대의 서버를 가상화 하고, 5 대의 서버만 물리 머신 그대로 두었다. 총 15대를 사용하고, 10대의 가상화 서버는 크로스로 이중화 설정을 하였다. 즉, 물리적으로 어딘가의 서버가 죽어도 다른 서버의 Cold Stand-by(VM을 세팅해놓고 전원을 내려놓은 상태)의 VM의 전원을 넣기만 하면 바로 복구가 가능한 구조를 만들었다. 모든 DB도 리플리케이션을 해놓아서 DBMS가 죽어도 최소한의 로스로 바로 살릴 수 있도록 설계를 해주었다. 결론적으로 20대였던 서버가 15대로 줄면서 이중화까지 되어있어 모든 서버중 어느 하나가 죽어도 쉽게 복구가 되는 이중화가 된 것이다. 즉 40대분량의 설정이 된 것이다. 게다가 5대가 남아서 가상화를 하여 신규 서비스의 테스트용으로 사용하게 했다. 가상화라는 것은 마약이다. 중독되면 너무 매달려 화를 자초할 수도 있다. 하지만 의

이제와서 물어볼 수 없는 퍼블릭 클라우드 vs. 프라이빗 클라우드 vs. 하이브리드 클라우드

사람들이 많이 사용하는 내용중에 퍼블릭 클라우드(Public Cloud), 프라이빗 클라우드(Private Cloud), 하이브리드 클라우드(Hybrid Cloud)라는 용어를 자주 사용하곤 한다. 이 외에도 인터 클라우드(Inter Cloud)라는 용어도 있다. AWS(Amazon Web Service)에서는 VPC(Virtual Private Cloud, 가상 프라이빗 클라우드) 라는 용어를 쓰기도 한다. 얘네들은 도대체 어떻게 구분을 하는 것일까? AWS처럼 일반인들을 대상으로 시스템을 제공해주고 그 틀에 맞추어 여러 사람이 같이 자원을 나누어 사용하면서 가격적인 매리트를 살린 것이 퍼블릭 클라우드(Public Cloud)이다. 대신 시스템을 그대로 사용해야 하기 때문에 시스템의 한계를 알고 이용을 해야 한다. 퍼블릭 클라우드의 장점은 쉐어를 하기 때문에 비용이 저렴하다는 것이다. AWS는 워낙 많은 기능을 서비스로서 제공을 하기 때문에 거의 한계가 없지만, U Cloud는 vNIC 기능이 안되어 IP를 두 개로 나누어 글로벌, 로컬 네트워크 처럼 나누거나 할 수 없다. Cloud N은 스토리지 이중화가 기본으로 되어있지 않아 스스로 두 배를 신청해서 동기 시키거나 백업을 시켜야 한다.(물론 RAID구성은 되어있지만..) Azure는 Elastic IP가 없어 서버를 리부팅 하면 IP가 바뀐다. 도메인 베이스로 설정을 해야한다. 프라이빗 클라우드(Private Cloud)는 직접 인프라를 가지고 있는데 이를 활용하여 클라우드 인프라 환경을 만들고자 할 때 사용한다. 이 때 많이 사용하는 툴이 VMWare, Hyper-V, Xen 등이 있는데 이를 자동으로 리소스풀링(Resource Pooling)을 하기 위해서는 각각의 관리 시스템이 필요하다. VMWare의 VCenter, Hyper-V의 System Center, Xen의 XenCenter 등이 바로 그것이다. 이러한 관리시스템은 고가이기 때문에 대부분 그냥 Hypervisor

클라우드 컨설팅 모험기1

난 지금 한국의 모 클라우드 서비스 업체의 고객 지원.. 좋은말로 클라우드 컨설팅을 하고 있다. 2011년에 한국에 들어와서 느낀 것은... 해외에서는 2009년쯤에 붐이 일어났는데 이제서야 클라우드 서비스가 시작되는구나.. 싶었다. 그런데.. 이게 웬걸.. 다덜.. 클라우드를 모르고 사업을 하고 개발을 한 것이다. 그이후로 클라우드 컴퓨팅의 진정한 의미를 교육시키며 컨설팅을 해오고 있다. 고객 사이트에 나가서 컨설팅을 하다가 재미난 경우가 있고, 다양한 사례들이 나와 이를 정리를 해보고자 한다. 클라우드 컴퓨팅에 대해서는 아마 이전 투고중에 있을테니 잘 찾아보시길.. ^^;;; 참고로 난 2011년에 한국 클라우드 컴퓨팅 서비스가 오픈된 시점에 모 기업에서 서비스하는 클라우드 컴퓨팅 인프라 관리 솔루션 업체에서 상품기획 및 영업지원, 교육을 맡았다가 잠시 외도를 하고, 2012년 12월 다시 참가를 하게 되었다. =============== 어느날 사업부에서 영업인원이 모자라다고 나혼자 가달라는 부탁을 받았다. 모 종교단체의 온라인 도서관 솔루션을 개발한 업체인 듯 하다. 고객은 60이 넘어보이는 신사같은 느낌의 사람이었다. 나 : "클라우드 컴퓨팅 서비스를 희망하신다고 해서 왔습니다." 고객 : "2년동안 개발을 하다가 자금이 떨어졌는데 이제 올리기만 하면 되요. 클라우딩에 올리면 된다고 들어서 컨설팅을 요청했습니다." 요즘 사이트를 다니면서 "클라우딩" 이란 단어를 많이 듣는다. 어느 사전에도 "클라우딩" 이란 단어는 없는데.. "클라우드 컴퓨팅"을 대충 줄여서 그렇게 말하고 있는걸까... 나 : "서비스를 올리고 싶으신 내용이 무엇이고 어느정도의 자원이 필요한가요?" 고객 : "내가 전문이 아니라서 당신을 부른거 아니요. 이거 직접 보고 산정해주세요." 하면서 PC를

Azure Cloud Compting

글로벌 노드를 구축하기 위해 AWS(Amazon Web Service)와 Azure를 테스트 하는 중이다. 모두들 AWS를 벤치마크해서 서비스를 준비하기 때문에 모든 기준이 AWS이다.. 그래도 MS의 Azure도 테스트를 해야해서 VM도 만들고 이것저것 해보았다.. 기본 성능 테스트를 했을때.. Azure의 성능이 AWS를 압도적으로 능가했다.. RDP의 반응속도나 SSH반응속도, 네트워크 처리속도등... 그럼 Azure만 쓰면 되는거 아녀? 하고 Azure로 LB까지 세팅해서 만반의 준비를 다 했다.. 서비스하려고 보니.. 응? IP가 바꼈넹.. AWS의 Elastic IP같은거 없나? 아무리 찾아봐도 없다. MS에 물어봤다.. 답변이 왔다.. "연내 출시할 예정입니다." .... 서비스를 하란 말이냐! 참고로, Azure는 VM하나하나 리부팅할때마다 IP바뀌는 것도 모자라.. Windows서버를 디폴트 세팅같은거 해서 실수로 LB밑에 VM 네 개가 수요일 새벽 3시에 동시 리붓하면... LB의 VIP(Virtual IP)도 바껴 버린다... =ㅅ=;;;; 어이어이... 이건 좀 아니지 않아? 결국... 훌륭한 인터페이스니 성능이 있어도.. 아직까지 일반 서비스로 하기에는... 좀.. 뭐, 도메인 베이스의 서비스를 한다면 가능할 수도 있겠지만..

802.11n ?!

며칠전 집에 벼락을 맞았는지, 멀티탭과 IPTime AP가 망가져버렸다. 한 5년 넘게 썼나... 슬슬 새로 사야할 때가 온 거 같아서 고칠생각을 하지 않고 바로 새로 구매를 했다. 제품이 너무 많아 고민고민 하다가 숫자가 젤 많은 것중에 가격이 그나마 매리트가 있어 804N이란 모델을 구매했다. 이젠 컴맹들은 엄청난 제품의 홍수에서 무엇을 선택해야할지, 자기가 선택한 것이 정말 자기에게 맞는것인지 알기가 더 힘들어지는 것 같다. 솔직히 600 시리즈랑 700 시리즈랑 800 시리즈의 차이며 같은 번호대의 뒷쪽 옵션의 차이를 정확하게 모르겠다. 조금씩 써있는 글자는 다른 것 같지만, 그 기능들이 정말 나에게 필요한 기능인지 도통 알 수가 없다. 여차저차해서 구매를 한 804N... 집에와서 기본세팅을 한 뒤에.. (SSID랑 비번 설정 정도?) 접속을 했다.. 지난 번 기기는 안테나 하나짜리였는데, 이번 것은 안테나 세 개 짜리를 샀다.. 그런데.. 끝방에서 찾아보니.. 모니터상에는 전파가 안테나 하나 정도 더 올라가 있다. 생각보다 강하지 않은가 보다.. 10미터 정도 거리인데.. 그리고 접속해서 동영상 플레이.... 왜이렇게 버퍼링이 많은겨? =ㅅ= 지난번 기기가 백배 낫네.. 라고 생각하면서 모뎀도 리부팅 해보고 공유기도 리부팅해보고.. 안테나를 2.4GHz랑 5GHz를 두개를 하나씩 쓴다는 말에.. 5GHz를 멈추고 2.4GHz를 두개를 할당해봤다.. 그래도 버퍼링 작렬!! 이래저래 찾아도 정보는 없고.. 그러다가 문득 생각이 들었다.. 802.11n은 두 종류의 네트웍을 하나로 결합하는 방식이기 때문에.. 혹시 컴퓨터가 구형이라 반만 인식하는게 아닐까? 그래서 802.11 bgn의 기능에서 g만 걸어보았다.. 공유기 접속이 안된다 ;ㅁ; 공유기를 공장 초기화 했다. 다시 처음부터 설정했다.. 이번엔 802.11 bg만 걸었다.. n을 뻈다.. 그랬더니.. 예전보다 훨씬 좋은 연결상태가