기본 콘텐츠로 건너뛰기

일본의 솔루션 비즈니스는 한국과는 다르다. 실전 솔루션 비즈니스 경험



얼마전 비즈니스 관련 이야기를 하다가 나온 말이었는데요.. 

한국에선 솔루션은 반드시 SI업체와 끼거나 솔루션 업체에 SI팀이 있어야 합니다. 
이유는 특정 솔루션 영업을 가면 
PoC를 하면서 자기네 입맛에 맞춰서 엄청 뒤집어야 하지요. 
어떨 때는 완전히 새로운 솔루션이 탄생하기도 합니다. 

그래서 한국의 솔루션 업체들 중에 업력이 오래된 곳의 상품을 보면, 
정말 많은 커스텀 모듈이나 상품들이 즐비합니다. 

그리고 신생 솔루션 업체는 솔루션이라고 만들었지만 대부분 커스터마이징 당할 것이라 생각해서 도큐먼트나 기능이 부족한 상태에서 영업이 들어가는 경우가 많습니다. 
어짜피 솔루션 업체에서 아무리 기능을 미리 만들어둬도 거의 새로 커스터마이징 하는게 더 많거든요..

해외의 모든 나라 통계는 모르겠는데요.. 
일본의 경우는 솔루션 영업을 가면.. 
솔루션에 있는 기능을 그대로 사용하고 없는기능은 api 를 찾아가면서 직접 개발 하는 경우가 많습니다. 
즉, 솔루션 업체는 솔루션만 안정적으로 공급하면 된다는 것이지요. 
때문에 솔루션을 사용하는 기업에서는 기본 기능 이외에도, 커스터마이징을 위한 API 문서가 얼마나 충실한지도 중요합니다. 

여기서 일본환경과의 오해와 차이가 생기는데요.. 

한국 솔루션 기업은 어짜피 고객들이 자기 멋대로 말하면 솔루션 업체가 그 요구에 맞추어 커스터마이징 할게 뻔하다보니, 
API를 만들어줘도 고객이 API를 쓸 이유가 없지요. 그냥 솔루션 업체에 시켜서 커스터마이징 된 UI만 쓰겠다고 자기네에 맞춰달라하니 API문서를 만들필요가 없고, API도 고객의 요구에 맞추다보니 새로 만들거나 사양 변경이 빈번하게 일어납니다. 
때문에 문서화에 의미가 없어서 문서를 점점 등한시 하게 되었지요. 

그걸 일본으로 가져오려고 일본어화를 하는 과정에서 저랑 이야기를 많이 하곤 하는데요.. 
일본어로 번역할 API의 문서를 보다보면 말도 안되게 적거나 너무 예전거라 지금이랑 스펙이 안맞는 경우가 허다했습니다. 이런걸 그대로 일본어로 해봤자, 
일본 기업에서 API를 써보려했는데 문서대로 안되면 바로 드랍이죠.. 
의외로 일본 기업은 API문서 달라는 이야기를 많이 합니다. 
솔루션에서 제공하는 기능을 써보고 안되면 API로 어떻게든 해보려고 했는데 안되면 포기합니다. 
한국처럼 영업을 불러서 이거 해주세요 하는 경우가 거의 없죠. 

또한 문서는 제대로 안된 상태에서 
영업으로 어떻게 기회를 만들어 
요건을 주시면 전부 다 만들어 드립니다 라고 말해도 
일본에서는 PoC라는 것은 솔루션 회사가 제공한 것을 그냥 써보기 위한 테스트이지, 
PoC부터 커스터마이징 하지 않거든요.. 
즉, 뭐든 만들어 드리겠지만 지금은 없어요 하면 고객이 쓸게 없어서 멈추게 됩니다. 

저도 제 20년 이상의 노우하우를 집약한 서비스가 있는데도, 
이걸 일본에 못파는 이유가 바로 여기 있습니다. 
도큐먼트를 제대로 못한 것과, 
내 입맛에 맞게만 만들어져서 유저를 위한게 전혀 없기 때문이지요. 
영락없이 저도 한국 사람인 것이지요.. 

그래도 일본에 진출하려는 기업들에겐 제대로 설명을 해줘야 하기에, 
이런 문제를 지적하고 있습니다. 
아무리 소규모로 일본에 진출한다 해도, 
일본에서 영업을 뛸 최소한의 비용이란게 들어가잖아요?
그게 한두푼이 아닐텐데 하는 김에 제대로 해야지요. 

하지만 역으로 생각하면, 
일본만큼 솔루션 비즈니스가 편한 나라가 없습니다. 
한국의 경우는 솔루션 업체가 커스터마이징용 SI인력이 꼭 필요합니다. 
하지만 일본의 경우는 서너명이서 쓸만한 솔루션 하나 만들어 문서만 잘만들어 런칭하면 되죠. 
시장 가치만 있다면 적은 인원으로 충분히 노려볼 만한 시장입니다.
그리고 한국처럼 레퍼런스 강조하는 데는 대기업 뿐입니다. 
작은 기업것이라도 서포트만 잘해주면 필요한 기능과 가성비만 좋다면 써보는 곳들이 많습니다. 
때문에 일본에서 일하다보면 어디 듣보잡 같은 UI로도 수만 고객을 유치해서 IPO까지 하는 기업도 있지요. 
굳이 대기업을 상대하지 않아도 되는 소형 솔루션들도 상장까지 가능한 시장 사이즈라는 것입니다. 

솔루션 이야기를 하다가 생각이 났는데요.. 

저는 항상 이야기하고 있는 것이, 
나의 경험을 하나의 서비스로 만들어라 라는 것입니다. 
특히나 IT를 하는 사람들이라면 일하면서 쌓인 경험 모두 코드로 만들 수가 있습니다. 
개발자 뿐만 아니라 서버를 관리하는 사람도 
자기가 하는 모든 액션을 shell script등으로 코드화 할 수 있습니다. 
그리고 그걸 언제든 쓸 수 있도록 표준화를 해놔야 하는 것이지요. 
네트워크 엔지니어 역시 네트워크 설정관리를 GUI로 하지말고, 
Shell로 짜놓아서 덤프를 던질 수 있게 해놔야 하는 겁니다. 

보안 전문가로 경력을 쌓았다면 
포렌식 이나 기타 보안 점검 등을 모두 스크립트로 만들 수 있습니다. 

이런걸 계속 집약을 해서 다른 사람들에게 쉽게 제공하고, 
적은 비용으로 많은 사람들이 쓸 수 있게 한다면, 
자신이 추가로 액션을 취하지 않더라도 수익이 나오는 구조를 짤 수 있지요. 

IT로 솔루션을 만드는 것이 
자신이 그동안 쌓아온 경험을 돈으로 바꾸는 패시브 인컴을 만들 수 있는 것이지요. 

솔루션이란 것은 거창한 것이 아닙니다. 
나를 필요로 할 때 
나 대신 쉽게 나의 노우하우를 사용할 수 있게 해주는 것이 솔루션입니다. 
고객의 고민을 해결하게 해주는 나의 노우하우인것이지요. 
그 규모가 작아도 자기가 추가로 얻을 수 있는 수익이 된다면 
어엿한 솔루션 비즈니스가 되는 것이지요. 

이제 그 동안 수작업으로 해왔던 행동을 전부 코드나 스크립트로 만드는 것이 첫 번째 입니다. 
그리고 그걸 표준화 하고, 
자기가 직접 일을 할 때 그걸 실행해서 자신의 시간만 줄어들어도 성공입니다. 
나만 쓰더라도 내 시간을 줄여주니까요.. 
거기에 좀더 상품화만 잘 되면 거기에 하나씩 쌓여가면서 커지는 것이지요. 

이제 여러분도 
여러분이 가진 능력으로 
패시브 인컴을 준비할 수 있었으면 좋겠습니다. 

giip :: Control all Robots and Devices! Free inter-RPA orchestration tool! https://giipasp.azurewebsites.net/

댓글

이 블로그의 인기 게시물

Alter table 에서 modify 와 change 의 차이 :: SQL Server

두 개의 차이를 모르는 경우가 많아서 정리합니다.  modify는 필드의 속성값을 바꿀때 사용하구요.. change는 필드명을 바꿀떄 사용합니다.  alter table tbbs modify bNote varchar(2000) NULL; alter table tbbs change bNoteOrg bNoteNew varchar(2000) NULL; change에는 원래 필드와 바꾸고 싶은 필드명을 넣어서 필드명을 바꾸는 것이죠~ 더 많은 SQL Server 팁을 보려면  https://github.com/LowyShin/KnowledgeBase/tree/master/wiki/SQL-Server giip :: Control all Robots and Devices! Free inter-RPA orchestration tool! https://giipasp.azurewebsites.net/

책에서는 안 알려주는 대규모 트래픽을 위한 설계

음성 버전 :  https://www.youtube.com/watch?v=ZZlW6diG_XM 대규모 트래픽을 커버하는 첫 페이지 만드는 법..  보통 DB를 연결할 때 대규모 설계는 어떻게 하시나요?  잘 만들었다는 전제 하에 동접 3000명 이하는  어떤 DBMS를 사용해도 문제 없이 돌아갑니다.  여기서 이미 터졌다면 이 콘텐츠를 보기 전에 DB의 기초부터 보셔야 합니다.  아.. 개발 코드가 터졌다구요? 그럼 개발자를 때리셔야지요..  만약 3000명을 넘겼다면? 이제 Write/Read를 분리해서  1 CRUD + n개의 READ Replica를 만들겠죠?  보통 Read Replica는 5개가 최대라고 보시면 됩니다.  누가 연구한 자료가 있었는데...  6번째 레플리카를 만든느 순간 마스터가 되는 서버의 효율 저하 때문에  5번째에서 6번쨰로 올릴때의 성능이 급격히 줄어든다는 연구 결과가 있습니다.  때문에 Azure에서도 replica설정할 때 5대까지 밖에 설정 못하게 되어 있지요.  유저의 행동 패턴에 따라 다르긴 하지만,  1 CRUD + 5 Read Replica의 경우 동접 15000명 정도는 커버 합니다.  즉, 동접 15000명 에서 다시 터져서 저를 부르는 경우가 많지요..  이 때부터는  회원 DB, 게시판DB, 서비스DB, 과금 DB 등등 으로 성격, 서로의 연관도에 따라 나누기 시작합니다.  물리적으로 DB가 나눠지면 Join을 못하거나 Linked Table또는 LinkDB등의 연결자를 이용해서 JOIN이 되기도 합니다.  그에 따라 성능 차이가 생기지만 가장 중요한 포인트는  서로 다른 물리적 테이블의 JOIN은 인덱스를 타지 않는다!  라는 것입니다. 즉, JOIN할 테이블들을 최소한으로 만든 뒤에 JOIN을 걸지 않으면 NoSQL처럼 느려터져 죽습니다.  양이 많은 DB에서 양이 적은 테이블을 가져와서 JOIN을 해야겠지요..  이렇게 해서 동접 10만명까지 커버를 했다 칩시다.  여기서 일반적인 동접의 기준도 서비스마

BI의 궁극판! Apache Drill을 써보자!

사실 Apache Drill 은 BI(Business Intelligence)라고 부르는 것 보다는 단순 데이터 연결 엔진이다. https://drill.apache.org/ 하지만 내가 왜 극찬을 하느냐면.. DBA로서 항상 문제가 되어왔던게, 이기종 데이터의 변환이나 처리였다. 포맷을 맞추는데 엄청난 시간이 걸리고, 데이터 임포트 실패가 무수하게 나고.. 한 번 잘못 데이터를 추출하면 다시 조정, 변환, 추출하는데 시간이 많이 걸린다. 그런데! Apache Drill은 그냥 RDB를 CSV랑 연결해서 조인해서 통계를 낼 수 있다. 그것도 표준 SQL을 사용하여! 예를 들어, CSV의 세 번째 컬럼이 price 이고, 물건의 판매이력을 PG사에서 CSV로 출력 받았다. 우리 DB와의 검증을 위해서는 수동으로 Import를 한 뒤에 포맷이 안맞아 잘리는 데이터가 있다면 다시 맞춰주고, 재 임포트를 수십 번, 그리고 나서 겨우 들어간 데이터를 조인하여 빠진 데이터를 분간한다. 숫자가 적다면 개발자가 개발로 처리할 수도 있지만, 건수가 하루에 300만건 짜리라면.. 한 달 온 파일은 9천만 건이다. 프로그램으로 고작 처리하는 것이 초당 500건. 거의 20만초, 에러 없이 약 56시간.. 에러가 생기면 다시 56시간.. ㅠㅡㅠ 이런게 현실이기 때문에 쿼리 말고는 방법이 없다. apache drill 의 진면목을 보자! 이번에는 좀 범용 적인 MySQL DB와 붙여 보자. . 난 이번에는 Mac에서 작업을 했기 때문에 그냥 다운 받아서 풀었음.. https://drill.apache.org/download/ 여기서 자기 OS에 맞는 버전을 받아서 설치하시길.. 압축을 풀고 나면 MySQL 커넥터를 붙여야 한다. https://dev.mysql.com/downloads/connector/j/5.1.html 여기서 다운로드 이런 커넥터 들을 붙일 때마다 콘피그를 수정해 줘야 하지만, 몇 번만