스토리 홈

인터뷰

피드

뉴스

조회수 2448

3번의 엑싯, 연쇄창업가 버즈빌 이관우 대표 창업기

출처 : 플래텀낙성벤처밸리 페스티벌 행사에서 짧은 강연을 정리.[전문]이토프, 포스트윙 창업 후 네이버 매각, 데일리픽 창업 후 티켓몬스터에 매각 총 5번의 창업과 3번의 엑싯을 경험한 연쇄 창업가초등학교 6학년때 2천만원정도 끌어모았다. 특허도 내고 금형도 했다. 인기가 되게 좋았다. 일본 바이어가 라이센스 2억을 주겠다고 했다. (일본 특허가 있었음) 아버지가 공부 안한다고 딴짓한다고 프리 라이센스 선언. 그래서 돈을 벌지는 못했다.무엇이 창업에서 가장 중요할까?서울대 경영대 지원한 것도 창업때문이였다. 경영대 왔다니 벤처과정 이런게 없었다. 디자인 경영이라는 수업에 발표를 하게 됬는데 전자렌지에 햇반 같은 걸 넣으면 코드를 읽고 자동으로 조리해주는 같은 아이디어였다. 교수님이 3,000만원 엔젤투자하겠다고 그러면서 창업 시작했다. 랩실에 찾아가 박사 막 꼬득여서 영입했다. 이제 대기업들을 세일즈해야되는데 우리에게 기술적으로 요구하는 것들이 닭과 달걀 같은 상황이였다. 그래서 굉장히 사업하는게 힘들었다.우리 기술을 고민해보니 코드를 인식하는 기술이 있더라. QR코드를 문자로 보내면 MMS로 보내야해서 200원 정도 드는데 우리 기술은 유니코드를 이용해서 SMS로 보낼 수 있어서 8원에 보낼 수 있었다. 그래서 네이버가 인수했다. 창업을 하면서 느꼈던 건 스타트업의 성공방정식은 인내력. 버티고, 버티고, 버티고였던 것 같다. 빨리 시장에 런칭해보고 숫자보고 개선하고.. 어릴때부터 나는 되게 린스타트업하게 발명하고 그랬던 것 같다. MVS (minimum viable sales) 의 중요성을 공유해드리고 싶다. 이는 내가 만들어낸 개념이다. (웃음) 데일리픽 창업할 때 (경쟁사 : 티몬, 우리 앱이 없었음) 일단 영업하려고 가게 들어갔다. 계약서 내봐라라고 해서 사인해주시더라. 다음날 근데 계약이 철회됬다. 그래서 일주일동안 아무말 안하고 커플 있는 파스타집에서 카페라떼 시켰다. 그렇게 계약을 다시 했다. 세금계산서를 한번 끊어보는거 이 한바퀴를 돌려보는게 중요한 것 같다.잠금화면 할 때 여자친구가 어떤 발표를 하는 자리에 bmw 사장이 왔었다. 내가 그 연락처를 전달받아 아무런 일면식 없는데 따로 연락해서 bmw 여기서 광고 정도 해야되지 않곘냐라고 제안했다. 100만 되면 다시 오라고 해서 우리 100만 찍고 실제로 bmw 광고했다. 참고로 그때도 처음에 우린 앱이 없었다.세번째 창업 포스트윙. 불법적인 저작권 위반한 사례들 모니터링해서 법무부로 보내는거였다. 개발자 둘이랑 해서 월 억대에 매출이 났고 잘됬다. 근데 점점 저작권에 그런게 밝아지면서 매출이 줄더라. 전 세계 모바일 첫 화면을 악하기 위한 여정을 시작했다. 언어적인 장벽도 덜하고 이미지로 소구할 수 있기 때문에 괜찮을 것 같았다. 이 과정에서 사업 아이템을 자꾸 더 크게 보려고 많이 노력했던 것 같다. 스타트업 성공의 크기는 시장의 크기와 꿈의 크기에 비례하는 것 같다. 세퀘이아 유명한 VC는 이렇게 얘기한다고 하더라."그래 니말 다 믿어줄게 근데 그게 2조 정도 되는거야?"어릴때 엄마가 다리미로 옷을 막 태워먹더라. 이걸 어떻게 해결할 수 있을까? 오뚜기처럼 우뚝서는 그런 식으로 만드는 아이디어를 냈었다. 3일만에 철문점 가서 다리미 mvp 만들었다. 근데 그게 이미 일본이나 독일에 다 있었다. 스피드가 진짜 중요한 것 같다. 내가 생각하고 있는 건 15명쯤 생각하고 있고 이들 중 5명정도는 창업을 생각, 그리고 이들 중 3명이 실행하는 것 같다. 그래서 내가 생각한 아이디어를 누가 훔칠까봐 그런 걱정은 별로 안해도 될 것 같다. 빨리 실행하는게 중요하다.데일리픽 만들었을때 두달 간격으로 경쟁사들이 오픈했다. 두달 뒤 티몬 오픈했고 그 두달 뒤 쿠팡이 오픈했고 또 그 두달 뒤 위메프가 오픈했다. 빨리하는게 중요하다. 데일리픽은 90억에 티몬에 매각했다.허니 스크린은 남자 5명이 합숙하며 시작했다. 2시간 자면서 했다. 근데 그때 또 캐쉬슬라이드 나왔다. 지금은 결이 다르지만 그때는 경쟁사였다. 그때 생각했다. 정말 빨리 나오구나.. 사업 모델 고안할 때 어떻게 엣지있게 만들면 다른 회사가 우리 회사를 사주지? 이렇게 고민해보는 것도 좋은 것도 같다. 우리 회사만의 독점적인 헤자, 성 뭘까? 2조 이상 되는 모델인가? 세퀘이가 투자 방식 중 구글/ 페이스북의 로드맵 중에 직접 하지 않으면서 그 로드맵에 필요한 스타트업 1등에 투자한다고 하더라. 회사를 사줄 인맥 네트워크들을 스캔하며 엑싯 전략까지. 개인적인 나의 비전 - vision alignment - 한국 태생의 아이디어를 글로벌 플랫폼으로의 도약창업하면서 중요한 4가지가 있는 것 같다.1. 얼마나 큰 비전을 잘 세울 것인가2. 사람.. 얼마나 나보다 더 뛰어난 인재를 모을 것인가. 3. 소통이 중요함. 2번 좋은 사람들을 모아두면 개성이 강해서 이걸 팀역량으로 연결시키는게 어렵다. 두달에 한번 우리는 대표 포함에서 젓가락 뽑아서 좌석을 랜덤하게 뽑는다. 개발자의 언어 다르고 디자이너의 언어 다르고 이렇게 자리 배치를 하다보면 서로를 좀 더 잘 이해하게 되는게 아닐까 생각한다. 4. 이런게 잘 지켜지면 스포츠 팀의 원팀이 된다. 우리만의 향기가 생기는데 문화가 중요한 것 같다. 사업을 열심히 하는 것도 중요하고 운도 되게 중요하다. 버즈빌 조인한 한명 한명 사람들에게 창업가 육성하듯 그런 마피아 만들고 싶다. 페이팔 마피아처럼. 진흙탕 인큐베이팅이라고 얘기한다. 진흙탕에서 같이 구르면서 함께 창업가로 동료들과 성장하고 싶다. 회사에 있다가 본인이 창업하겠다고 하면 엔젤 투자하거나 이런 걸 장려하는 것도 노력하고 있다. 불나방으로 하다보면 영웅은 한명쯤 나오지 않을까 정리하면 끈기/mvp, msp/꿈의 크기 크게/스피드 / 엑싯전략/ 이런 것 같다. 어린 나이에 창업을 하게 되면 말랑말랑 할 때 할 수 있으니 이 시기도 중요한 거 같고 근데 뭔가 학업을 버리면서 진짜 집중력있게 사업을 키울 수 있는가? 그런게 중요한 것 같다. 데일리픽, 미국에 그루폰 벤치마킹한거다. 처음에 창업하면 벤치마킹 하는 것도 좋은 것 같다. 사업을 시작하고 망할때는 어떤 포인트로 망했는지 복기하는게 중요한데 그게 팀일 수도 있고 펀드레이징이 될 수도 있고 아이템이 될 수도 있다. 카피캣으로 시작하면 일단 아이템 때문에 망하는 경우는 잘 없는 것 같다. 잘되는걸 벤치마킹 했기 때문에. 원래 데일리픽 론칭하자마자 3개월 뒤쯤 그루폰에서 인수하자고 연락왔다. 그때 영문도 안되어있고 한글로만 되어있었는데 로켓인터넷 CEO 올리버 삼베르가 우리 사무실로 전화왔다. 그때 여직원이 있었는데 보이스 피싱인 줄 알고 바로 끊어버렸다. 공항 뜨기전에 우리 꼭 한번 보고 싶다고 해서 만났다. 택시를 타고 인천공항가서 데일리픽 띄어놓고 우리 팀에 대해서 설명하고 막 그렇게 발표를 했다. 그리고 우리가  "우리는 너네가 플랫폼 스케일링 하는 거랑 우리랑 지향하는 철학이 다르다. 우리는 고객 만족을 위한게 중요하다." 그런 식으로 얘기했더니 그 분이 나한테 이렇게 말한게 처음이야 이러면서 바로 공항 취소하고 택시타고 우리 사무실로 갔다. 그루폰이 인수하겠다 딜이 되면서 티몬이나 다른데랑 비딩이 붙은거다.성장하는 작은 기업의 핵심 참모가 되는 것도 많이 배울 수 있는 것 같다. 그런 포지션에서 대표가 운영하는 사업을 보면서 빠르게 경험을 축적, 간접 경험을 해볼 수 있는 것 같다.팀은 학교에서부터 만나는게 중요한 것 같다. 학교에 가서 창업에 대해서 많이 배운 건 없지만 기술경영 동아리 하면서 성공한 창업 선배들 많이 만났고 팀빌딩도 했었다.더 나은 사람을 채용하기 위해 그냥 계속 관계 유지하면서 타이밍이 됬을 때 공격적으로 제안하는 것 같다. 예전미국에 15명 개발자 다 데려가서 미국 시장 뚫을려고 애썼다. 근데 창업가가 20대때 가서 미국에서 하는거랑 40대 개발자 데려가서 하는거랑은 정말 다른 것 같다. 20대랑, 40대의 주변 환경은 다르기 때문이다. 40대는 가정이 있으니.. 그때 한국 지표가 막 꺽이고 회사가 망할 뻔했는데 그때 고민했던게 비전과 미션, 핵심 가치 잘 셋팅하는거였다. 그거 기반한 인재상을 셋팅하고 그 인재상에 맞는 질문지부터 어떻게 액션해야되는지 컬쳐북이라는걸 만들었다. 모든 복지 프로그램, 인터뷰 프로그램 만들었고 인터뷰 되게 빡빡하게 보는 24시간 과제도 우린 주는게 있다. 여러 회사들 중에서 우리 회사의 과제를 하루밤 정도 밤새지 않으면 우리랑 맞지 않는다는 거를 보려고 하는거다.되게 좋은 분 3년정도 따라다녔었다. 막판에는 갑자기 찾아가서 1층 내일 우리 로켓 뜬다. 투자 클로징 됬고 오늘 밤 알려주셔야된다. 나이 드신 분들의 대부분 의사결정권은 형수님한테 있는데 부부동반으로 식사도 하기도 했다. 나는 개인적으로 정부 지원 받지마라. 창업아이템에 더 집중하는게 좋지 않나.. 차라리 투자 피칭해서 자금 가져오는게 좋다고 본다.우리의 성과 시스템이나 측정은 OKR 참조 많이 했다. 스톡은 초기 사람들에게 많이 주려고 하는 편이고 스톡풀이 정해져 있기 때문에 (10%) 뒤로 갈수록 스톡 주는게 제한이 걸려 우리는 투자 받을때 아예 스톡 풀을 넓히는 것을 제안을 했다. 우린 공장이 있거나 뭐 건물이 있거나 그런게 아니라 사람이 전부니깐.PPL. 페오펫에서는 위대한 미친 개발자, 위대한 미친 마케터, 위대한 미친 운영분들을 모시고 있습니다. 커피 한잔 하실 분은 연락주세요.■ 페오펫은 강아지 등록 카테고리에서 압도적인 1등 펫테크 스타트업입니다. ■기업소개보러가기 > https://www.rocketpunch.com/companies/peopet페오펫은 반려동물계의 네이버를 만들 것입니다.펫 모바일 포털 AI 플랫폼을 만드는 것이 궁극적인 목표입니다. 이 궁극적인 목표를 위해 현재 강아지 등록 사업을 통해 데이터를 모으고 있고 다음 단계로는 커뮤니티 사업 진출, 추후 포털 플랫폼으로 진화하는 것이 로드맵입니다. 반려인들이 검색을 통해 나에게 맞는 정보를 찾고, 추천받고, 커머스 결제까지 원스톱 경험을 통해 미친 감동을 주고자 합니다. 페오펫은 탁월한 고객 중심의 서비스를 만들고 플랫폼을 넘어 펫 산업의 "뇌"가 되고자 합니다.■페오펫 문화■http://bit.ly/2Wpl0Cq 핵심문화편http://bit.ly/2Y3yQL1 소통문화편http://bit.ly/2Y8kgSn 복지문화편http://bit.ly/2IZOX8R 그로스리뷰문화편http://bit.ly/2Y5dfll 합의문화편이 글을 보고 공감했다면 [구독하기]를 눌러주세요. 새 글이 올라올 때 먼저 알려드릴게요.이 글을 누군가에게도 보여주고 싶은 감정을 느꼈다면 [공유하기]를 눌러주세요. 함께 나누면 더 기쁘니깐요.이 글을 보고 연결되고 싶다는 생각이 들었다면 [댓글]을 달아주세요. 저와 그리고 누군가와 연결될꺼예요.지금 바로 감정을 행동으로 옮겨주세요. 당신의 참여는 세상을 더 아름답게 움직일꺼예요.*페오펫 강아지 출생신고 서비스이제 정식으로 당당하게 내 아이를 간편하게 출생신고 하세요.페오펫 블로그페오펫 페이스북 페이지페오펫 인스타그램최현일의 링크드인최현일의 페이스북최현일의 블로그최현일의 페이지email : [email protected] : guitop    
조회수 1007

Real value of APM by JenniferSoft (1)

Hyun-chul, Lee, Chief Strategy Officer | JennifersoftFrom “a good product if you have one,” to “must have one”While the type of internet service became varied in the early 2000s, one area was sharply on the rise. It was called APM. (Application Performance Management) The APM was getting attention particularly from finance and IT industry.A foreign-based vendor introduced the APM for the first time in Korea. During the early 2000s, a global vendor such as Wylie and Veritas got much attention for its technology, however, local solution including JENNIFER soon took the lead on the market. While imported solutions were relatively heavy to use and were focusing on analytic features, JENNIFER emphasized its mission-critical features with real-time performance analysis. JENNIFER started taking the lead by responding to picky local clients. With its strengths, JENNIFER is well recognized in Japan and China. Its APM slightly appeals to Asian market.The outlook on APM market was not always optimistic back then. Although there are slight differences by market research firms, it was expected that the APM market would reach saturation point in 2010, and its market size would remain rather than increasing. Because it was expected that only a certain industry would feel the need to monitor and control the performance of application. Namely, APM was recognized as ‘a good product if you have one.’Unlike the previous forecast, the APM market has continued to grow up. According to Korea IDC research, the market has increased every year since 2010. Gartner estimated that the market size of APM would be recorded at $2.6 billion in 2014, increasing 15.8% compared with the year of 2013. Such increasing rate was the highest growth rate in ITOM (IT operations management) area.The APM market is expected to grow further down the road. What is really going on? Why more companies would like to adopt the monitoring solution, which was recognized as ‘a good product if you have one.’ How APM became ‘must have one product?’ Given companies are tightening their budget due to economic downturn, it is difficult to understand their behavior.Why do you need to invest on APM during the economic downturn?The web service was mainly used in internal system. However, as the web service has been widely used in almost every area of business, it becomes much important. As a result, investing APM has been on the rise. Ironically, APM market continues to increase not only in Korea, but across the globe over the past couple of years even after the global financial crisis broke out. Let’s find out reasons behind such decision.Stable operation under complicated IT environmentAs IT environment becomes much complicated, more companies started adopting the APM. Especially, finance firms took the lead during the initial stage of APM market. Companies in general started adopting or expanding IT infrastructure as a way of getting competitiveness. As IT environment became complicated, companies having multiple systems felt difficult to control their systems.These trend influenced on APM industry in general. These days, APM is required to couple with multiple systems running web applications, program elements in order to secure stability due to complicated IT environment. Accordingly, it became important to work with various system platform such as OS, Web Application Server, DB, and numerous application framework without causing errors. For this reason, a software that its stability and compatibility has already been proved under client’s OS is getting recognized on the market. The need for APM started expanding from companies vulnerable to system errors.Response to change triggered by mobile, and cloudTechnical advent including mobile, cloud plays a huge part in expanding APM industry. The advent of various mobile devices and internet usage regardless of time or place triggered unprecedented change in terms of types and numbers of transaction. The cloud allows users to expand their system in response to sudden increase of transaction. Such change makes companies control more service and requests seamlessly. Namely, there is a growing need to adopt the APM. Given the expansion of mobile and cloud is related with technical issue, it is likely to influence on the growth of APM for a long time.High rates of return on your investmentWhen financial crisis hit the global economy in the year of 2008, APM market was ironically on the rise. It was clear that investing on APM is beneficial. By monitoring the performance of web application server located between the client and server (company infrastructure), users are able to measure the performance of all the requests by their clients. In other words, if a company adopts the APM, it will be able to identify all the issues related with using web service. Ultimately, the company can enhance the stability of its core business.Moreover, APM help minimize the need for managing IT infrastructure and related cost. When the number of IT service increases, accompanying tasks including the management of server, application and network are inevitably increasing. However, the number of human resources or other resources remains as it is or decreases.APM help effectively monitor the operating system with a limited manpower, allowing companies to respond in a timely manner. Although APM needs to be built with convenience of management and maintenance in mind. It is important to note that adopting the monitoring solution to control could lead to increase of workload.Improved response time in related departmentCompanies these days heavily depend on IT service throughout their overall business. They keep their eyes on the status of IT service in various sectors such as sales, accounting, marketing, and customer service. APM allows both a person in charge of IT and other departments to check the status of their system and service. For instance, responding to an error by a call center employee would lead to differentiated service in terms of customer service, rather than only by IT department. To utilize APM on the ground, it must be initiated in real-time and needs to include visualization, and must be easy to use.To be continued...
조회수 1900

서비스 중단 없이 Amazon EKS로 옮긴 이야기 - VCNC Engineering Blog

Amazon EKS는 AWS의 관리형 Kubernetes 서비스입니다. 2017년 11월 AWS re:Invent에서 프리뷰 버전이 출시되었고, 2018년 6월에 상용(GA) 버전이 미국 리전에만 출시되었습니다. 그래서 서울 리전을 사용해야 했던 타다 프로젝트에서는 Kubernetes 클러스터를 직접 kops로 설치하여 운영할 수 밖에 없었습니다.2019년 1월, 오랜 기다림 끝에 드디어 서울 리전에 EKS가 출시되어 기쁜 마음으로 EKS로 옮겨가게 되었습니다. 이 글에서는 직접 구축한 클러스터 대비 EKS의 특징에는 어떤 것이 있는지 살펴보고, 서비스 중단 없이 EKS로 옮기기 위한 전략을 공유하고자 합니다.EKS 서울 리전 출시를 염원하던 한국인(?)들EKS는 뭐가 다른가요?AWS에서 마스터 노드를 관리해줍니다.Kubernetes 클러스터는 마스터 노드와 워커 노드로 구성되어 있습니다. EKS는 이 중에서 마스터 노드를 직접 EC2로 띄울 필요 없이 AWS에서 관리해주는 서비스입니다. RDS를 사용할 때 직접 DB 인스턴스를 생성하지 않는 것과 비슷합니다. 별도의 설정 없이도 알아서 여러 가용 영역에 마스터 노드를 실행하여 HA(고가용성) 구성을 해주고, 비정상 마스터 노드를 자동으로 감지하고 교체합니다. 또한 자동화된 버전 업그레이드 및 패치를 지원합니다. EKS를 사용하더라도 워커 노드는 직접 EC2 인스턴스를 생성·관리해야 합니다.EKS 클러스터의 요금은 2019년 2월 현재 시간당 $0.20입니다. 타다에서는 기존에 t2.medium 3대를 마스터 노드로 사용하고 있었기 때문에 관리를 직접 하지 않는 대신 비용이 약간 증가하게 되었습니다.AWS IAM 기반 인증을 사용합니다.VCNC에서는 기존에 Kubernetes API에 접속할 때 가장 간단한 basic auth 인증 방식을 사용했습니다. 그 대신 외부 네트워크에서 접근할 수 없게 해두고 필요한 경우 Bastion 호스트를 통해 SSH 터널링하여 접속했습니다.EKS의 API 서버는 인터넷에 노출되어 있으며, 별도로 네트워크 접근 제한 설정을 할 수 없고 AWS IAM으로 사용자를 인증합니다. (물론 공개망에 노출되어 있으면 Kubernetes API 서버에 보안 취약점이 발견되는 경우 안전하지 않을 수 있는 단점이 있습니다. 앞으로 PrivateLink가 지원되면 해결될 것입니다.)IAM은 인증에만 사용되고, 특정 작업을 할 수 있는 권한은 Kubernetes 기본 RBAC로 관리됩니다. IAM 사용자나 역할을 RBAC 그룹에 매핑할 수 있습니다.EKS 인증 흐름도워커 노드 당 Pod 개수 제한이 있습니다.예를 들어 c5.large 인스턴스에는 29개의 Pod을 띄울 수 있습니다. (표 참고) 그러므로 기존 클러스터에서 노드 당 Pod이 몇 개나 되는지 미리 확인할 필요가 있습니다. 왜 이런 제약이 있을까요?Kubernetes에서는 네트워킹 플러그인으로 Pod 사이에 네트워크 통신하는 방식을 다양하게 설정할 수 있습니다. EKS는 기본적으로 amazon-vpc-cni-k8s를 사용합니다. 이 네트워킹 플러그인은 VPC 상에서 유효한 실제 IP를 Pod에 할당합니다.그러기 위해서는 하나의 EC2 인스턴스에서 여러 개의 IP를 받아와야 하고, 이를 위해 추가적인 네트워크 인터페이스(ENI)를 붙입니다. 그런데 인스턴스 타입에 따라 추가할 수 있는 ENI 수와 ENI 당 IP 수에 제한이 있습니다. 따라서 이 제한이 워커 노드 하나에 띄울 수 있는 Pod 개수 제한이 됩니다.flannel 등 오버레이 네트워크 기반의 다른 네트워크 플러그인을 사용하면 이러한 제약을 피할 수 있습니다. 하지만 EKS에서 기본 제공하는 방법을 그대로 사용하는 것이 좋고, Pod을 엄청나게 많이 띄워야 하는 상황이 아니어서 시도하지 않았습니다.EKS로 중단 없이 넘어가기개요타다의 Kubernetes 클러스터에서 돌아가는 서비스들은 모두 영속적인(persistent) 상태를 가지고 있지 않습니다. 따라서 EKS 클러스터 위에 동일한 서비스를 띄우고 외부 트래픽을 옮겨주기만 하면 특별히 데이터를 옮기지 않고도 이전이 가능했습니다. 또한 거의 대부분의 Kubernetes 리소스는 Helm 차트로 생성한 것이기 때문에 새로운 클러스터에 동일한 서비스를 띄우는 작업도 쉽게 할 수 있었습니다.이전 작업은 다음과 같은 순서로 진행했습니다.EKS 클러스터를 만들고 워커 노드를 생성모든 서비스 다시 설치트래픽을 새 클러스터로 보내기이전 클러스터 제거EKS 클러스터를 만들고 워커 노드를 생성타다의 AWS 환경은 거의 모두 Terraform으로 정의되어 관리되고 있습니다. EKS 클러스터와 워커 노드도 HashiCorp Learn의 문서를 참고해서 Terraform으로 생성했습니다. 해당 문서에 설명이 잘 되어 있어서 거의 그대로 따라할 수 있었습니다.EKS 클러스터 설정은 재사용 가능하도록 Terraform 모듈로 만들었습니다. 덕분에 테스트용 클러스터와 실서비스용 클러스터를 동일한 모듈로 변수만 바꿔서 설정할 수 있었습니다.모든 서비스 다시 설치타다의 Kubernetes 리소스는 Helm 차트로 관리되고 있어서 기존 차트를 거의 그대로 설치할 수 있었습니다. 사용자에게 직접적인 영향을 덜 주는 워커 서비스를 먼저 설치해서 제대로 동작하는 것을 확인한 뒤, 마지막으로 프론트엔드 서비스를 설치하였습니다.트래픽을 새 클러스터로 보내기타다의 모든 트래픽은 NLB로 들어온 뒤 NGINX를 거쳐 다시 적절한 Pod에 라우팅됩니다. 그러므로 타다의 모든 도메인은 NLB를 가리키고 있습니다.타다는 Route 53을 DNS 서버로 사용합니다. Route 53에는 가중치 기반 DNS 레코드를 설정할 수 있습니다. 이를 이용하여 일부 트래픽만 새 클러스터의 NLB로 보낼 수 있습니다. 처음에는 아주 적은 트래픽만 새 클러스터로 보내다가 문제 없이 작동하는 것을 확인한 다음 조금씩 트래픽을 늘려나갔습니다.DNS 가중치 설정으로 일부 트래픽만 새 클러스터의 NLB로 보낼 수 있습니다.DNS 설정에서 이전 클러스터로 가는 레코드를 완전히 제거한 뒤에도, DNS 캐시 등의 이유로 일부 클라이언트가 이전 클러스터에 접속할 수도 있습니다. 따라서, 이전 클러스터 NLB에 새 클러스터의 노드들을 붙여서 아직 DNS를 따라오지 못한 클라이언트들의 요청을 처리하였습니다.이전 클러스터 제거가장 신나면서 조심해야 하는 작업입니다. 먼저 이전 클러스터로 트래픽이 전혀 들어오지 않는 것을 확인하였습니다. 그 다음에는 Terraform에서 이전 클러스터 리소스에 대한 참조를 제거한 뒤, terraform destroy 명령으로 이전 클러스터와 관련된 리소스를 한번에 삭제할 수 있었습니다.맺음말Kubernetes는 깔끔한 추상화를 통해 컨테이너 기반 배포를 간단하게 만들어주지만, 직접 클러스터를 관리해야 하는 부담이 있었습니다. Amazon EKS는 이러한 부담을 많이 덜어주는 좋은 서비스입니다. 앞으로 EKS의 무궁한 발전을 기원합니다.VCNC에는 오랫동안 쌓아온 AWS 인프라 운영 경험이 있습니다. 타다에서는 그동안의 경험과 비교적 최근에 시작한 프로젝트의 이점을 살려 컨테이너, Infrastructure as Code 등 업계 표준의 인프라 관리 방법론을 적극 도입하려고 노력하고 있습니다. 앞으로도 이에 관해 기술 블로그에 더 자세히 공유할 계획이니 기대해주세요. 또한 저희와 함께 안정적인 서비스를 만들어나갈 좋은 분들을 기다리고 있으니 VCNC 채용에도 많은 관심 부탁드립니다.
조회수 1523

이노버즈미디어의 대표 미남, '박충선 디자이너'

안녕하세요, Y입니다! 지난 옐로피플 스토리에서 뷰신 나나가 첫 번째 인터뷰로 소개되면서 엄청난 화제를 몰고 왔는데요. 이번 두 번째 타자는 바로바로 YDM 소속의 디지털 마케팅 에이전시 이노버즈미디어의 대표 꽃미남 박충선 디자이너 입니다!Y: 안녕하세요! 옐블 독자들을 위한 자기소개 부탁 드려요! 박충선: 안녕하세요, 이노버즈미디어에서 브랜드 콘텐츠를 만들고 있는 디자이너 박충선입니다! 반갑습니다! Y: 브랜드 콘텐츠라! 정확히 어떤 일인지 궁금합니다박충선: 쉽게 말해서 각 기업 브랜드들이 페이스북, 인스타그램 등 소셜미디어에 발행하는 이미지를 제작하는 거죠. 현재는 롯데카드랑 글로벌 스포츠 의류 브랜드인 스파이더 코리아를 맡고 있어요. 아래와 같은 식으로 각 브랜드의 소셜미디어 콘텐츠를 제작하고 있습니다.Y: 본인이 느끼는 이노버즈만의 특별한 점이나 자랑할만한 사내문화가 있나요? 박충선: 사실 이노버즈가 제 첫 직장이라 다른 회사들과 비교하긴 어렵지만, 여기서 1년 4개월동안 몸담으면서 느낀 것은 정말 수평적이라는 거예요. 서로 눈치보지 않고 말할 수 있는 분위기다 보니 정말 다양하게 싱크빅 돋는 아이디어가 많이 나오죠 :) 또 매월 두 명씩 뽑아서 전 직원 앞에서 다양한 주제로 스피치를 해요. 업무에서 벗어나 본인이 흥미를 느끼는 분야 등 개인적인 이야기로 진행하기 때문에 서로를 알아가는데 큰 도움이 되는 것 같아요. 또 인턴과 신입사원은 물론 임직원들을 위한 다양한 교육과 지원을 해주는 것도 이노버즈만의 특별한 점인 것 같아요.출처 : 이노버즈 페이스북Y: 박충선님의 주제는 뭐였나요? 박충선: 저는 아직 안 했어요!ㅋㅋㅋㅋ 샤이가이라서.. Y: 샤이가이셨구나ㅋㅋㅋㅋ 네 다음질문 드릴게요! 기억나는 재미있는 에피소드가 있나요?박충선: 인턴기간에 업무와는 별개로 동료들에 대한 콘텐츠를 만들었어요. 이노버즈 가족 한 명 한 명에 대해 웹툰형식으로 만들었는데 친해질수록 디스(?)내용을 조금씩 넣어봤거든요. 그러다 보니 반응도 좋았고 다들 다음 편은 어떤 디스가 나올지 기대해줘서 재미있었어요ㅋㅋㅋ 역시 까야 제맛이라고……Y: 드라이플라워 고문이라니ㅋㅋㅋㅋ앞으로 드라이플라워 볼 때마다 죄책감들것 같아요ㅋㅋㅋ 그나저나 디자인 팀이라 남자가 많이 없을 것 같아요! 박충선: 이노버즈에 처음 입사했을 때 디자인 실에 저 포함 두 명 빼고 전부 여자분들이었어요. 처음엔 좀 걱정이 됐는데, 다들 좋으신 분들이고 형들처럼(!) 편하게 대해 주셔서 좋았어요ㅎㅎ Y: 다 여자분들이면 회식이 많이 없겠어요! 박충선: 왜 때문에 그런 생각을…… 저보다 잘 드세요 다들 (또르르)Y: 빨리 넘어갈게요!! 이노버즈/옐로모바일에 바라는 점이 있다면? 박충선: 일을 한다는 건 돈을 버는 것도 중요하지만 함께 일하는 사람들, 그리고 회사에서 임직원들을 대하는 자세가 엄청 중요한 것 같아요. 앞으로도 지금처럼 인간관계를 중요시 여기고 직원 한 사람 한 사람을 우선시하는 회사였음 좋겠어요. Y: 마지막 질문입니다! 앞으로는 어떤 일을 해보고 싶으신가요? 충선: 아주 먼 미래에는 디자인을 접목한 카페나 술집을 운영하고 싶어요. 당장은 원래 하고 싶었던 미술을 배워서 지금 하는 일에 적용시켜보고 싶습니다. 앞으로도 재미있는 컨텐츠로 브랜드에 좋은 영향을 미치는 디자이너가 되겠습니다! 저와 이노버즈 많이 응원해주세요! 
조회수 813

창업자의 일기장(6)-학생의 길

-----이전 이야기-----백수의 삶에서나름 도서관 전전하며 준비하다가...듣고 싶었던 교육에 선정되었다.퇴사한 후, 나의 계획 중에전문지식을 더 심화하여야 할교육이 있었다.창업하고자 하는 분야가제조업이다보니공장/공정에 대한 공부다.물론 신청해서 선정되어야 하고,3개월이라는 긴 시간을 각오해야 했다.350시간 공부해야하기에매일 아침 9시부터 저녁 6시까지 서초에서 공부하고, 시험치고발표하고...그리고 남는 시간에는 영어회화공부를 했다.전국각지에서 몰려온 청춘들과함께 공부하다보니 학생시절이 떠올랐다.물론 나보다 나이가 많은 형님들도 있었고,나처럼 직장을 관두고 공부하는 사람들도 있었다.갓 졸업하고, 취업 준비하면서공부하는 친구들이 많았는데특히나 분야가 플랜트쪽이다보니전공이 거의 화공이었다.그 중에 몇 안되는 타 과 전공자!그게 나였다.그래서인지 처음에는 못 알아 먹는 전문용어와기본적인 이론지식이 후달리더라.뒤처지는 것이 싫었던 나는정말 필사적으로 공부했다.감사하게도함께 공부한 학생들이 이런 나를 많이 도와주었다.특히나, 조별로 묶이게 된학생들은 나이 차이와지식의 차이가 현저하고,가족이 있는 나에게더욱 친절하게, 상세하게공부를 도와주었다.전체인원이 60명 정도 였는데 거기에서 나이로 치면 NO. 4 되었다.하긴 나보다 더 나이 많은 분들도그렇게 필사적으로 매달려서 공부하는데앓는 소리 할 수 없었지.중간중간 시험과 평가에서좋은 성적을 거두면서,처음에는 교육 수료가 목표였지만,조금씩 욕심이 생기기 시작했다.몸도 마음도 지친 상태로집에 들어가면,아내는 늘 웃으면서나의 일상을 물었다.그럴수록 정말 더 미친듯 집중해야겠다고다짐하고 또 다짐했다.새벽마다 경의선 첫 차타고 가고,밤이면 도서관 들려서 버스타고 들어왔다.게다가 그 때의 시기는 겨울이라눈이 많이 내렸다.빙판길과 눈길을 헤치고 다녔고,점심값을 아끼기 위해서편의점 삼각김밥이나 컵라면을 즐겼다.그래도 한없이 미안하더라.못난 남편이 자기 욕심에 던져버린,평범할 수 있던 삶에 대한 책임을같이 감당하는 아내에게,그리고 태 중의 아이에게너무 미안했다.늘 감사했고,나는 사치부리는거라 믿으며하루하루를 꽉꽉 채워갔다.결국 목적은 창업을 위한 준비다 보니우선순위를 두고, 부분별로 수행해 나갔다.1. 지금 당장 하고 있는 플랜트 공정 교육에 집중2. 꾸준한 영어회화 공부3. 사업계획서랑 팀원 꼬시기4. 실업급여 지급이 끝나고 먹고 살 것 찾기그리고 이 항목들은 시간별로 워크시트를 만들어서 체크해 나갔다.전체 스케쥴은 나중에 알게 된"프리마베라"라는 프로그램을 본 따서조정해 나갔다.시간이 쏜살같이 흘러가더라.그리고 예상보다 더디거나 로드되어 밀리는 현상도 생기고잘 안풀리는 것들도 많고....이런 것이 다 사업의 밑거름이다.지식의 향상도 있지만,이러한 경험들이 모든 사업 활동에서적용 되는, 마주하는 일상적인 패턴들이다.그래서 감사한 마음으로 배웠다.지금이 아니면언제 이렇게 배울 수 있으랴~!그리고 왠지 학생이라는 소속감이백수라는 내 현실을 잠시 잊게 해 주었다.
조회수 2183

비전공자를 위한개발자 되기 5 스텝

안녕하세요. 언제 어디서나 함께하는 코딩 교실 엘리스입니다 :)아이디어만 좋다면 뭐든 실현해볼 수 있는 시대! 지금은 '프로그래밍'이라는 강력한 무기를 통해 원하는 세계를 실현할 수 있는 잠재적 가능성이 폭발적인 때입니다. 그리고 그 기회는 비단 '개발자'라는 특정 직업에 국한하지 않더라도 각계 분야에 펼쳐져 있는데요. 이미 마케터, 기획자, 디자이너, 콘텐츠 창작자, 금융업계 종사자, 지리학자, 연구원 등 다양한 분야의 많은 사람들이 프로그래밍을 통해 각자의 영역과 세계 곳곳을 새로운 곳으로 만들고 있습니다.높은 급여와 삶의 질을 보장하고 나의 꿈을 펼칠 수 있는 탁월한 수단인 프로그래밍.프로그래밍을 업으로 삼고 있는 사람들의 시작은 어땠을까요?이 글에서는 소프트웨어 엔지니어가 되고자 이제 막 마음먹은 분들을 위해 프로그래머가 되기 위한 다섯 가지 짚고 넘어가면 좋을 팁들을 알려드릴게요.STEP 1. 개발 친화적인 환경 찾아가기서당개 삼 년이면 풍월을 읊는다컴퓨터 공학 전공자와 비전공자가 가지게 되는 가장 큰 차이는 무엇일까요? 개발에 대한 이론 지식? 개발 능력?물론 모든 게 상대적인 것이겠지만 일반적으로 한 가지 큰 차이가 있다면 바로 '환경'이라고 할 수 있을 듯합니다. 내 주변에 개발과 관련된 자원이 얼마나 풍부한가 하는 점입니다.전공자가 개발을 시작하고자 마음을 먹으면 주위에서 좋은 리소스를 쉽게 찾을 수 있습니다. 한편 비전공자는 개발 공부를 시작하려고 할 때 레퍼런스로 삼을만한 좋은 예가 없으니 망망대해에 홀로 떠있는 기분이 들 수밖에 없겠죠! 그렇다고 해서 반드시 컴퓨터 공학 전공에서부터 다시 시작하거나 고액의 학원에 다닐 필요는 없습니다. 먼저 개발과 관련된 인적, 물적 자원이 풍부한 곳으로 적극적으로 다가가보세요. 작은 환경의 변화가 큰 변화의 시작점이 될 수 있습니다.엘리스가 추천하는 방법!온라인 커뮤니티 활동하기 : 코딩과 관련된 페이스북 그룹에 가입하여 많은 정보를 접하고 질문도 하면서 활동해보세요. 나와 비슷한 상황인 사람을 만나 서로 도움을 주고받을 수도 있고, 내 롤모델이 될만한 훌륭한 개발자를 만나 공부의 동력이 될지도요!개발 동아리, 스터디 등에 참여하기★ 엘리스 코딩 클래스 활용하기 : PC로도, 모바일 앱으로도 언제 어디서든 프로그래밍을 위한 환경에 접속하세요! 엘리스에 로그인하는 것만으로 공부하기 위한 모든 리소스를 얻을 수 있을 뿐만 아니라 과목별 채팅방을 통해서 함께 공부하고 있는 수강생들, 과목 튜터와의 활발한 대화에 참여할 수 있습니다. STEP 2. 강력한 동기와 조력자 만들기하늘은 스스로 돕는 자를 돕는다컴퓨터 공학 전공자라고 하면 모두 다 개발을 잘할까요? 적어도 아주 조금은 더 잘할까요? 대답은 NO!아무리 많은 이론을 배웠다고 해도 직접 개발을 하지 않는다면 아무런 소용이 없겠지요. 이해도가 다르기 때문에 배움의 속도는 조금 다를 수도 있겠지만 이런 차이보다는 개인의 학습 의지와 동기가 얼마나 분명하냐가 더 중요합니다.막연하게 '개발자'라는 너무 먼 목표만 보고 달리는 것보다는 보다 가까이에 있고 달성하기 쉬운 분명한 목표를 단계별로 설정해보세요. 그리고 '즐거움'을 느낄 수 있는 수단을 찾아 목표 달성을 위한 집중력을 높이세요. 동시에 내가 어려움에 처하거나 헤매고 있을 때 도와줄 조력자가 있다면 금상첨화!Photo by Mimi Thian on Unsplash엘리스가 추천하는 방법!동기 부여를 위한 작은 목표 설정 : 지식 습득 및 학습과 관련된 목표로 그룹 스터디 참여, 부족한 부분의 프로그래밍 강의 완강, 책 한 권 떼기 등이 있을 수 있고, 더 적극적인 형태의 개발 경험을 위해 공모전, 경진 대회 등 기간과 보상이 정해져 있는 대외 활동 참가 및 수상도 좋은 목표가 될 수 있을 거예요.★ 엘리스 코딩 튜터 활용하기 : 엘리스에는 학습을 도와주는 튜터가 있습니다. 엘리스 튜터는 답을 알려주는 사람이 아니라 답을 찾는 법을 알려주는 길잡이입니다. 공부하다가 막힐 때, 길을 잃은 것 같을 때 엘리스 튜터를 멘토로 삼아 보세요! 구독 및 트랙 이용 시 담당 튜터가 배정되어 개인 채팅방을 통해 1:1 튜터링을 받을 수 있고, 클래스 수강 시 단체 채팅방을 통해 언제든 질문할 수 있습니다.STEP 3. 원하는 개발 분야 탐색해보기  콩 심은 데 콩 나고 팥 심은 데 팥 난다개발에는 아주 숱~한 다양한 분야가 있습니다. 그리고 그 분야에 따라 특성도, 익혀야 하는 언어와 기술도 천차만별인데요. 아래 몇 개의 개발 분야와 사용 언어 및 기술에 대해서 적었으니 참고해보세요. 그리고 이보다 더 다양한 개발의 세계를 탐색해보면서 흥미가 가는 분야가 있다면 구체적으로 검색하고 공부를 시작할 계획을 세워보세요.Photo by Victoriano Izquierdo on Unsplash잘 모르겠다 or 코알못이다파이썬은 분야를 막론하고 많은 분야에서 사용되며 익히기에 쉬워 처음 코딩을 시작하는 입문자에게 가장 적합한 언어 중 하나입니다. 개발 언어부터 접해보고 싶다면 파이썬 언어 학습에서 시작해보세요!웹 개발 '콩 심은 데 콩 나고~'라는 속담을 인용했지만, 사실 다양한 개발 영역의 많은 지식들이 서로 겹치는 부분도 있고, 어느 한 분야를 잘할 수 있을 때 다른 분야로 전향하거나 옮겨가는 일은 보다 수월할 수 있습니다. 개발의 시작을 보다 쉽게 하고 싶다면 웹 개발부터 접근해보세요. 공부할 수 있는 자원이 풍부하고 추후 다른 개발 분야로의 전향도 가능하기 때문이에요.프론트엔드프론트엔드 개발은 주로 웹 환경에서 사용자와 맞닿는 가시적인 부분을 개발하는 영역입니다. 사용자가 코드를 작성하지 않고도 컴퓨터에게 명령을 내리는 등의 의사소통을 그래픽적으로 쉽게 할 수 있도록 가시적으로 만들어주는 것이 바로 프론트엔드 개발자의 역할이라고 할 수 있는데요. 예를 들어 엘리스에 로그인하고 싶을 때 '로그인 버튼을 클릭'하여 쉽게 로그인할 수 있는 인터페이스도 프론트엔드에 해당합니다. * 익혀야 하는 기본기 : HTML, CSS, JavaScript* 좀 더 나아가서 : JavaScript의 프레임 워크인 React.js 또는 Vue.js 또는 Angular.js 백엔드/서버백엔드 개발은 웹 환경에서 보통 사용자에게는 보이지 않는 서버(컴퓨터) 단의 개발을 의미하며, 사용자가 웹 상에서 활동함으로 인해 쌓이는 데이터가 모이는 DB(Data Base)를 다루는 영역을 개발합니다.* 익혀야 하는 기본기데이터베이스에 대한 지식 : MariaDB, PostgreSQL, MongoDB 등. 서버 쪽의 언어- 금융, 제약 등 전통적인 대기업 : Java의 프레임 워크인 Spring을 많이 사용- 과거 많이 쓰이던 기술 : Php(학습 속도와 개발 속도가 빠르며 무료!)를 많이 사용- 요즘 떠오르는 기술 : Python 기반 프레임 워크인 Django 또는 Flask. JavaScript의 프레임 워크인 Node.js* 좀 더 나아가서 : 클라우드 컴퓨팅 기술 Amazon AWS 또는 Azure에 대한 지식데이터 사이언스 - 데이터 분석가21세기에 가장 각광받는 직업 중 하나로 떠오른 '데이터 사이언티스트'에 대해서 모두 다 한 번쯤은 들어보셨을 거예요. 데이터 사이언스 분야에도 아주 복잡하고 다양한 영역들이 존재하는데요. 통상 데이터 사이언스라고 하면 수학 및 통계에 대한 지식, 컴퓨터 공학에 대한 지식, 인공지능 및 머신러닝과 관련된 기술을 사용하게 됩니다. 너무 많아 보이나요? 아래에는 데이터 사이언스의 많은 영역 중에서도 '데이터 분석가'로서 꼭 알아야 하는 내용을 적었습니다.* 익혀야 하는 기본기수학적 지식 : 통계, 선형대수학분석을 위한 언어 : Python, R* 좀 더 나아가서 : 머신러닝 기술임베디드 개발계산기, 에어컨, 자동차 등의 기계가 일정 기능을 컴퓨터처럼 수행할 수 있도록 기계 내부의 하드웨어 시스템을 구축하는 것이 임베디드 개발입니다. 사물 인터넷(IoT, Internet of Things)이나 하드웨어 부품과 관련된 분야에 관심이 간다면 임베디드 개발에 대해서 좀 더 알아보세요!* 익혀야 하는 기본기임베디드 개발 언어- 가장 많이 사용하는 언어 : C언어 - 국내 전통적인 대기업 : Java- 수요가 많은 언어 : Python (임베디드 분야에서도 빠지지 않고 자주 사용하는 언어! 국내 채용 사이트에서 임베디드 관련 개발 스택으로 많이 요구.)* 좀 더 나아가서 : 무선 통신 기술에 대한 지식*(공통) 개발자라면 익히고 있어야 할 기본기 : Git을 사용한 버전 관리 방법엘리스가 추천하는 실습 기반 과목HTML/CSS | JavaScript | 모바일 웹 코딩Git과 Git 버전 관리 (6월 오픈 예정)Python 기초 I | Python 기초 IIC 언어 | C++Java 기초 및 심화인공지능/머신러닝 기초 | 프로그래밍 수학데이터 분석 | Numpy, Pandas | 크롤링 | Kaggle 문제R 기초 |  R 패키지 | R 데이터 분석STEP 4. 실습, 프로젝트 기반으로 공부하고 개발 경험 쌓기구슬이 서 말이어도 꿰어야 보배다책을 사고 인강을 결제해도 직접 만들어보면서 익히지 않으면 절대 내 것이 될 수 없는 것이 또 개발!처음 언어를 익히는 단계에서부터 실습 기반으로 직접 코딩하고 그 결과를 확인해보면서 학습하는 것이 중요해요! 필요한 공부를 실습 단위로 쪼개어 직접 구현해보면서 익히고, 좀 더 나아가서는 프로젝트 단위로 구현하면서 실전 기술을 습득해보세요. 또한 실무에서는 혼자 개발하는 것이 아니라 뭐든 '협업'해야 하기 때문에 혼자 하는 프로젝트 외에도 여러 사람들과 함께하는 그룹 프로젝트의 경험이 큰 도움이 될 거예요. 자기소개서, 포트폴리오, 면접 시에도 어떤 프로젝트에서 내가 맡은 부분은 어느 부분이었고 어떻게 주도적으로 이끌었는지가 관건이 될 수 있습니다.엘리스가 추천하는 방법!★ 온라인 코딩 실습으로 기본기 다지기 : 엘리스는 별도의 코딩 환경 세팅 없이 온라인에서 바로 코딩 문제를 풀고 내가 짠 코드의 결과를 확인할 수 있어서 실습 기반으로 학습하기에 탁월한 플랫폼입니다. :) KAIST, SKT, 삼성 SDS 등에서도 활용하는 검증된 플랫폼에서 코딩 실습으로 기본기를 다지세요!프로젝트 단위로 혼자서 만들어보기 : 프로그래밍 언어의 기본에 익숙해졌다면, 직접 A to Z를 구현하는 작은 프로젝트를 통해 실제 필요한 기술이 뭔지 파악해가며 실전 기술을 익혀보세요. 그룹 프로젝트에 참여해서 협업 경험을 통해 익히기 : 취업을 위해서 중요한 것 중 하나인 '협업'능력! 그룹 프로젝트에 참여하여 비단 개발 실력뿐만 아니라 실무에 필요한 다양한 역량 또한 길러보세요.STEP 5. 포트폴리오, 시험 준비하고 개발 직군에 지원하기시작이 반, 그 이상이다!아시겠지만 개발자가 되면 끝인 그런 일은 없겠죠. (어떤 직무에서도 마찬가지일 거예요.) 끊임없는 공부, 새로운 기술 연마, 리팩토링, 문서화, 코딩 공부 코딩 공부!그러니 완벽에서 시작해야 한다는 생각은 버리고 지금까지 최선을 다해온 결과물을 가지고서 개발 직군에 지원하세요. 실제 개발자로 일하게 되면 그 속에서 배우고 성장할 수 있는 자원이 훨씬 더 많아집니다!'자리가 사람을 만든다'라는 말이 괜한 말이 아니니, 더 큰 성장과 가능성이 있는 곳으로 가기 위한 준비와 지원을 주저 없이 해보시길 바라요!Photo by Green Chameleon on Unsplash엘리스가 추천하는 방법!나를 잘 보여줄 포트폴리오 만들기 : (사용한 언어 / 프레임 워크 / 앞의 것을 적용하여 프로젝트에서 내가 한 역할) 별로 정리해두고 내가 커밋한 코드와 함께 보여주기.   블로그 쓰기 : 거창한 것이 아니어도 좋으니 공부하면서 느꼈던 것, 새로 알게 된 지식들, 프로젝트하면서 고민했던 것들을 블로그로 정리해보세요. 내가 구현한 것들을 이미지를 통해서 가시적으로 보여줄 수 있다면 금상첨화!★ 엘리스에서 알고리즘 시험 준비하기 : 이미 많은 수강생 분들이 엘리스 알고리즘 과목을 통해서 코드를 발전시키고 알고리즘 시험 및 취업에 성공하고 있습니다. :) 대기업 입사를 준비하시는 분이라면 엘리스 알고리즘 과목들을 꼭 수강해보세요.이다음의 6번째 스텝은 무엇이 될까요? 아마도 1~5 스텝을 계속 반복해나가면서 익숙해지고, 다른 역할로 각각의 스텝에 참여하게 되는 일이 아닐까요.엘리스는 누구나 프로그래밍을 통해 원하는 일을 할 수 있도록 좋은 강의 콘텐츠와 서비스, 플랫폼으로 여러분의 다섯 스텝에 함께하고자 합니다. :) 막막한 초심자 분들에게 앞으로의 방향성을 그려보는 데에 조금이라도 도움이 되길 바라며 글을 발행합니다.그럼 엘리스에서 만나요! >> 엘리스 아카데미 바로가기* 이밖에 조언, 첨언, 질문 등을 댓글로 남겨주시면 이 글의 독자분들에게 큰 도움이 됩니다.
조회수 1562

스타트업은 어설프다

스타트업은 미국 실리콘밸리에서 생겨난 용어로, 혁신적 기술과 아이디어를 보유한 설립된 지 얼마 되지 않은 창업 기업을 의미한다. 위키피디아에 따르면, 대부분 신생이며 새로운 비즈니스 모델을 개발하거나 새로운 시장을 찾아내는데 주력하는 기업을 지칭한다고 한다.스타트업은 기존의 틀을 깨고 새로운 문화와 새로운 시장질서를 만들어 나간다는 측면에서 긍정적인 평가를 받고 있다. 반면, 수평적 문화의 자유로운 분위기가 동아리 같아 보인다는 우려 섞인 평가도 적지 않다. 즉, 타기업과 비교했을 때 조직운영 측면에서 좀 어설프다는 얘기다.실제 ‘어설프다’의 사전적 정의는 “하는 일이 몸에 익지 아니하여서 익숙하지 못하고 엉성하고 거친 데가 있다.”, “조직이나 지식, 행동 따위가 완전하게 짜이지 못하고 허술한 데가 있다.” 라고 한다. 전반적으로 서투르다는 것을 의미하는 단어다. 과연 진짜로 서투른 것일까?일단, 필자는 전반적으로 어설프다고 생각하는 이유가 궁금해졌다. 스타트업과 비슷한 업무 조건과 경영환경을 갖고 있는 곳이 많이 있음에도 불구하고, 유달리 스타트업 조직 문화에 대해서 왜 서툴어 보인다고 하는 것일까? 그래서 다른 사람들의 의견을 직접 들어 보기로 했다.매우 정교하게 시스템화 된 조직의 대명사 격인 모 대기업 근무자, 스타트업 경영/근무 경험자, 다양한 중소기업과 접촉이 빈번한 기자들과 통화를 통해 다양한 이야기를 들을 수 있었다. 부러움과 시기 어린 시선에서 나온 것이라는 의견부터 실제로 그렇다는 스타트업 퇴사자의 이야기까지……물론, 주변에서 수집된 의견이 무조건 옳다고 생각하지는 않는다. 하지만, 이들은 공통된 이유로 젊은 리더와 조직 구성원, 자유로운-때로는 제멋대로 보이는-조직 문화를 지목했다. 또한, 조직의 내실이 부족함을 가려보고자 외향적인 부분에만 집착하는 편이며, 이로 인해 전반적으로 허술한 느낌을 받는다고 한다.이미 알고 있겠지만, 필자는 스타트업에 근무하고 있다. 그것도 보수적인 금융산업 안에서 꽃을 피우고 있는 핀테크 스타트업에서 말이다. 스타트업을 바라보는 이 같은 시선에 대해 한편으로는 공감 가는 부분도 있다. 하지만, 9개월 간 스타트업에서 직접 몸으로 느낀 바에 대해, 조금은 다른 시각에서 얘기해보고자 한다.젊은 조직원,자유로움을 바탕으로 구성된 스타트업 조직의 짜임새는 느슨할 것이다?예전의 필자였다면 이 부분에 10,000% 동의했을 것이다. 하지만, 스타트업을 직접 경험한 현재 시점에서는 일반화 오류가 있을 수 있다는 생각이 든다. 이유는 어떤 젊은 조직원으로 구성되었는가에 따라 다를 수 있기 때문인데, ‘9시 1분은 9시가 아니다.’라는 모 스타트업의 명언처럼, 구성원과 그들이 지향하는 가치에 따라 해당 조직의 밀도는 달라질 수 있다고 생각한다. 이러한 측면에서 ‘모두가 그렇다’라는 식으로 일반화하기에는 무리가 있다는 얘기다.스타트업에서 일한다는 것은, 얼마나 치열할지 아무도 모르는 미지의 시장에 아무런 보호막 없이 뛰어든 것과 크게 다르지 않다. 스타트업의 업무환경은 어찌 보면 무모해 보일 수 있지만, 한 치 앞도 예상할 수 없는 당면과제와 매일매일 부딪혀가며, 능동적이고 열정적인 조직 문화 속에 자연스럽게 스며드는 과정이라고 설명할 수 있다. 적어도 필자는 그렇다고 생각한다.이러한 과정을 생각했을 때 스타트업이라는 조직이 느슨해 지기에는 쉽지 않다. 또한, 스타트업도 하나의 기업이다. 따라서 점점 치열해지고 급변하는 환경에서 마음가짐이 느슨한 구성원과 조직이 있다면, 그들은 이미 문을 닫았거나, 아마도 곧 닫을 운명에 놓이게 될 것이다.젊다면 전반적으로 서툴 것이란 시선에 대해, 스타트업이 새로운 문화와 시장질서를 만들어간다는 측면에서 생각해볼 필요가 있다. 만약, 시스템적으로 잘 짜인 조직에서 오랫동안 일해온 시니어들만으로 팀이 구성됐다면 좋은 결과를 얻을 수 있을까? 오히려 새로운 시장에 새로운 관점을 투사하지 못하고, 각자의 기존 방식에 매몰되어 적합한 대응을 하지 못하거나, 어느 정도 수준에서 대략적인 합의를 끌어내고 마무리하고자 하지 않았을까 생각된다.스타트업은 새로운 경영문화를 만들어 간다는 측면에서 업무 경력이나 나이의 차이보다는, 본인의 주장을 설득력 있게 설명하는 것, 이해할 수 없다면 공부를 해서라도 설득의 눈높이를 맞추려 끊임없이 노력하는 것 등의 마음가짐을 더 중요한 가치로 생각한다고 할 수 있다.또한, 스타트업은 겉으로 보이는 것과 달리 자유로움만 추구하지 않다. 오히려 자율과 책임을 기조로 각 팀에 맞는 문화를 발전시키고 정착시켜 나간다고 할 수 있다. 필자가 느낀 ‘자율과 책임’은 시공간적으로 자유로움은 갖되, 맡은 과업과 자기자신의 성장에 대해 책임감을 갖는 것이라고 설명할 수 있겠다.누가 어떤 각도에서 보느냐에 따라 ‘자유로움’과 ‘제멋대로 함’의 경계는 다를 수 있다. 게다가 조직에서 수직적으로 정의해 놓은 기준도 없기 때문에,‘자유로움’을 지향하기 위해 팀원 스스로 자율과 책임 사이의 균형을 유지하려는 노력을 필요로 한다. 자율을 얻기 위해서는 까다로운 조건이 따른다는 의미가 아니라, 실제 사규가 명시화 된 조직보다 팀원 개개인이 고려해야 할 것은 생각보다 많다는 얘기다. 시키는 대로만 하는 것보다, 스스로 일을 찾고 만들어해 나가는 것이 더 어렵게 생각되는 것과 같은 이치가 아닐까 생각된다.어니정리하면, 스타트업의 전반적인 환경을 고려했을 때, 조직원의 사고방식(mind-set)이 조직 짜임새와 밀도를 결정하는 것이지, 나이와 경험, 규칙과는 별개의 문제라고 생각할 필요가 있다. 나이와 같은 숫자로 젊음을 규정하거나, 관리와 통제를 조직의 최우선 가치로 생각하는 조직과 비교했을 때, 진보적이고 융합적 사고가 가능함을 젊음이라 정의하고, 자율과 책임이 갖는 가치를 중시하는 스타트업이 상대적으로 밀도가 높고 유연한 조직을 갖춰갈 확률이 높다고 생각된다.이와 같은 이유로 ‘젊은 리더와 조직원’으로 구성되고 자유로운 문화를 갖고 있는 스타트업 조직은 결코 어설프지 않다. 오히려 기성 조직은 시스템이라는 우산으로 인해, 조직의 밀도와 조직원의 역량이 높게 보이는 착시 현상을 일으키는 건 아닌지 다시 한번 생각해 볼 필요가 있다.스타트업은 조직의 내실이 부족함을 가려보고자 외향적인 부분에만 집착한다?남다른 조직 문화를 강조하거나 특이한 사무실 구조 등 보이는 것에만 집중하는 스타트업은 실질적인 비즈니스 측면에서는 알맹이가 없고 허술할 것이라는 의미다.사실, 내실이 부족할수록 외향적인 부분에 집착하는 것은 조직에 국한된 얘기는 아니다. 사람의 성향 중 일부이기도 하다. 남에게 주목받는 것을 좋아하는 사람이 남과 다르게 보이기 위해 취하는 특이한 행동들이 좋은 예가 될 수 있다. 사실 ‘끼’가 많은 사람들은 자신의 창의적 부산물과 아우라(aura)만으로 별다른 행동을 하지 않더라도 그들의 존재를 부각한다.조직도 마찬가지로 내실 없이 외부로 보이는 것에 집중하는 조직이 있는 것은 사실이다. 하지만, 자사의 문화를 일관된 메시지로 구체화해 나가는 것이 기존의 것과 다르게 보인다 하여, 외향적인 부분에 집중하고 내실 없다 얘기하긴 어렵다.여기서 ‘외향적 부분’은 기존 산업에서 볼 수 없었던 문화나 혜택, 독특해 보이는 업무공간구조 등을 의미한다고 할 수 있다. 이 모든 것은 스타트업이 지향하고자 하는 기업 문화와 맥을 같이하는데, 수평적 소통문화를 중시하는 팀의 파티션 없는 업무공간을 지향하는 것이 좋은 예가 될 수 있다.따라서, 투자유치를 위해 화려하지만 어울리지 않는 옷(인테리어)을 입고 있는 스타트업과, 자사의 기업문화를 일관되게 가시화하여 잘 정착시킨 곳은 구분할 필요가 있다. 후자의 경우는 자사 기업문화를 팀원들이 지속적으로 공감하고 체감하도록 노력하고 있다는 점에서, 화려함 만을 쫓는 이들과는 확연히 구분되는 성장세를 가져갈 수 있을 것이라 생각된다.위와 같이 생각하는 이유는, 스타트업의 문화는 일반기업의 사규와 달리 정의되거나 기록되는 게 아니라, 실질적인 체험을 통해 구성원들이 가슴으로 공감하고 체화돼 나가는 것이기 때문이다. 즉, 일관된 기업문화 유지를 위한 조직의 가시적 산출물이나 변화는, 외부 시선에서 남다르게만 보이려 한다 거나 낭비라 생각될 수 있다. 하지만, 이러한 것들이 구성원을 하나로 묶는 구심점 역할을 충실히 하고 있다면, 이는 내실이 부족하거나 조직운영이 서투르기 때문이 아니라, 내실을 보다 강화해 나가고 있는 과정이라 인지해야 할 것이다.지금까지 스타트업의 조직 구조에 대한 다양한 시선을 정리해 보았다. 사실, 전반적인 스타트업 조직 측면의 거시적 시선에서 얘기를 해봤지만, 곳곳에 우리 팀이 앉고 있는 고민과, 한 명의 팀원으로서 의견도 포함돼 있다.필자는 스타트업 나름의 조직 문화에 적응해 가고 있는 중이다. 아직까지는 단점보다는 장점이 많이 보이는 편으로, 대표적인 장점은 이런 것들이다. 누구나 자사 전반적인 업무에 참여가 가능하다는 점, 도전을 두려워할 필요가 없다는 점, 그리고 무엇보다 나 스스로의 발전을 도모할 수 있다는 점이다. 물론 어니스트펀드 팀을 만나기 전에도 자기개발을 위한 기회는 주어져 왔지만, 조금 다른 것이 있다면, 팀 구조적으로 문화적으로 그 노력의 시간을 허용해주고 인정해주는 분위기가 아닐까 생각된다.그리고 더 중요한 것은 자기개발에 대한 가치를 새로운 시선으로 볼 수 있게 되었다는 점이다. 자기개발을 그냥 하고 싶은 것, 단지 해야 하는 것에서 생각을 그치지 않고 보다 구체화하게 되었다는 의미다. 나름의 작은 도전이라고 할 수 있는데, 내가 부족한 점을 찾고 부족함을 어떤 방법으로 채워 나갔을 때 내가 무엇을 할 수 있는지, 팀에서 시너지를 낼 수 있는 부분은 무엇인지 고민을 하고 행동으로 실천하려 노력하게 된다. 물론 시간이 많아서 이러는 건 아니다.스타트업의 성장과정도 중소 단위의 기업이 성장하면서 겪는 과정과 크게 다르지 않다고 생각된다. 시간이 지남에 따라 필요에 의해 인력 규모도 점증적으로 늘게 되고, 소통의 효율성을 고려하게 되며, 팀 내 다양한 니즈에 대한 대응을 해 나가야 한다. 다른 점이 있다면, 규모 변화와 함께 기업 문화의 진화와 공유가 거듭된다는 점이다. 이런 과정을 통해 조직 규모와 무관하게 밀도 높은 조직을 만들어 갈 수 있다고 생각된다. 또한, 진화하는 기업문화의 공유 과정 속에서 변화하는 것과 지켜야 하는 것에 대한 가치 공유를 통해, 시스템으로 조직화된 기업과는 다른 차원의 얼개를 만들어 갈 수 있을 것이다.“스타트업은 어설프다” 라는 반어법적 표현으로 이 글을 시작했다. 결론적으로 이들은 전혀 서툴지 않다. 정확히 말하면 서툰 부분이 있더라도 빠르게 개선하고 재발 방지를 위한 노력을 유기적으로 해 나가는 기업문화를 갖고 있다.따라서, 생물학적으로 젊은 구성원이 많고 기존 기업구조와 약간 다른 차원의 자유가 허용된다는 점 때문에 전반적으로 어설플 것이라는 시선은 편견일 수 있음을 이야기하며 마무리하고자 한다.#어니스트펀드 #스타트업 #조직문화 #초기창업 #인사이트 #기업문화 #사내문화 #시스템
조회수 3780

포스트맨 200% 활용하기

편집자 주 MAC OS 기준으로 작성했으며, 본문 내용 중 Proxy(또는 프록시)는 영문으로 통일하여 표기함. OverviewPOSTMAN은 API 테스트에 큰 도움을 주는 도구입니다. 강력한데다가 무료입니다. 안 쓸 이유가 없군요. POSTMAN은 사용하는 방법도 쉽습니다. 그래서 이번 글에서는 최근에 나온 POSTMAN native 버전 패킷캡쳐 방법을 공유하겠습니다.native App은 기존 크롬 플러그인 버전보다 깔끔하고 버그도 많이 줄었습니다. 하지만 원래부터 강력했던 postman interceptor가 아직 지원하지 않습니다.1)공식 블로그 답변입니다.이미 interceptor를 사용하고 있어서 native App에 대한 니즈는 없었는데요. 한글 패킷 캡쳐를 시도하고 생각이 완전히 바뀌었습니다. intetceptor로 캡쳐된 패킷테스트 중이던 공지사항 제목이 이상하게 변경됐습니다.Postman Proxy를 써보자!어쩔 수 없이 native App 을 써야겠다고 생각했습니다. 가장 먼저 postman interceptor에 연결할 방법이 필요했는데 위의 공식 블로그 답변처럼 지금은 안 된다고 합니다. 구글링을 했더니 아래와 같은 글이 보였습니다.스마트폰이나, 기타 기기들의 패킷을 캡쳐할 수 있기 때문에 매력적인 방법입니다. 웹을 사용할 땐 브라우저를 Proxy 태우면 결과는 비슷하게 나올 겁니다.native Appnative App은 여기에서 다운로드 받을 수 있습니다. nativeApp을 켜면 오른쪽 위의 메뉴에 interceptor 아이콘은 없고 위성안테나 모양의 아이콘이 있습니다. 이것은 Proxy Server 기능입니다. Proxy Server를 postman native가 구동해주고 사용하는 방식이죠.Proxy 설정 화면이 뜨는 기본 포트는 5555번입니다. 따로 할 건 없고, 캡쳐 위치는 기본 값인 History로 지정합니다. 만약 다른 컬렉션에 내용을 모으고 싶다면 그곳으로 지정하세요. Connect 버튼을 클릭하면Proxy가 구동됩니다.요청 내용을 긁어 모을 때다!Proxy 세팅을 마쳤으니 브라우저를 연결해야겠죠? 일반적인 방법으로는 연결되지 않습니다. 여기선 크롬 확장 프로그램인 Proxy SwitchyOmega의 도움을 받았습니다. 다운로드는 여기를 클릭하세요.이것은 Proxy 스위칭 프로그램입니다. 도메인 단위로 설정이 가능하기 때문에 on 또는 off 따로 하지 않고도 사용이 가능할 겁니다. 플러그인 설치를 마쳤다면 설정을 유도합시다.Server에는 localhost, Port에는 5555를 적어주세요.캡쳐하고 싶은 사이트에 들어가 Direct 옵션을 켭니다.Proxy를 활성시킵니다.브랜디 주요 도메인인 brandi.co.kr을 클릭해 Proxy를 활성시키면 ***.brandi.co.kr 도메인은 Local Proxy를 타고 넘어가는데요. 이제 받기만 하면 됩니다. (빵끗)진짜 긁어 모아보자!캡쳐하려고 했던 사이트에 접속해 요청을 발생시킵니다.내부 테스트 서버postman native App 캡쳐 내용와우! 발생한 요청 내용이 캡쳐되어서 들어오기 시작합니다.속이 뻥!!!속을 썩이던 한글도 깔끔하게 캡쳐되었군요. 이제 행복한 테스트만 남았습니다. 즐거운 시간 되시길 바랍니다.소소하지만 알찬 팁1: 필터 기능proxy 설정도구에서 필터 기능을 사용하면 원하는 것만 캡쳐할 수 있습니다.소소하지만 알찬 팁2: 테스트 기능스마트폰의 native App은 위와 같이 설정하면 테스트할 수 있습니다. 이제 휴대폰 테스트 결과를 PC로 수집할 수 있을 겁니다. 앱 테스트에 대한 상세 설명은 여기를 클릭하세요.소소하지만 알찬 팁3: 안 쓸 때는..proxy를 안 쓸 때는 System Proxy를 클릭해 끄도록 합시다.1) interceptor는 브라우저 요청을 postman에서 패킷을 캡쳐해주는 도구다.참고Capturing HTTP requests글천보성 팀장 | R&D 개발2팀[email protected]브랜디, 오직 예쁜 옷만#브랜디 #개발자 #개발팀 #인사이트 #경험공유 #Postman
조회수 1141

커머스앱에 필요한 와이즈트래커 리포트 Top 3

구글 플레이 스토어에서 앱을 구분하는 카테고리만 20여가지 입니다. 게임과 SNS에 집중되었던 초기의 앱 시장은 갈수록 종류가 다양해지고 있으며, 그로 인해 발생하는 분석 니즈 또한 다양해지면서 정형화 된 분석도구 보단 앱 고유의 비즈니스를 수용할 수 있는 커스텀 분석도구에 대한 요구가 증가하고 있습니다.맞춤형 분석 서비스를 제공하는 와이즈트래커에서 ‘커머스앱’을 운영하는 마케터에게 꼭 필요한 와이즈트래커의 리포트 3가지를 소개하겠습니다.1. RETENTION (리텐션)웹 광고만큼 종류가 다양해진 모바일 광고 시장은 마케터에게 광고 운영의 다양성을 제시하지만, 그만큼 마케터는 효율적인 광고 집행을 위해 고민이 깊어지게 됩니다. 어떤 채널에 어떤 매체를 활용해야 ROI가 높을까? 일시적으로 설치만 증가하고 삭제하는 건 아닐까?와이즈트래커의 이러한 고민에 데이터로 답을 드립니다. Retention 리포트는 운영중인 광고 채널을 통해 설치된 사용자들이 이후에도 지속적인 사용을 하는지 또는 삭제를 하는지 알려드립니다. 커머스 앱의 경우 최초 앱 설치 시, 제공하는 할인쿠폰 등의 이점이 있기 때문에 설치 당일의 활동과 주문은 증가할 수 있지만 해당 목표를 달성한 뒤 삭제하는 경우도 많아 재사용률 및 삭제율 데이터를 통해 진성유저를 획득하는 데 효과적인 광고 채널이 무엇인지 알 수 있습니다.2. 전환 시나리오 기업은 성과를 얻기 위해 필요한 정보를 단계별로 수집하도록 정의하는데, 이를 전환시나리오라고 합니다. 회원가입 시, 필요한 정보 수집 등에 동의하고 가입 양식을 작성하고 인증 후 완료하는 단계를 거치는데, 이 과정에서 단계별 통과율/이탈률을 통해 고객 획득의 기회를 유실하는 문제되는 화면이 있는지 도출합니다.회원가입, 주문을 시도하는 사용자는 전환 목적이 높은 사용자임에도 특정 단계에서 이탈률이 높다는 것은 무언의 불편함을 제공하고 있다고 볼 수 있습니다. 전환 시나리오 리포트는 이러한 문제점을 도출하고 개선을 통해 전체 전환율을 높이는 데 기여합니다. 3. 구매 간격 분포커머스앱은 평일 취침 전, 숙박 앱은 목요일 저녁, 컨텐츠 앱은 평일 출퇴근 시간 등 사용자는 알게 모르게 앱 사용 주기를 갖고 있습니다. 사용자의 앱 사용패턴을 이해한다면, 보다 시기적절한 마케팅 전략을 수행할 수 있습니다. 와이즈트래커의 구매 간격 분포 리포트는 사용자들의 재구매 사이클을 파악합니다. 한 달 간격으로 꾸준한 구매를 하는 충성도 높은 고객에겐 구매 후 3주~4주 지난 시점에 메일, 푸시 등으로 구매 유도를 시도하며, 3~4개월의 구매 간격을 갖는 고객은 계절성 상품을 제시하는 등의 리마케팅 전략 수립으로 높은 마케팅 효율을 얻을 수 있습니다.와이즈트래커는 커머스앱 뿐만 아니라 모든 비즈니스에 최적화 된 분석환경을 제공합니다. 다음에는 여행 및 숙박 앱에 필요한 리포트에 대해 소개드리겠습니다.* WISETRACKER는 모바일 광고 성과 측정부터 In-app 이용자/컨텐츠 분석, 푸시메시지 최적화까지 지원하는 모바일 통합 분석/타겟팅 솔루션입니다. 와이즈트래커 솔루션의 무료체험을 원하실 경우 여기를 클릭해주세요.* WISETRACKER가 제공하는 무료 데이터 분석 컨설팅를 원하신다면 여기를 클릭해주세요.#와이즈트래커 #데이터분석 #마케터 #데이터사이언스 #서비스소개
조회수 13923

슬랙봇, 어디까지 만들어봤니?

스포카에서 다년간 일하면서 나에게는 몇 가지 별명이 생겼다. 그 중 하나는 봇맘(Bot mom)이다. 다른 스타트업에서처럼 으레 스포카에서도 주어지는 일만 하는게 아니라 작고 큰 문제를 스스로 발견하고 고민할 기회가 왕왕 생긴다. 나 또한 그런 기회가 있었고 그러던 중 (귀차니즘을 극복하기 위해라고 쓰고) 일을 더 효율적으로 하기 위해(라고 읽는다) 봇(Bot)에 재미를 느끼게 되었다. 그리고 하나 둘 봇으로 문제를 해결하게 되었고 어느새 사람들이 그 별명을 붙여주었다.봇(Bot)2014년 즈음부터 스포카는 슬랙(Slack)을 사내 메신저로 사용하기 시작했다. 슬랙 도입 초창기에는 기본적인 업무 커뮤니케이션과 아틀라시안 제품군(JIRA, Confluence 등), Github 등 사내 업무 툴의 슬랙 라우팅 기능으로만 슬랙을 사용하였다. 하지만 기본 기능 만으로는 실제 업무 환경에서 불편한 부분들이 더러 있어 슬랙봇 기능을 점차 활발히 사용하게 되었다. 팀마다 사용빈도는 다르지만 현재 많은 직원이 슬랙봇을 활용하고 있는데 지속적으로 업무 환경을 개선하는데 봇 기능이 상당한 기여를 하고 있다.인터넷 상에서 자동화된 작업(스크립트)를 실행하는 응용 소프트웨어봇(Bot)은 위와 같이 설명되고 있다. 예를 들어, 슬랙에서 사용자가 설정한 단어가 입력되거나 시간대가 되었을 때, 설정했던 이미지나 텍스트가 자동으로 나오는 기능이라고 생각하면 된다.슬랙에서 기본적으로 제공하는 슬랙 봇과 Reminder 기능만 잘 활용해도 누구나 업무환경 개선을 시도해볼 수 있다. 개인적으로 스포카의 봇 활용(hacking)1은 어떠한 다른 팀과 비교해도 뒤지지 않는다 생각한다. 실제 업무에 적용한 사례를 보면 봇이 무엇인지, 무엇을 할 수 있는지 아는데 도움이 될 것이다. 큰 도움이 되고 있었던 사례를 모아 소개하겠다.2Case1. 자연스럽게 직원들에게 세뇌시키기상황 및 의도서비스 내 용어가 팀별로 다르게 쓰이거나 여러가지로 불리고 있는 것들이 있었다. 혹은 서비스가 런칭/업데이트되면서 개편된 제품/기능이름들이 있었다. 이는 아는 사람끼리는 문제가 없지만 신규입사자나 아직 전달이 덜된 타팀과 소통할 때에는 오해가 생길 수 있었다. 이런 상황에서 UXD팀에서는 추가적으로 새로운 이름을 알리고 즉각 교정 효과를 볼 수도 있는 효율적인 방법을 고안하고자 했다.1-1. 도도 매틱이 도도 메시지로 서비스명이 변경되었음을 알리는 봇이다1-2. 개편된 제품/기능이름을 알릴 때 쓰였던 슬랙봇들. 시간이 지나면서 제 임무를 다하고 사라졌다.효과잘못된 단어를 사용할 때마다 봇이 알려주니 즉각 교정 효과가 나타났다. 사람마다 교육되는 기간을 달랐지만 점차 잘못된 단어를 사용하는 사람들이 사라졌고, 몇 개월 후에는 옛날의 잘못된 단어가 무엇인지 까먹은 사람도 있었다. 그리고 시간이 지나고 제 목표를 달성한 슬랙봇들을 삭제하기까지 이르렀다.Case2. 개발자님 도와주세요ㅠㅠ상황 및 의도디자이너가 코드를 다루다가 가끔 알 수 없는 함정에 빠질 때가 있다. 서버가 왜인지 켜지지 않는다거나 원인을 명확히 알 수 없는 에러가 뜬다거나 하는 경우다. 그런 때면 개발자에게 도움을 요청하는데, 개발자의 입장에서는 진행하고 있던 업무를 잠시 중단하고 해결할 수 있는 커맨드를 알려주거나 알아보는데 시간이 걸릴 수 있다. 이럴 때 봇이 취해야하는 커맨드를 알려준다.봇으로 개발자가 도와줘야 하는 단계가 하나 줄었다!효과개발자가 도움요청 메시지를 보기 전, 디자이너가 먼저 바로 응급처치를 해볼 수 있어 덜 답답했고 개발자도 하나의 예상원인을 제거할 수 있어 빠르게 상황을 파악할 수 있었다.Case3. 항상 똑같은 질문과 답변은 그만!상황 및 의도기억력의 한계와 투명한 업무 진행상황 공유를 위해 이슈 기록 등 문서 작성에 기를 가하는 문화가 있다보니 사내위키문서가 자연스레 방대해졌다. 찾고자 하는 문서가 어딨는지 못 찾아 메일함과 위키사이트를 헤매고 못 찾으면 항상 팀원들에게 물어보게 되어 괜히 미안한 상황이 있었다. 그냥 누군가 물어볼 때 딱!하고 찾아주었으면 했다.다른 경우로는, 매번 특정 팀에게 물어보는 것이 있다. 사이트 내 친절히 설명을 작성하고 공지해도 정보 접근이 귀찮거나 어려운 곳에 있으면 바로 담당자에게 물어서 바로 올바른 답변을 얻고자 하게 된다. 이런 경우, 같은 질문을 하는 사람은 수십 명인데 답변하는 사람은 한 두명여서 답변하는 담당자는 피로해질 수 있다.3-1. 우리팀 주간미팅 회의록이 어딨더라...?3-2. 디자인팀에게 요청할 때 뭘 알려드려야 하지?3-3. 이 지역 담당자가 누구더라?효과원하는 문서의 바로가기 링크를 바로 얻거나 정보를 얻을 수 있어 위키 메뉴를 헤매지 않고 시간을 절약할 수 있었다. 반복적으로 물어보게 되는 사항을 물어보고 싶을 때 불편한 마음을 전혀 가지지 않아도 되었다.Case4. 이번엔 누구에게 의견을 물어볼까?상황 및 의도현재 스포카 Visual design팀(이하 VD팀)은 5명이며 디자인이라면 모두 관심을 가지고 의견을 주는데 주저함이 없다. 어떤 이슈를 진행할 때 중간 점검의 느낌으로 가볍게 1~2명에게 리뷰를 받고 싶을 때가 있다. 항상 같은 사람에게만 리뷰를 부탁하는건 아닌지, 다양한 의견을 받아보고는 싶은데 누구에게 돌리는게 좋을까, 리뷰어 선정에 고민을 하게 될 때가 있다. 혹은 이슈진행자가 정해지지 않았을 때 마음의 짐을 덜고 책임자를 정하는 잔인한 방법이 되기도 한다.(ㅋㅋ) 5명인데 1명 혹은 2명을 고르고 싶으므로 or/and를 병기하여 모든 경우의 수를 정리하여 봇을 만들었다.VD리뷰랜덤효과누구에게 리뷰를 맡길지 고민하는 시간이 줄었다. 타팀에서도 VD팀 누군가에게 리뷰를 부탁하고 싶을 때 활용되기도 한다. 하지만 휴가 중이라던지 가끔 리뷰를 볼 수 없는 사람이 계속 무작위로 나올 때가 있어 두세번 봇을 불러야 하는 일이 있다.Case5. 다나와 대화형 봇 (심화)앞서 소개한 유형들이 너무 단순하다고 느껴진다면 키워드 봇을 연속적으로 활용해보는 방법도 있다. 채팅형 봇을 만든 듯한 착각을 느끼게 할 수 있다.사이즈 다나와 (혹자는 이 사례를 보고 슬랙해킹의 정점을 달려가는 것 아니냐 감탄하였다.)Case6. 잊는 법이 없는 나만의 비서!봇이 일상화되니 왠만한 정기적인 업무일정은 무조건 봇으로 만드는게 습관이 되었다. 예전에는 다른 봇제작 서비스를 통해 만들던 기능이었는데, 슬랙에 리마인드(Remind) 기능이 업데이트 되면서 더 편해졌다. 리마인드 기능 설명은 이쪽을 참고 바란다.6-1. 스프린트 시작 알림 봇6-2. 데일리미팅 알림 봇6-3. 주말의 시작을 알리는 봇6-4. 파트타이머 급여 처리를 잊지 않도록 도와주는 비서봇Case7. 슬랙 API를 활용한 데이터드리븐 봇 (고급)상황 및 의도지금까지 소개한 것들은 회사 내부에서 업무를 진행할 때 도움을 받거나 내부 커뮤니케이션을 위한 것들이었다. 이번에 소개할 것은 회사 서비스와 관련된 개발자 친화적인 방법이다. 서비스 내 DB와 슬랙에서 제공하는 API를 접목하여 별도의 트래킹(tracking)툴 없이 실제 사용자의 행동 중 주요하게 알아야 하는 것을 슬랙봇으로 만든 것들이다.7-1. 부정적립으로 의심되는 이벤트를 알려주는 봇7-2. 매장 잔여코인 알림과 코인결제완료를 알려주는 봇효과별도의 트래킹툴이나 웹사이트에 접속할 필요 없이 실시간 데이터를 파악할 수 있었다. 또한 서비스에 주요한 영향을 끼치는 사용자의 실제 행동을 팀원들과 함께 빠르게 공유할 수 있었다.봇을 만들 수 있는 다른 방법슬랙의 리마인드 기능을 쓰지 않더라도 봇을 부릴(?) 수 있는 방법이 있다. 슬랙봇은 슬랙을 사용해야하고 관리자 권한이 있어야 설정 가능하다. 그러므로 개인적으로 쓴다면 아래 2가지 서비스들을 추천한다. 조합할 수 있는 서비스가 다양하니 자동화할 수 있는 아이디어가 있다면 시너지가 엄청날 것이다. 업무 뿐만 아니라 일상생활에도 활용할 수 있다.Zapier글쓴이가 슬랙에 리마인드 기능이 없을 때 애용하던 서비스이다. 무료 플랜으로 사용하면 설정할 수 있는 봇 개수와 작동하는 횟수가 제한적이지만 소소하게 가끔 필요한 것을 쓰기에는 괜찮다. 업데이트가 계속 되고 있으니 시도해보시라.IFTTTIf this, then that. 컨셉별 봇 레시피가 잘 정리되어 있어 바로 일상생활에 적용해볼 아이디어를 제공한다. 슬랙 외에도 다양한 앱과 연동하여 사용할 수 있는 장점이 있다.슬랙봇과 스포칸업무에 유용한 봇을 위주로 소개했으나 스포카의 슬랙봇은 업무의 즐거움을 향상시키는 스포칸의 드립 아카이브 역할을 하기도 한다. 업무에 활용하는 것만큼 다양한 방식으로 소구되고 있는데, 드립의 특성상 시간이 지나면 그 재미가 무뎌지는 것들이 있어 굳이 소개하지는 않겠다. 또한, 그외 개발자분께서 직접 창의적인 봇용 앱을 만든 사례도 여러 개 있었는데 나중에 기회가 되어 소개를 해볼 수 있으면 좋겠다.계속 슬랙이 업데이트되면서 나 외에도 비IT직군도 슬랙봇을 잘 활용해나가고 있고, 다른 팀원들도 번뜩이는 위트를 겸하며 슬랙봇을 활용하고 계시다. 여러가지로 활용되고 있는 슬랙봇은 하나의 값진 유산이라고 생각되기까지 한다. 간단한 기능임에도 더 집중해야 할 곳에 집중할 수 있도록 도와주기도 하고, 동료 간의 유대감을 깊게 만들기도 하기 때문이다. 스포카 외에 슬랙을 사용하는 다른 회사/팀들도 각자 사용하고 계시는 툴을 재밌고 유용한 방식으로 활용하며 팀 커뮤니케이션에 보탬이 되었으면 좋겠다.시스템 혹은 프로그램의 문제를 고치기 위한 행위 ↩이 포스팅의 예시 중에는 1~2년 전 스포카의 슬랙에서 활발히 쓰였다가 현재는 잘 사용되지 않는 경우도 있다. ↩#스포카 #개발 #개발자 #사내문화 #조직문화 #인사이트 #꿀팁
조회수 3031

DevOps 팀을 위한 모니터링 팁

다음 중 몇 개나 해당하시나요?1~5명 규모의 작은 개발팀에서 일한다.DevOps 조직이다.우여곡절 끝에 서비스는 런칭했지만, 개발과 동시에 운영을 해야하는 상황이다.서버 인프라 지식이 별로 없다.무중단 서비스 운영 경험이 별로 없다.팀 내에 시스템 엔지니어(SE)와 데이터베이스 전문가(DBA)가 없다.하나라도 해당한다면 이 글이 도움이 될 지도 모릅니다.누구나 쉽고 빠르게 앱을 만들고 서비스를 런칭할 수 있는 시대가 되었지만 문제는 런칭 이후입니다. 런칭 이후에는 고객이 100명이라도 안정적인(High Availability) 서비스를 운영해야 하는 것이 백엔드 개발자의 임무이기 때문입니다.안정적인 서비스를 운영하기 위해서는 체계적인 모니터링 필수라고 하는데 그마저도 쉽지 않습니다. 가장 큰 문제는 (장애가 터지기 전까지) 무엇을 모니터링 해야 하는지조차 모른다는 것이고, 당장 개발해야할 것들이 산더미처럼 쌓여있는데 사람도 부족한 것도 문제입니다.그렇지만 누군가는 해야하는 일입니다. 리디북스 역시 모니터링이 전혀 없던 시절이 있었으나, 크고 작은 실패와 좌절을 겪으며 조금씩 경험을 쌓아가고 있습니다. 이번 글에서는 우리가 모니터링과 관련하여 고민해 온 내용들을 소개해볼까 합니다.어떻게 모니터링할 것인가시스템의 안정성을 높이기 위해 투입해야 하는 노력은 지수적으로 증가합니다. 아래 표에서 보듯이 SLA 를 99.999% 에서 99.9999% 로 높이려고 한다면 1년에 약 5분의 가용시간을 얻을 뿐이지만 이를 위해 수백시간 이상의 노력을 들여야 합니다.가용성연간 장애 시간주간 장애 시간99.995%26.28 분30.24 초99.999%5.26 분6.05 초99.9999%0.525 분0.6048 초완벽함을 추구하면 할 수록 얻을 수 있는 고객 만족은 미미한 것에 비해 이를 위한 개발자의 노력은 기하급수적으로 증가합니다. 따라서, 먼저 대응의 적정선을 찾고 효율적으로 움직이기 위한 계획을 세워야 합니다.리디북스에서는 해야할 일을 4가지로 분류하여 중요한 일부터 처리하는 아이젠하워 매트릭스에서 그 대응 원칙을 차용하였는데, 그 이유는 시사하는 바가 동일하기 때문이었습니다. 즉, 중요한 것은 대부분 긴급하지 않고, 긴급한 것은 대체로 중요하지 않다는 점입니다. 그리고 매트릭스의 두 축은 아래와 같습니다.얼마나 급한가?사무실의 무선 인터넷이 안된다면 서비스에 큰 문제는 아니지만, 당장 해결해야 하는 급한 일입니다. 반대로 백업 스크립트가 며칠째 동작하지 않아서 최근 데이터의 스냅샷이 없다면, 이는 당장 해결할 필요는 없겠지만 매우 중요한 일입니다.그리고 장애란, 단순히 “고장”을 의미하는 것이 아니라 서비스 이용에 지장이 없더라도 어떤 수치나 결과가 예상과 다른 상황을 의미해야 합니다. 예를 들어, 웹서버의 평균 CPU 사용률이 70%가 넘는다거나 네트워크 대역폭을 90% 이상 사용하는 상황은 정상이 아닙니다. 조금만 트래픽이 몰려도 문제가 발생할 가능성이 매우 높기 때문에 잠재적인 장애로 간주해야 합니다.우리는 급한 문제를 우선적으로 처리하는 경향이 있어서, 덜 급하지만 더 중요한 일을 놓치는 경우가 많습니다. 이를 피하려면 장애의 그 심각도에 따라서도 구분해야 합니다.얼마나 심각한가?심각도를 처음부터 너무 상세하게 구분할 필요는 없으며, 크게 서비스 이용에 치명적인 것과 그렇지 않은 것으로 나누어 생각하면 됩니다. “치명적”의 의미는 서비스마다 다를 수 있지만 대개 아래에 해당합니다.사업에 지장을 초래한다.고객을 잃는다.만약 웹페이지의 로딩 속도가 매우 느려서 나쁜 이미지를 준다면 이 역시 치명적일 수 있습니다. 실제로 아마존에서는 로딩 속도가 100ms 지연될 때마다 눈에 띄는 매출 하락이 발생했다는 테스트 결과가 있습니다. 따라서 속도에 대한 매트릭을 모니터링 지표에 추가하는 것은 좋은 선택입니다.이상을 토대로 장애 종류에 따른 대응 원칙을 정리하면 아래와 같습니다. 급함안급함심각함➀ 즉각 대응, 즉각 인지➁ 평소 보완, 항상 경계안심각함➂ 빨리 대응, 최소 대응➃ 대응하지 않기이 중에서 항상 의식하고 놓치지 말아야 하는 것은 안급하지만 잠재적으로 심각한 장애(➁)입니다. 그리고 모니터링은 한 번 시작하게 되면 관리를 위한 비용이 꾸준히 투입되어야 하기 때문에 사소한 문제(➂, ➃)를 굳이 파헤치는 것은 오히려 독이 될 수도 있습니다.모니터링 측면에서 본다면 발생중인 장애는 최대한 빨리 발견하는 것이 중요하며, 잠재적인 장애는 상태의 변화를 최대한 빨리 감지하는 것이 중요합니다. 예를 들어, 디스크의 여유공간은 완전히 바닥나기 전까지 어떠한 경고도 나타나지 않지만 부족한 상황이 발생하면 어떤 부작용이 생길지 예측할 수 없습니다.필수 모니터링 갖추기모니터링을 해야할 대상은 기술 스택과 코드 구현에 따라 달라지겠지만, 빼놓을 수 없는 것들이 몇 가지 있습니다. 리디북스에서는 서버의 프로비저닝과 동시에 아래 내용들을 함께 준비하고 있습니다.1. 리소스 및 시스템 모니터링각종 시스템 리소스 및 하드웨어 상태는 필수 모니터링 대상입니다. 모니터링 툴을 설치해보면 측정해주는 항목들이 너무 많아서 당황스러운 경험을 하게 되는데요. 그 중에서도 우리가 주목하고 있는 항목들은 아래와 같습니다.CPU UsageLoad AverageDisk UsageDisk Utilization (iowait, IOPS)Swap Memory Usage (사용시)Temperature (인프라 직접 구축시)RAID Status (인프라 직접 구축시)S.M.A.R.T Errors (인프라 직접 구축시)이 중 몇가지는 New Relic 에서 무료로 지원하므로 당장 여력이 없다면 이를 이용하는 것도 좋은 방법입니다.클라우드 환경이 아닌 데이터센터에서 인프라를 직접 구축하여 운영하고 있다면 좀 더 많은 노력이 필요합니다. 하드웨어적인 장애를 직접 신경써야 하기 때문입니다. 실제로 팬(fan)이 고장나거나 케이블이 환풍구를 막아서 서버의 온도가 비정상적으로 높아지다가 기기가 오동작하는 어처구니없는 상황도 발생합니다.Disk서버 환경에서 SSD 사용이 점점 대세가 되어가고 있는데, 최근 구글이 공개한 정보에 따르면 SSD에서 배드블럭이 발생하는 일은 매우 흔하며, 시간이 오래될 수록 안정성이 떨어진다고 합니다.따라서 디스크와 관련된 RAID나 S.M.A.R.T 오류는 가능한 빨리 대응해야 합니다. 특히 RAID 장비를 구성할 때에는 같은 공정에서 출하된 같은 벤더의 제품을 일괄적으로 구매해서 사용하기 때문에, 동일한 하드웨어 결함을 지니고 있거나 평균 수명도 비슷하므로 결코 안이하게 대응해서는 안됩니다.리디북스에서는 전자책 원본을 보관하는 스토리지에서 4개의 사본(replica) 중 3개가 연달아 깨지는 끔찍한 사고를 경험한 이후로, 디스크 오류는 1순위로 대응하고 있습니다. 참고로 스토리지 서버를 구축한지 3년째가 되는 해였고, 모두 S사의 제품이었습니다.iowait 은 CPU가 유휴(idle) 상태로 I/O를 대기하는 시간을 나타낸 수치입니다. 이를 통해 현재 시스템이 I/O 병목을 겪고 있는지 판단할 수 있기 때문에 중요합니다. 이 수치가 너무 높다면 블록 디바이스나 네트워크가 너무 느린 상황이거나 포화 상태일 수 있으므로, 더 높은 IOPS 장비로 업그레이드하거나 부하를 분산해야 합니다.단, CPU 성능에 영향을 받는 수치이므로 고성능 CPU를 사용할수록 평균 iowait이 높게 측정됩니다. (따라서 성능을 평가하기 위한 지표로는 IOPS도 함께 분석해야 합니다.)Load AverageLoad Average(평균 부하)는 마치 서버의 종합 성적표 같아서, 이 역시 주목할 필요가 있습니다. Load Average에 변동이 생긴다면 평소와는 다른 처리량(throughput)을 내고 있다는 뜻입니다. 요청량이 증가하여 수치가 올라갔다면 서버 증설과 튜닝에 대비해야 하지만, 그렇지 않다면 어딘가 병목이 발생하여 처리 효율이 낮아졌다는 신호입니다.아직 Load Average를 모니터링하고 있지 않다면 주요 서버군부터 아래 규칙을 참고하여 초기 기준치를 설정하기를 권장합니다. 물론 어디까지나 초기 설정 값이며, 실제 상황에 적합하지 않을 수 있습니다.Warning Level : 0.7 * number of cores Critical Level : 1.0 * number of cores간혹 커널 자체에 문제가 있거나, 커널 모드에서 예외가 발생하는 경우에는 syslogd 데몬이 남기는 로그를 파악해야 합니다. Papertrail, Splunk, Loggly 등의 서비스는 크리티컬 수준 이상의 syslog 에 대해 알림을 설정할 수 있을 뿐 아니라, 텍스트 형태로 남겨지는 모든 로그에 대한 관리를 쉽게 도와줍니다. 비록 유료지만 커널 모니터링 용으로만 사용한다면 비용이 많이 들지 않습니다.2. 응용프로그램 모니터링앱이나 서버에서 발생하는 크래시와 예외를 수집하는 도구 역시 장애 예방에 필수입니다. 해당 기능을 실시간으로 제공하는 다양한 서비스들이 존재하는데 많이 쓰이는 것으로는 Sentry, Rollbar, Airbrake, NewRelic APM 등이 있습니다. 대부분 5분만에 설정이 가능한데다 어느것을 선택하더라도 핵심 기능에는 부족함이 없습니다.단, 현재까지 가성비로는 Sentry가 제일 뛰어납니다. Python의 Flask와 Jinja의 개발자로 유명한 Armin Ronacher가 팀에 합류했기에 발전가능성 측면에서도 많은 기대가 됩니다.Sentry의 실시간 에러 대시보드3. 데이터베이스 모니터링팀에 DBA가 있나요? 모든 서버 개발자들이 인덱스와 스토리지 엔진의 특징에 대해 잘 이해하고, DB를 능숙하게 다루나요? 그것도 아니라면 개발자들이 작성한 모든 스키마와 쿼리에 대한 검증 과정을 거치고 있나요? 만약 그렇지 않다면 슬로우쿼리 모니터링은 필수입니다.우리가 서비스 초기에 겪은 문제의 대부분은 인덱스를 잘 다루지 못하거나 새로 도입한 ORM에 대한 이해도가 낮아서 발생한 문제였습니다. 그 중에서도 특정 쿼리가 너무 많은 I/O를 유발하던 것이 주된 원인이었으며, 작고 가벼운 쿼리가 너무 많이 호출되어 문제가 된 경우는 거의 없었습니다.잘못 설계된 스키마나 쿼리는 평소에는 드러나지 않다가 사용자가 몰리기 시작하면 큰 부하를 발생시켜서 기어이 서비스를 마비시키곤 합니다. 문제가 커지기 전에 그 조짐을 감지할 수는 없을까, 고민 끝에 우리가 시도한 방법은 “2초 이상 수행되는 쿼리에 대해서 로그를 남기고, 초당 3개 이상 로그가 발생할 경우 알림”을 받도록 하는 것이었습니다.MySQL에서는 아래 설정으로 로그를 활성화시킬 수 있습니다.[mysqld] long_query_time=2 # 2초 이상 수행되는 쿼리에 대해서 slow_query_log=1 # 로그를 남겨주세요 쿼리 분석에는 Percona의 pt-query-digest 를 추천합니다. VividCortext 혹은 MONyog 등의 솔루션은 시각적으로 화려하고 실제로도 강력한 기능을 갖추고 있지만, 유료라는 큰 단점이 있습니다.모니터링을 통해 알림을 받게 되면 문제가 더 커지기 전에 해당 기능을 수정하거나 중단시킬 기회가 생깁니다. 특히 새롭게 추가한 기능을 배포할 때 서비스가 불안해 질 수 있는데, 퍼포먼스 문제를 미리 발견하고 롤백을 서두를 수 있다는 것도 장점입니다.물론 가장 이상적인 상황은 n초 이상 수행되는 쿼리를 모두 없애는 것입니다. 하지만 현실은 튜닝을 포기하고 테이블을 풀스캔하도록 두는게 나은 선택일 수 있으며, OLAP/ETL 인프라가 별도로 구축되어 있지 않은 상황에서는 어쩔 수 없이 슬로우쿼리가 발생하게 됩니다. 우리가 초당 로그 갯수로 판단을 하게된 것도 이러한 이유 때문이었습니다.자동으로 슬로우 쿼리를 받아보면 문제해결에 도움이 됩니다.4. 배치 작업(scheduled task) 모니터링매일 백업 스크립트를 돌리고는 있는데, 백업이 정상적으로 완료가 되었는지는 어떻게 판단하면 될까요? 에러는 위에서 설명한 도구들로 확인이 가능하겠지만 스크립트가 수행도중 멈춰버렸거나, 서버의 전원이 꺼졌다면? 게다가 크론 작업(crontab)이 수십개가 넘어가면 이를 수동으로 체크하는 것도 일이므로, 반드시 자동화해야 합니다.이러한 상황에서 활용할 수 있는 유용한 도구가 PushMon 입니다. PushMon은 정해진 시간에 ping을 보내지 않으면 이메일이나 SMS로 알림을 주는 서비스로, 원리는 매우 단순하나 없어서는 안될 기능을 “무료”로 제공합니다.모니터링에 대응하기모니터링을 효율적으로 하기 위한, 즉 서비스 안정성을 높이기 위한 핵심 원칙은 “필요한 인원이 필요한 알림만 받는것”입니다.알림이 너무 많이 와서 음소거(Mute)를 하고 싶은 생각이 든다면 모니터링 체계에 문제가 있다는 신호입니다. 불필요하게 많은 경고는 안전 불감증을 낳을 뿐더러 정작 중요한 경고를 놓칠 확률을 높이기 때문입니다. 치명적인 알림은 모든 채널로 즉각 수신하고, 경고성 알림은 메일로 수신하되 정기 리포트나 메일함 자동분류 기능을 이용하여 중요한 정보를 놓치지 않는 습관이 중요합니다.불필요하게 많은 인원이 알림을 받는 상황도 문제입니다. 알림 수신자를 늘리면 모니터링의 퀄리티가 높아질 것이라고 생각하지만 절대 그렇지 않습니다. 오히려 방관자 효과가 발생하여 아무도 알림에 대응하지 않는 상황이 발생하게 됩니다. 따라서 알림이 발생했을 때에는 1차, 2차 담당자를 사전에 지정하고 운영할 필요가 있습니다.방관자 효과의 적절한 예팀에서 Slack을 사용한다면 기능 연동을 통해 실시간으로 이슈를 파악할 수 있고, 담당자 지정을 보다 쉽고 명확하게 할 수 있습니다. 특히, 별것 아닌 이모티콘(emoji) 만으로도 방관자 효과를 크게 줄일 수 있는데, 예를 들면 아래와 같습니다.👀 - 확인중 ✅ - 확인 완료 😱 - 확인은 하였으나 나는 해결을 못하겠음Sentry를 Slack에 연동한 모습또한, 모니터링 시스템에 대한 모니터링도 중요합니다. SaaS를 이용하는 경우에는 최악의 경우 해당 서비스의 점검기간에 대비할 수 없으며, 심지어는 점검중이라는 사실 조차 인지하지 못할 수 있습니다. 이에 대비하기 위해 리디북스에서는 Server Density로 모니터링을 모니터링하고 있습니다.맺음말장애를 얼마나 꼼꼼하게 예방하는지, 그리고 얼마나 즉각적으로 반응하는지는 팀 구성원의 실력으로 정해지는것이 아니라 팀의 문화와 원칙에 따라 정해집니다. 아직 팀에 뚜렷한 대응 원칙이 없다면 먼저 상황에 맞는 기준과 척도를 결정하고 공유해볼 것을 추천합니다.무엇보다 DevOps를 수행하는 것은 사람임을 잊지 말아야 합니다. 인간은 99.99% 가용성이나 24/7 을 보장하지 못하며, Uptime은 하루도 되지 않습니다. 최근 DevOps가 대세가 되어가지만 Ops에서의 인간적인 측면은 진지하게 고려되지 않고 있습니다. 이러한 환경을 개선하기 위한 HumanOps에 대한 소개와 함께 글을 마칩니다.     HumanOps 계명시스템을 만들고 고치는 것은 인간이다.인간은 지치고 스트레스를 받으며, 행복과 슬픔을 느낀다.시스템은 아직 감정이 없다. 오로지 SLA만 있다.인간은 스위치 온/오프 상태를 반복해야 한다.시스템을 운영하는 인간의 행복이 시스템의 안정성에 영향을 준다.빈번한 알림 == 인간의 피로최대한 자동화하고, 최후의 수단으로 인간에게 이관하라.문서화하고, 훈련하고, 시간을 아껴라.창피 주지 마라.인간의 문제는 시스템의 문제다.인간의 건강은 사업의 건강에 영향을 준다.인간 > 시스템#리디북스 #개발 #DevOPS #모니터링 #인사이트 #서버개발 #운영 #꿀팁

기업문화 엿볼 때, 더팀스

로그인

/