2017 한컴 MDS 컨퍼런스에서 카카오 스토리의 DevOps 사례를 발표했다.



Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례) from knight1128




후기 : 스토리에서 개발자로 일하면서 spec 환경을 미리 구축한 멀린에게 깊은 감사를 드리고 싶다. 
멀린이 없었더라면 내가 그렇게 목말라 했던 테스팅 환경 실제 구축 사례를 보지 못했을 것이다.
내가 한 일은 그냥 눈만 찍었을 뿐이고 좋은 사례 공유한 것만 있다. 

CI 환경은 무조건 필수이고 문화/속도에 따라 Devops를 집중시키는 방법도 좋을 것 같다. 


Posted by '김용환'
,


APM하면 apache, php, mysql이 떠오르듯이 


최근에 외국에서 SMACK 이라는 스택이 떠오르고 있는데, 이는 spark, mesos, akka, cassandra, kafka로 이루어진 스택을 의미한다. 


신선한 즐거움을 준 책이다.  특히 마지막 3장 사용 사례는 나에게는 충격이었다. 버전이 낮긴 하지만, 중요치 않았다.



Spark + Mesos + Cassandra의 알싸한 조합!!!






https://www.amazon.com/Fast-Processing-Systems-SMACK-Stack/dp/1786467208/


https://www.packtpub.com/big-data-and-business-intelligence/fast-data-processing-systems-smack-stack



## 2017년 12월 1일 추가 내용


http://www.acornpub.co.kr/book/data-processing-smackstack




역자 내용.

"서버 개발자의 입장에서는 웹서비스든, 앱서비스든 단순히 서버를 개발하는 것만으로는 서비스가 완성되지 않는다. 서비스 개발이 완성됐다 하더라도 고객문의(CS), 시스템 모니터링 등 데브옵스 업무 등이 남아 있다. 서비스 데이터 또는 로그를 백엔드에 전달해 모니터링뿐 아니라 사용자의 활동 지표로 활용하기도 하고, 머신 러닝을 활용해 추천 친구나 추천 시스템을 개발하기도 한다.

서비스 로그를 파일로 저장한 후 파일 데이터를 옮겨 빅데이터 저장소에 해당 서비스 로그를 저장하는 아키텍처를 데이터 파이프라인(data pipeline)이라고 한다. 데이터 파이프라인 처리 아키텍처에서는 멀티 테넌시(multi-tenancy), 확장, 대용량 처리, 실시간 데이터 처리를 지원해야 한다. 또한 저장된 빅데이터 저장소를 기반으로 실시간 분석 및 대용량 처리를 하고 지표, 모니터링, 추천 시스템으로 활용해서 사용자의 재방문률을 높일 수 있는 인사이트를 얻어야 한다.


처음에는 데이터 파이프라인과 데이터 분석이 무척 낯설 수 있다. 나도 처음부터 파이프라인과 데이터 분석을 시작한 것이 아니라서 많이 낯설었지만, 회사에서 업무를 진행하면서 조금씩 알아가고 있다. 외국에서는 데이터 파이프라인과 분석을 완벽히 해결할 수 있는 방법으로 하나의 오픈소스가 아닌 여러 오픈소스를 묶어(스택) 데이터 프로세싱을 처리하기 위한 다양한 시도를 하고 있다.


이런 흐름 속에서 2016년, 샌프란시스코 베이 에어리어(San Francisco Bay Area)의 데이터 엔지니어링 회의 및 컨퍼런스에서 "Spark, Mesos, Akka, Cassandra, Kafka Laying down the SMACK on your datapipelines"(링크: https://goo.gl/ny5Lwm, 발표 동영상: http://goo.gl/XVuxj8)라는 주제가 발표됐다. 이런 발표의 영향을 받아 관련 내용이 본 도서로 출판하게 됐다. 이 책에서는 데이터 인메모리(in-memory) 분산 컴퓨팅 기능이 포함된 스파크(Spark), 클러스터 OS(Cluster OS), 분산 시스템 관리, 스케줄링, 확장 기능이 포함된 메소스(Mesos), 스칼라 언어의 액터 모델의 구현인 아카(Akka), 영속성 계층인 noSQL 데이터베이스인 카산드라(Cassandra), 분산 스트리밍 플랫폼(메시지 브로커)인 카프카(Kafka)를 기반으로 데이터 파이프라인 아키텍처를 구성하는 SMACK 스택을 소개하고 있다.



이 책은 SMACK 스택을 전혀 모르는 개발자를 위한 책이다. 개별 컴포넌트를 쉽게 설명했고, 파이프라인 스택에 대한 아키텍처를 배우기에 적절하다. 특히 마지막 3장은 사례를 통해 SMACK 스택을 기반으로 하는 아키텍처를 배울 수 있다."




2017년 12월에 출간된다. - SMACK 스택을 이용한 빠른 데이터 처리 시스템










오랄리 페이지에서도 SMACK을 소개하면 좋으니 참고하면 좋을 듯 하다.


https://www.oreilly.com/ideas/the-smack-stack






Posted by '김용환'
,



Mastering Elasticsearch 5.x 는 일래스틱서치 5.x에 대한 설명을 담은 책이다. 


예제 단위로 하나씩 설명한 책은 아니고 일래스틱서치를 어느 정도 다룬 개발자나 운영자가 보면 재미있어할 만한 책인 듯 하다. 


(언제 나올라나..)



https://www.amazon.com/Mastering-Elasticsearch-5-x-Bharvi-Dixit/dp/1786460181





에이콘 출판사 기준 주간 9위까지 올라갔다. 





Posted by '김용환'
,



쉘 프로그래밍(Shell programing)에 관련된 책이지만 쉽지만 튼튼하게 설명된 책이다.


단순히 써보는 수준이 아니라 깊은 통찰력을 주는 책인듯 하다.


역시 내가 모르는 내용이 있었다!!! 끝없이 겸손하게 공부해야겠다는 생각이 들었다. 




https://www.amazon.com/Shell-Programming-Unix-Linux-Developers/dp/0134496000





Posted by '김용환'
,


Scala High Performance Programming 책은 scala로 주식 트레이드 시스템을 개발한 한 저자가 쓴 책이다.


책은 괜찮았고 작년에 번역은 완료했다. 


자바 개발자가 스칼라를 공부할 때 함께 보면 좋을 것 같다. 스칼라 필독서 중 하나라 생각한다. 



언제 번역본이 나올라나..



https://www.amazon.com/Scala-Performance-Programming-Vincent-Theron/dp/178646604X







Posted by '김용환'
,




CentOS Linux Server Cookbook 2번째 판을 CentOS 7 리눅스 서버 쿡북이라는 책으로 번역했고 2016년 12월에 발간된다. 어머니가 계신 병실에서 어머니를 응원하며 이 책을 번역했다. 


리눅스 관련 책을 늘 번역하고 싶은 마음이 있었는데, 다행히 번역과 출간까지 진행될 수 있어서 기뻤다. 

리눅스가 너무 어려웠지만, 리눅스를 공부하면서 리눅스를 좋아하게 된 것 같다. 


init.d과 xinetd의 매력을 빠진지 오래 되지 않았는데. 벌써 확 바뀐 CentOS 7.. 한국의 대부분의 회사는 안정성과 관리 때문에 Centos를 쓰게 되는데 CentOS 7의 내용은 반드시 공부할 만하다. 사실 상 CentOS 2에 해당될 정보로 인터페이스가 많이 바뀐 것 같아서, 이번에 책 번역을 진행하게 되었다. 


개발자에게도 좋은 책이고,(한 때는 CentOS의 여러 응용 프로그램을 담당했던 적이 있었기 때문에..) 시스템 운영자/시스템 엔지니어에게 좋은 책이 되지 않을까 싶다.

 


<원서>


https://www.amazon.com/CentOS-Linux-Server-Cookbook-Second/dp/1785887289



<번역>





http://www.yes24.com/24/goods/33674464?scode=032&OzSrank=10


http://acornpub.co.kr/book/centos7



번역자의 책 설명

센트OS 6보다 훨씬 좋아진 센트OS 7의 설치 및 기본 설정 방법, 소프트웨어 패키지 관리 방법을 소개한다. 또한 파일 시스템과 서버에 안전하게 접근하도록 관리하는 방법과 파일, 프린터, 네트워크의 DHCP와 같은 다양한 자원 공유 시스템 설정 방법을 설명한다. FTP 서비스, 자체 DNS 서버 구축, 데이터베이스 서버 실행 방법, 메일과 웹 서비스를 제공하는 기능 등의 고급 주제를 다룬다. 마지막으로 SELinux를 상세하게 설명하며, 도커(Docker) 운영 시스템 가상화로 작업하는 방법과 나기오스(Nagios)로 IT 인프라 장비를 모니터링하는 방법을 설명한다.


번역자


코드를 좋아하는 개발자지만, 리눅스 운영체제도 좋아한다. 리눅스 커널 프로그래밍을 하면서 리눅스와 조금씩 친해지기 시작했는데, 코드로는 어렵게 진행되지만 리눅스에서는 쉽게 할 수 있는 작업들을 알게 되면서 특히 리눅스를 좋아하게 됐다. 다양한 리눅스 배포판(레드햇 리눅스, 센트OS, 우분투, 페도라 리눅스 배포판)을 사용할 기회를 얻으면서 다양한 지식을 쌓게 됐다.
네이버에서 개발자로 일하면서 1,000여 대의 센트OS 서버 시스템을 관리했고, 리눅스 커널 /tcpdump/ 자바 분석 툴을 통해 애플리케이션의 성능 문제와 장애를 해결했으며, 아파치 서버/메일 서버/배포 서버/ 모니터링 서버/캐시 서버/Mysql DB 등의 구축 및 운영 업무를 해왔다. 이런 경험을 통해 안정적인 센트OS를 기반으로 다양한 기술들을 배우고 적용할 수 있었다.
하지만 센트OS 7에서 새로운 도전에 직면하게 됐다. 센트OS 7은 기존과는 달라진 명령어를 갖고 있다. 새로운 설치자, 시스템 관리 서비스 기능, 방화벽 데몬, 리눅스 컨네이너 기능(도커(docker) 지원), SELinux, 방화벽 관리 시스템, 새로운 파일 시스템이 추가됐는데, 생각보다 배우고 익혀야 할 내용이 많았다. 그때 마침 이 책을 보게 됐고, 센트OS 7에 대한 많은 지식을 얻을 수 있었다. 기존에 센트OS 6을 잘 아는 개발자/시스템 운영자뿐 아니라, 센트OS 7을 처음 접하는 개발자/시스템 운영자에게 이 책은 센트 OS 7의 길라잡이가 될 것이다.
 



Posted by '김용환'
,


 


이 시대는 Hive에서 Spark/Pheonix(http://phoenix.apache.org/)이나,


Spark / Spark SQL / Spark DataFrame으로  넘어가고 있다...


개인적으로 Hive에 대해서 많이 알았던 것 같다. Hive Query를 쓰면서도 많이 몰랐던 기능을 알게 되었다. 


그래도 Hive는 정말 편하고 좋다....!!!! 아직도 더 알고 싶고 더 깊이 알고 싶다!!



(2017.2 추가)


출판사에서 번역을 진행하기로 했다. 다시 책을 보면서 Hive Query를 공부해야지. 책이 나온다는 것은 기쁘다..






https://www.amazon.com/Apache-Hive-Essentials-Dayong-Du/dp/1783558571






번역된 책


http://www.yes24.com/24/goods/36111470?scode=032





Posted by '김용환'
,




나는 Redis에 대해 많이 모르는 것 같다. 공부 많이 해야 할 것 같다.


이 책은 나처럼 Redis와 Redis 3를 좀 더 알고 싶은 사람들에게 추천한다. 몰랐던 내용을 아는 기쁨.







http://www.acornpub.co.kr/book/redis-essentials

http://www.yes24.com/24/goods/30503660




역자 소개

프로그래밍을 시작하면서 캐시 솔루션에 대해 많은 고민을 했다. 캐시는 사용할 데이터를 웹 애플리케이션 내부 메모리에 저장하면 성능을 개선할 수 있지만, 데이터 양이 너무 많다면 메모리 이슈가 발생하기 때문이다. 특히 자바의 경우는 JVM 튜닝이 필수적이었다. 웹서비스가 성장하면서 캐시 솔루션이 많이 등장하기 시작했다. 때마침 LiveJournal에서 개발되고 페이스북에서 사용한 멤캐시드(memcached)와 함께 레디스를 캐시 솔루션으로 사용할 기회가 생겼고, 캐시 솔루션에 대한 다양하게 활용해 볼 수 있었다. 현재 웹 애플리케이션은 캐시 아키텍처 덕분에 간결해지고 성능이 더욱 좋아지고 있다. 여러 프로젝트에서 레디스를 사용해봤지만, 이 책을 통해 레디스에 대한 충분히 이해함으로써 시야를 많이 넓힐 수 있었다. 기존에 사용하던 레디스 타입뿐 아니라 다양한 타입을 제대로 이해하고 활용할 수 있게 됐고, 트웸프록시(Twemproxy), 레디스 센티널(Redis Sentinel), 레디스 클러스터(Redis Cluster)의 장점과 단점을 더욱 세밀하게 알 수 있었다.
이 책을 통해 레디스 클러스터를 실전 배치에서 사용하게 됐다.
레디스를 처음 접하는 분, 레디스를 속속들이 알고 싶은 분, 레디스 3에 대해 제대로 알고 싶은 분, 다양한 언어의 레디스 클라이언트를 알고 싶은 분들에게 이 책을 추천한다.


(오타 수정)





==== 2017.7.25 덧 붙임.



현재 에이콘 출판사 홈페이지에서 Redis 핵심정리 책은

2017년 초반에 15위정도 하다가  주간 베스트 5위까지 올라갔다. 


꼭 이 책을 번역을 해야 한다고 주장했었는데, 출판 결과가 잘 나와서 기쁘다..






Posted by '김용환'
,


내 나이 40 살에 2 번째 번역 책을 내놓았다.


책을 번역하겠다고 말하기 전에, 공부 삼아서 책을 번역한 후, 출판사에 문을 두드렸다. 다행히 좋은 기회를 얻었고 좋은 책의 번역자가 될 수 있었다. 


책에 오타가 많긴 했지만, 

회사에서 elasticsearch를 사용하면서 겪은 어려움에 비하면 아무 것도 아니었다. 


elasticsearch는 기존 nosql과 다른 검색용 nosql이었고, 안정적이고, 훌륭한 서버인 것 같고, elasticsearch 소스는 매우 깔끔한 편이라서 보기도 좋았다. 생동력 있는 nosql이라 앞으로 큰 기대가 된다. 


이 책은 너무 elasticsearch api에 대한 깊은 내용보다는 전체적인 개발/운영 관점으로 설명한 책이라서 내게 딱 맞는 책이었다. 



---------------








http://www.acornpub.co.kr/book/elasticsearch-2e


http://www.yes24.com/24/goods/24301881?scode=032&OzSrank=1






요즘 출시되는 애플리케이션의 주요 요구사항 중 하나는 검색 기능이다. 이런 검색 요구사항을 만족시키는 많은 솔루션을 상업용 제품이나 오픈소스 세계에서 찾을 수 있다. 검색에 많이 쓰이는 라이브러리 중 하나는 아파치 루씬(Apache Lucene)이다. 아파치 솔라(Apache Solr), 인덱스탱크(Indextank), 일래스틱서치 같은 많은 검색 솔루션은 루씬 라이브러리를 기반으로 만들어졌다.

일래스틱서치는 클라우드와 분산 컴퓨팅에 사용할 수 있게 개발됐다. Compass(http://www.compass-project.org) 개발자로 유명한 셰이 바논(Shay Banon)은 일래스틱서치의 주요 개발자며, 2010년 3월에 일래스틱서치의 첫 번째 버전을 배포했다.

일래스틱서치의 주목적은 검색 엔진이 되는 것이며, 일래스틱서치를 데이터 저장소로 사용할 수 있고, 집계를 사용해 분석 엔진으로 활용할 수 있다.

일래스틱서치에는 JSON/REST 기능, 맵(Map)/리듀스(Reduce) 접근 방식의 네이티브 분산 처리 기능, 쉬운 설치 기능, 플러그인 확장 기능 같은 획기적인 기능이 많다. 언급한 기능의 상세한 정보와 그 밖의 일래스틱서치 기능을 이 책에서 살펴볼 것이다.

일래스틱서치 이전에는 아파치 솔라가 일래스틱서치의 일부 기능을 제공했었다. 그러나 아파치 솔라는 클라우드에서 동작하도록 설계되지 않았으며, JSON/REST API는 지원하지 않았다. 최근 몇 년 동안, 2012년에 SlorCloud가 출시되면서 이 상황이 조금 변했다. 일래스틱서치와 아파치 솔라 제품을 완벽히 비교하고 싶은 사용자는 라팔 쿡(Rafał Kuć)이 쓴 글(http://blog.sematext.com/2012/08/23/solr-vs-elasticsearch-part-1-overview/)을 읽으면 도움이 될 것이다.

일래스틱서치는 계속 진화하는 제품이며, 일래스틱서치 회사(일래스틱서치의 상업성 지원을 제공하는 셰이 바논이 설립한 회사) 는 새로운 기능을 가진 일래스틱서치를 배포하고, 일래스틱서치 사용자는 플러그인(깃허브GitHub에서 주로 내려받을 수 있다)을 배포한다.

2012년에 설립된 일래스틱서치 회사는 총 1억 4백만 불의 자금을 조달했다. 일래스틱서치 회사의 공동 창업자이자 CEO인 스티븐 슈르만(Steven Schuurman)이 일래스틱서치의 성공을 다음과 같이 잘 표현하고 있다.

"이렇게 짧은 시간에 투자자로부터 이런 지원을 받았다는 것이 믿기지 않습니다. 이것은 우리가 하고 있는 일의 중요성을 보여줍니다. 비즈니스는 사람과 기계가 만든 데이터를 계속해서 생성하고 있으며, 비즈니스가 새로운 데이터 중심의 프로젝트에서 시작하든, 현재 비즈니스에서 하둡 또는 그 밖의 빅 데이터 투자를 활용해 시도하든, 이 자산에서 가치를 얻을 수 있는 비즈니스가 전략적 목표가 됩니다."

일래스틱서치는 검색 제품 중 괄목할 만한 실적을 내고 있으며, 5천만 개의 장소를 색인하는 포스퀘어(Foursquare)와 온라인 음악 배포 플랫폼인 SoundCloud, StumbleUpon과 천 4백만 회원을 가진 기업 소셜 네트워크 Xing 같은 고객에게 도움을 주고 있다. 또한 20테라바이트 데이터와 13억 개의 파일을 검색하는 깃허브, 로글리(Loggly)에도 도움을 주고 있다. 로글리 로그파일을 빨리 분석하기 위해, 데이터 클러스터를 색인할 수 있는 키/값 저장소로 일래스틱서치를 사용한다.

나는 일래스틱서치야말로 시장에서 나온 검색 솔루션 중 가장 강력하고, 사용하기 쉽다고 생각한다. 이 책에서 제시한 많은 예제를 통해 독자가 일래스틱서치를 관리할 수 있는 지식, 열정, 모범 사례를 전달하고자 노력했다.

Posted by '김용환'
,



deview 2014 발표 후..


http://deview.kr/2014/session?seq=15



페이지가 그리 많지 않아 번역 진행이 쉽지 않았지만, 결국 부사장님이 허락해주셨다. 

내 나이 39살 ㅎㅎ


-----------


첫 번째 번역 책 : Ansible 설정 관리 





http://www.acornpub.co.kr/book/ansible


http://www.yes24.com/24/goods/17833244?scode=032&OzSrank=1






저는 네이버에서 백엔드 플랫폼을 개발하고 운영하는 업무를 했습니다. 그중 빌드/배포 서버 개발을 담당하면서 많은 것을 배우고 경험할 수 있었습니다. 자동화에 대한 고민들과 개발자들이 좀 더 효과적으로(편하게) 업무할 수 있는 방법에 대해 특히 많이 생각했던 것 같습니다. 현재 데브옵스(Devops)가 하는 비슷한 고민들이기도 합니다.
일반적인 웹/모바일 서비스 회사의 서버는 리눅스를 사용합니다. 리눅스가 설치된 서버에 들어가 라이브러리나 데이터베이스를 설치하고, 설정을 배포합니다. 운영하다가 하드웨어 문제(하드디스크, 전원 장비, CPU, 메모리)나 소프트웨어 이슈(리눅스 배포판 업그레이드)가 발생했을 때, 다시 설치하고 설정을 배포하려면 기존과 동일하게 작업해야 합니다. 자주 하는 작업은 아니지만, 매우 중요한 일입니다. 이런 작업이 자동화될 수 있도록 지원하는 것이 바로 배포 툴입니다. 과거에는 각 회사에서 담당 개발자의 취향에 맞게 개발되고 운영했지만, 현재 배포 툴이 점차 오픈소스로 바뀌면서 (각 상황에 맞게 최적화되어) 널리 사용되고 있습니다. 퍼펫(Puppet), 셰프(Chef), 앤시블(Ansible)이 대표적인 배포 툴입니다.
앤시블은 애플리케이션과 라이브러리를 쉽게 배포할 수 있는 자동화 툴입니다. 배포나 업데이트를 하기 위해 매번 서버에 접속해서 스크립트를 배포할 필요가 없습니다. 배포 스크립트 작성 없이 사용자 정의 설정만으로 에이전트(Agent) 없는 리모트 환경에서 SSH를 이용해 서버에 접근해서 작업할 수 있습니다.
현재 앤시블은 다른 툴과 달리 가장 빠른 추세로 확산되고 있습니다. 이렇게 단기간에 많이 사용되는 이유와 강점에 대한 제 생각은 다음과 같습니다.

■ 사용하기 쉽고, 간단해서 빠른 습득과 적용이 가능합니다. 이미 알려진 표준을 활용해 쉽게 사용할 수 있고, 유지보수 및 인수인계가 간단하고 쉽습니다.
■ 멀티 플랫폼을 지원합니다. 맥(Mac)/리눅스(Linux)/윈도우(Window)를 지원하며, 테스트 환경(Vagrant)에서도 사용할 수 있습니다.
■ 에이전트(Agent) 기반이 아닌 SSH 기반으로 스크립트 배포 없이 관리 서버에서 실행할 수 있습니다.
■ 멱등성(idempotence)(여러 번 적용하더라도 결과는 동일함)이 보장되는 모듈을 지원합니다.
■ 순차 실행뿐 아니라 병렬 실행을 지원해 좀 더 빠른 처리가 가능합니다.
■ 앞으로도 개발 가능성이 높고 개발자의 참여도가 높은 오픈소스 도구입니다. 앤시블 내부는 JSON으로 통신하며, 파이썬(Python)뿐 아니라 다른 언어에서도 호환되어 개발할 수 있습니다.

레드햇, 버라이즌, 애틀라시안, 트위터, 베리사인, EA, 에버노트, 나사(NASA), 고프로, 랙스페이스, 주니퍼 등 유수의 IT 기업들이 도입했으며, 1,000명이 넘는 개발자들이 앤시블 오픈소스에 공헌하고 있습니다.
국내에서 처음으로 앤시블 관련 서적을 번역하고 알릴 수 있어 영광입니다. 모쪼록 이 책이 앤시블을 활용하고자 하는 분들께 시원한 해결책을 제시하고, 하시는 업무에 실질적인 도움이 되기를 바랍니다.

Posted by '김용환'
,