알라딘

헤더배너
상품평점 help

분류국내저자 > 번역

이름:박재호

최근작
2022년 8월 <클린 코드, 이제는 파이썬이다>

박재호

포항공과대학교 컴퓨터공학과 학부와 대학원을 졸업했다. 임베디드 시스템 개발, 기업용 백업 소프트웨어 개발, 방송국 콘텐츠 수신제한 시스템 개발과 운영 지원, 클라우드에서 동작하는 서비스 개발에 이르기까지 다양한 실무 경험을 토대로 고성능 고가용성 시스템을 설계하고 있다. 코스닥 상장사인 엑셈 CTO로 인공지능과 스마트팩토리 관련 개발을 총괄했으며, 클라우드용 모니터링 시스템을 위한 아키텍처 설계도 주도했다. 『마이크로서비스 도입, 이렇게 한다』(책만, 2021), 『Clean Code 클린 코드』(인사이트, 2013), 『피플웨어』(인사이트, 2014) 번역, 『엘라스틱 스택 개발부터 운영까지』(책만, 2021) 감수 등 번역·감수하거나 집필한 책이 40여 권이 넘는다.
각종 기술 소식을 다루는 블로그 ‘컴퓨터 vs 책’(https://jhrogue.blogspot.com/)과 개발자를 위한 유튜브 ‘채널 박재호’(https://www.youtube.com/c/박재호dev)를 운영하며, 개발자들을 위한 각종 교육과 세미나도 지속적으로 진행하고 있다.  

대표작
모두보기
저자의 말

<마이크로서비스 도입, 이렇게 한다> - 2021년 1월  더보기

쿠버네티스, 클라우드 네이티브, 마이크로서비스 아키텍처 등 최근 클라우드 생태계를 중심으로 개발과 운영을 포괄하는 첨단 기술에 대한 이야기가 여기저기서 들리고 있다. 물론, 간단한 개인 블로그 서비스를 만드는 학습 과정에서 복잡한 개발 기법을 적용해보기란 사실상 불가능하고, 분초를 다투는 MVP 서비스를 만드는 경우에는 그 무엇보다 비즈니스를 달성하기 위한 동작이 먼저이므로 확장 가능성과 안정성을 극대화하기 위한 복잡한 운영 기술을 처음부터 고려할 필요는 없어 보인다. 하지만 복잡하고 낯설다는 이유만으로 신기술에 대한 무조건적인 반대 입장을 펼치기 앞서, 이런 신기술들이 부지불식간에 우리의 일상에 스며들어 이미 어느 정도 자리를 잡고 있는지 확인할 필요가 있다. 여러 첨단 기술 중에서도 상위에 위치한 아키텍처 관점에서는 아무래도 마이크로서비스를 빼놓을 수가 없다. 마이크로서비스 이야기가 나올 때마다 단골 손님으로 등장하는 넷플릭스와 아마존을 제외하고 생각해봐도 월마트, 베스트바이, 쿠팡과 같은 대형 소매업종은 물론이고 우버나 배달의민족 같은 공유 플랫폼 서비스업종, 그리고 뱅크샐러드나 스포티파이 같은 일반 고객을 대상으로 하는 서비스업종에 이르기까지, 어느 정도 업계에서 자리를 잡은 회사라면 마이크로서비스를 직간접으로 고려하고 있거나 이미 도입했다. 마이크로서비스는 개발이나 운영 관점에서 복잡성을 떨어뜨리는 장점을 제공할 뿐만 아니라, 레거시를 클라우드로 전환하는 관점에서도 마이그레이션을 원활하게 만드는 특성이 있기 때문이다. 여기까지는 너무 뻔한 이야기처럼 들릴 것이다. 하지만, 최근에 의외의 곳에서 마이크로서비스를 적용한 사례를 목격했다. 기술적으로 상당히 앞서 있으면서도 보수적인 입장을 취하는 군사 부문에서 마이크로서비스를 채택했다면 믿어지겠는가? 그것도 최첨단 스텔스 폭격기에 말이다. 미 국방성 DSOP 프로그램 홈페이지에 들어가면 잘 정리된 아키텍처 다이어그램이 하나 등장한다(https://software.af.mil/dsop/ 참고). 이 다이어그램이 뜻하는 바는 명징하다. 군사용 소프트웨어와 관련해 애플리케이션 수명주기를 주에서 일 단위로, 개발 과정을 데브옵스로, 애플리케이션 아키텍처를 마이크로서비스로, 배포와 패키징을 컨테이너(도커와 쿠버네티스)로, 인프라스트럭처를 클라우드로 바꾸는 것이다. 2025년에 초기 배치될 B-21 스텔스 폭격기에는 폭격뿐만 아니라 전투 지휘와 정보 수집까지 포괄하는 다목적 임무가 부여될 예정이며, 이에 대응하기 위해 기능별로 서비스를 격리하고 필요에 따라 적재적소에 배포하는 마이크로서비스 아키텍처를 도입했다고 한다(https://www.theregister.com/2020/06/03/kubernetes_b_21_bomber/). 물론 실제 운영 과정에서 쿠버네티스를 사용한 컨테이너 관리는 기본이다. 군사 부문에서 할 수 있다면 민간 부문에서 하지 못할 이유가 있을까? 이렇듯 마이크로서비스는 급변하는 세계에 대응하기 위한 아키텍처로 주목을 받고 있다. 하지만 뭔가 단순하고 간단할 것 같은 이름에 속아서는 안 된다. 마이크로서비스의 '마이크로'가 실제로는 엄청난 엔지니어링과 도메인 지식을 요구한다는 사실을 알고 나면 허탈감을 느끼게 될 것이다. 전작 『마이크로서비스 아키텍처 구축』을 출간하며 마이크로서비스 전도사로 자리잡은 샘 뉴먼은 마이크로서비스에 대한 대중의 이해를 도우려 했던 자신의 시도가 세간의 사람들로 하여금 은총알로 여겨지는 마이크로서비스에 즉시 올라타야만 할 것 같은 시류에 편승하게 만들었다는 사실을 깨달았다. 따라서 좀 더 현실적인 문제에 접근함으로써, 마이크로서비스 아키텍처를 언제 어떤 경우에 도입해야 할지, 어떻게 해야 기존 레거시 시스템을 망가뜨리지 않고 점진적으로 마이그레이션할 수 있을지, 마이크로서비스 아키텍처에 감춰진 복잡한 문제점은 무엇인지 등을 솔직하게 드러내기 위해 이 책을 집필했다고 서문에서 고백한다. 아마도 마이크로서비스 아키텍처를 도입하려고 시도했거나 이미 도입한 많은 회사는 이 책에 언급된 다양한 상황에 직면했을 가능성이 매우 높으며, 앞으로 마이크로서비스를 검토하는 회사도 상황이 크게 다르지는 않을 것으로 본다. 개인적으로 이 책에서 가장 마음에 드는 부분은 3장 '모놀리스 분할'과 4장 '데이터베이스 분해'다. 3장은 레거시 시스템에서 출발해 마이크로서비스로 가는 여정 중에 참고할 내용을 시원하게 풀어낸다. 레거시 시스템을 완전히 버리고 마이크로서비스를 사용해 처음부터 다시 시작하면 성공 확률이 얼마나 될까? 이 책을 읽고 나면 기존 시스템에서 마이크로서비스로 옮기는 방식이 처음부터 마이크로서비스로 진행하는 방식에 비해 훨씬 위험성도 적고 효과도 좋다는 사실을 깨닫게 될 것이다. 이렇게 3장은 레거시에서 마이크로서비스로 마이그레이션할 때 도움을 주는 패턴을 체계적으로 정리한다. 4장은 마이크로서비스 아키텍처를 구성하는 사람들에게 가장 큰 고민거리를 안겨주는 데이터베이스를 집중적으로 다룬다. 마이크로서비스로 마이그레이션할 때 겪는 어려움은 클라우드로 데이터베이스를 마이그레이션할 때 겪는 어려움과 유사한 점이 많지만, 마이크로서비스에서는 단순한 샤딩을 넘어서 업무별로 데이터베이스를 분할해야 하므로 더 큰 장벽이 기다리고 있다. 이런 어려움으로 인해, 기껏 애플리케이션을 분해해놓고 데이터베이스는 공유해서 사용하는 경우가 얼마나 많은가! 그렇다고 죄책감을 느끼지는 말자. 이 책은 완벽한 마이크로서비스를 추구하는 대신 모듈식 모놀리스만으로도 좋은 성과를 올리는 사례도 보여주므로 정말 급진적인 마이크로서비스로 가야 할지 아니면 관리가 용이한 형태의 모놀리스로 남을지를 고민하는 분들께서도 읽어보시면 위안과 도움을 얻으리라고 생각한다. 아무쪼록 이 책이 마이크로서비스라는 강적을 앞에 두고 고민이 많은 개발자와 관리자들에게 오아시스가 되었으면 좋겠다. 작년에 우연치 않게 마이크로서비스로 다양한 프로젝트를 진행하는 여러 개발자분들과 기술적인 내용을 토론할 기회가 많았었는데, 이 책을 번역하면서 마이크로서비스를 채택하는 과정에서 발생하는 현업의 어려움을 이해하는 데 큰 도움이 되었다. 회의와 토론 과정에서 직간접으로 도움을 주신 여러 개발자분들께 지면을 빌려 감사의 말씀을 드린다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자