한빛미디어에서 이번에 번역서로 발간된 Kubernetes Best Practices 쿠버네티스 모범 사례이다. 책의 제목보다 부제가 무척 매력적이기 때문에 엔지니어라면 이 책을 포기하기 쉽지 않다 쿠버네티스 창시자가 알려주는 최신 쿠버네티스 개발 및 배포 기법 이건 못참지. 요즘 IT 개발 쪽 콘퍼런스에 가보면 빠지지 않고 등장하는 주제가 쿠버네티스다. 그만큼 핫한 기술이기도 하고 많은 회사들이 인프라 아키텍처 고도화의 방향을 MSA로 잡으면서 쿠버네티스를 시도한다. 아무튼, 이 책은 쿠버네티스 오픈 소스 프로젝트의 공동 설립자 브렌던 번스(Brendan Burns)와 동료들이 작성한 책이다. 아마도 많은 분들이 빠르게 쿠버네티스를 익히기 위해 이 책을 검색하고 꺼내 들었을 거라고 생각된다. 하지만 잠깐..
한빛미디어에서 2017년에 발간된 마이크로서비스 아키텍처 구축이다. 아마도 마이크로서비스 관련해서 관심 있는 사람이라면 한 번쯤은 들어봤을 법한 책이고, 커뮤니티에서도 많은 호평을 받았다. 현재(2021-10-10) 기준으로 생각해보면 이미 꽤 오래된 책이다. IT 기술은 매우 빠르게 발전하기 때문에 전공 서적의 인기가 보통 오래가지 못한다. 눈 감았다가 뜨면 새로운 기술이 튀어나오고, 언어나 플랫폼의 경우 버전 업그레이드 속도를 책이 따라가지 못하기 때문이다. 하지만 이 책은 다르다. 무려 4년이 지났음에도 마이크로서비스를 다루는 책 중에서도 바이블로 불린다. 한빛미디어 리뷰어 활동을 하면서 다른 마이크로서비스 책도 여럿 리뷰 했지만 결국 대부분의 개념이 겹친다. 뭐랄까, 앞으로 나오게 될 마이크로서비..
작은 프로젝트를 진행할 때도 메시지 브로커는 아키텍처에 따라 필요한 경우가 종종 있습니다. 이때 Apache kafka를 쓰자니 배보다 배꼽이 커지고, 클라우드의 메시지 큐(AWS SQS 등)를 사용하자니 벤더 락인(vendor lock-in)이 우려될 때 Redis stream은 아주 좋은 대안이 됩니다. 혹시 kafka를 redis pub/sub과 비교하려 한다면 정확한 비교가 안되는데 토픽 개념은 유사하지만 redis pub/sub에는 소비자 그룹의 개념이 없기 때문입니다. ( stream에서 xread의 경우에는 소비자 그룹을 사용하지 않습니다. xgroupread로 접근하는게 맞습니다. 소비자 그룹의 개념이 들어가면서 메시지가 잘 도착했는지 확인이 가능합니다. 혹시 메시지 전달의 성공/실패/처리..
macOS에서 docker를 사용하기 위해 그간 Docker Desktop을 사용해왔었는데 유료화 소식이 전해져 왔다. Docker Desktop은 개인은 무료, 기업은 직원이 250명 이상이거나 연매출이 대략 110억($10 million) 이상인 경우 유료 버전을 사용해야 한다 (아직 유예기간 있음). https://www.docker.com/blog/updating-product-subscriptions/ Docker is Updating and Extending Our Product Subscriptions - Docker Blog Learn from Docker experts to simplify and advance your app development and management with Do..
한빛미디어에서 아주 재밌는 책이 발간되었다. Microservices Up & Runing 처음 시작하는 마이크로서비스인데 마이크로서비스 초심자를 위해 정말 많은 것을 가득 차린 준비된 밥상 느낌이다. 마이크로서비스 개론부터 쿠버네티스, 헬름, 깃옵스 배포 도구로 Argo CD, 그리고 Infrastructure as Code(IaC) 도구인 테라폼까지. 단숨에 훌훌 넘어간다. 소프트웨어 구축의 결정을 기록하는 아키텍처 결정 기록(Architecture Decision Record:ADR) 작성을 시작으로 마이크로서비스 팀 설계, 팀 토폴로지를 만들기까지 아주 자세하게 다룬다. 또한 마이크로서비스를 구축, 운영하는 데 있어서 아주 중요한 핵심 요소가 책 구석구석에 드러나 있다. 마이크로서비스 소유권 - ..
인스타그램 시작과 성공 - 노 필터는 오랜만에 읽은 교양서적입니다. 개인 SNS의 타임라인에서 많은 지인들이 극찬한 책이라 호기심 반으로 구입하게 됐습니다. 전공서적 읽을 시간도 부족한 요즘인데 결과는 아주 만족스럽네요. 페이지를 넘기는 즐거움이 있었습니다. :) 인스타그램은 10대부터 50대까지 전 세계적으로 모르는 사람이 없을 정도로 유명한 SNS입니다. 이미지를 공유하는 기본 컨셉의 SNS인 인스타그램, 그 창대한 시작과 끝(현재)을 아주 가까이서 엿볼 수 있습니다. 개인적으로 인스타그램은 가입만 해놓고 거의 사용하지 않고 있고, 역사도 잘 몰랐습니다. 페이스북에 인수됐던 사실만 기억하고 있었죠. 하지만 이 책을 읽는 데는 아무 문제없습니다. 책을 덮고 나니 두 가지 생각이 드는데요, 첫 번째로 창..
리더, 리더십과 같은 책은 시중에 많이 있다. 이번에 한빛미디어에서 출간된 실리콘밸리 리더십은 과연 특별함이 있을까? 많은 리더십 책중에 이 책을 읽어야 할 필요가 있겠냐는 거다. 결론부터 말하자면 나는 일독을 권한다. 다만, 지나치게 리더십에 몰입해서 접근하기보다는 소개되는 짤막한 사례를 소설 읽듯이 훌훌 읽으면 좋다. 그만큼 가볍게 읽히는 책이라는 뜻이다. 하지만 인사이트는 묵직하다. 책의 구성은 3개의 부로 나뉘어 있다. 관리자를 위한 1부와 임원을 위한 2부, 그리고 경영자를 위한 3부이다. 도입부에서는 이 책을 어떻게 읽으면 좋을지 안내해주고 있다. 굳이 첫 장부터 시작해서 읽을 필요가 없으며 목차에서 관심 있는 주제로 바로 넘어가서 읽기 시작해도 된다. 전반적인 내용은 큰 줄기로 이어지는데 관..
redis를 사용하면서 필요에 의해 CONFIG SET을 통해 설정을 변경하는 경우가 있습니다. 아마 처음 config set을 검색했을 때 목적은 notify-keyspace-events 변경을 통해 key expire에 대한 이벤트를 받기 위해서가 많을 듯합니다. notify-keyspace-events 변경은 아래 페이지에 자세히 설명되어 있습니다. https://redis.io/topics/notifications Redis Keyspace Notifications – Redis *Redis Keyspace Notifications IMPORTANT Keyspace notifications is a feature available since 2.8.0 *Feature overview Keyspac..
마이크로서비스와 관련해서 여러 가지 책과 블로그 글을 봤지만 이렇게 담백하게 팩트로 때리는 책은 처음입니다. 실제 마이크로서비스를 도입하며 겪게 되는 문제(현상)와 그걸 해결하기 위한 방법을 제시합니다. 또한 마이크로서비스가 정답이 아니라는 이야기도 덤덤하게 적혀있어요. 혹시 유행 따라 마이크로서비스 도입을 검토하고 계신가요? 이 책을 추천드립니다. - 마이크로서비스 도입 이렇게 한다 마이크로서비스와 관련된 개인적인 생각들이 책에 잘 정리되어 있어서 인용해봅니다. 시스템을 설계하는 모든 조직은... 불가피하게 조직의 커뮤니케이션 구조를 본떠 시스템 구조를 만들어 낼 것이다. - 멜빈 콘웨이 조직의 구조가 때로는 시스템(서비스)에 영향을 주게 됩니다. 특히 빠르게 발전하는 서비스의 경우 특히 더욱 그렇죠...
키보드 자판 위에 vim 단축키를 나타내는 이미지가 돌아다니지만 입문자 입장에서 보기 어렵지 않을까 싶은 생각에 입문자용 핵심 단축키 정리를 마음먹었다. 아래 이미지를 보시라. 한글 버전판도 있지만, 입문자에게 이게 다 무슨 소리인가 싶지 않겠냐는 거다. 우주선 조종 기판 같다. 나는 개발 커리어를 리눅스 커널로 시작해서 약 7년간 vim으로만 개발을 해왔으면 이후에도 IntelliJ에 vim 플러그인을 이용하는 등 광적으로 vim을 사랑하는 유저이다. 지금이야 순정이 좋지!라는 마음으로 웬만하면 IDE는 그냥 플러그인 없이 순정으로 이용하는 편이지만. 아무튼 각설하고 vim을 처음 입문하는 사람에게 실제로 도움이 될만한 단축키를 설명하도록 한다. 본문에 있는 단축키는 모두 완벽하게 손으로 익혀주는게 좋..
scrapy는 웹사이트에서 필요한 데이터를 추출하는 오픈소스 프레임워크입니다. 네, 많고 많은 crawler 중에 하나입니다. 혹시 듣보잡 아니냐고요? 네, 뭐 구글 트렌드로 다른 크롤러와 비교해보면 크게 뒤떨어지는 건 사실입니다. (지난 5년간 대한민국 기준 트렌드 자료입니다. 파란색이 selenium, 노란색이 beautifulsoup, 빨간색이 scrapy) GitHub에 Star를 인기의 척도라고 본다면 scrapy는 상당히 인기 있는 프레임워크로 볼 수 있습니다. 이 말인즉, 개발자에게는 꽤나 인기 있는 크롤러라는 겁니다. 아래를 보세요. 스타 수가 무려 41.1k 개고 아직도 활발히 개발되고 있습니다. scrapy는 가볍고, 빠르고, 확장성이 좋습니다. 개발자는 파이썬 기반으로 spider라고..
한빛미디어에서 SQL 튜닝을 정말 쉽고 친절하게 알려주는 책이 등장했습니다. 바로 "업무에 바로 쓰는 SQL 튜닝"인데요, 이전에도 한빛미디어에서 SQL 관련된 책은 여럿 출판된 이력이 있습니다. "데이터 분석을 위한 SQL 레시피"가 아마 대표적일 것 같네요. 데이터 분석을 위한 SQL 레시피는 데이터 엔지니어를 위한 책이었다면 이번 SQL 튜닝 책은 데이터베이스를 다루는 모두를 위한 책입니다. 심지어 SQL 입문 서적으로도 손색이 없어 보입니다. 튜닝의 기초부터 차근차근 알려주거든요. 첫 장부터 마지막 장까지 숨도 안 쉬고 단숨에 읽을 정도로 재밌습니다. 딱 하나 유일하게 아쉬웠던 점은 실습환경이었는데요. MySQL을 로컬 PC에 설치하는 방법을 다루고 데이터를 불러오는 방법을 설명하는 부분입니다. ..
코로나가 우리 사회를 강타하면서 많은 것들이 변했다. 배달 시장의 폭발적인 성장, 아이들의 수업방식, 어른들의 근무 환경의 변화 등. 그중에서도 단연 온라인 근무제 시행이 눈에 띈다. 산업혁명 이후 하루 24시간 삼분지계(8시간 근로, 8시간 개인 시간, 8시간 취침)를 보면 근로 시간은 삶에 큰 부분을 차지하는 것을 수치상으로 확인할 수 있다. 그렇기 때문에 하루의 1/3에 해당하는 근로시간을 어떻게 효율적으로 보낼지는 많은 이들의 관심사이다. 그게 직원이든, 고용주든 상관없이 말이다. ( *고용주는 어떤 환경에서 어떻게 효과적으로 일을 시킬지 고민해야 하는 입장 ) 온라인 근무제는 재택근무, 리모트 근무처럼 여러 가지 명칭으로 불린다. 상세하게 구분하자면 약간씩 차이는 있다. 재택(在宅: 집에서 회사..
IT 엔지니어로 살면서 성장이라는 키워드는 늘 곁에 있었다. 내게 기술적 성장이 필요했던 이유는 스스로의 부족함을 잘 알고 있기 때문에 업계에서 살아남기 위해 갈구해야 했던 부분이다. 하지만 단순히 그것만으로는 이 업계에서 오래 버티기 힘들다. 더 중요한 건 개발 자체가 재밌었기 때문이다. 재밌는걸 더 잘하려면 성장이 답이었던 거고. 그리고 시간이 흐르고 연차가 쌓일수록 성장을 바라보는 관점을 정리할 필요가 있었다. 아래는 이와 관련된 짧은 생각이다. 코로나가 빨리 끝나고 오프라인에서 다른 사람들과 편하게 의견 나눌 수 있는 날을 고대한다. "성장을 강요하지 마세요" 어느 커뮤니티에서 본 문장이다. 요즘 Z세대의 친구들에게 성장을 강요하지 말란다. 그냥 일을 주고 관련해서만 프로답게 커뮤니케이션하면 된단..
앞서 docker-compose를 통해 airflow를 심플하게 설치하는 방법에 대해서 다뤄봤습니다. 스터디, 혹은 가벼운 인프라에서 사용되는 목적이라면 기본 설치된 airflow 환경으로 충분합니다. 하지만 조금 더 묵직한 환경에서 운영이 되어야 한다면 튜닝이 필수인데요, 튜닝에 어떤 것들이 있는지 살펴보도록 하겠습니다. # concurrency, max_active_runs 아마도 튜닝의 첫 단계가 아닐까 싶습니다. airflow의 목적은 병렬로 다수의 task를 운영하는 것이기 때문에 concurrency, max_active_runs 옵션은 제일 먼저 손봐줘야 하는 부분이 될 겁니다. 각각이 나타내는 의미는 아래 그림에서 가장 잘 표현되어 있습니다. 이 이상의 설명은 존재할 수 없을 듯. 설정은 ..
이전 글에서 Airflow란 무엇인지 알아봤습니다. 이번 글에서는 플랫폼을 구축해보고 기본적인 터미널 명령어를 살펴보도록 하겠습니다. 위에 그림에 있는 것처럼 airflow를 구축하기 위해서는 webserver, scheduler, worker, database까지 함께 움직이는 서비스가 많습니다. 이것들이 조합되면 airflow라고 하는 워크플로 플랫폼이 완성되는 겁니다. 여기 있는 서비스를 하나씩 설치하면서 고생하기에는 우리의 시간이 넉넉하지 않죠? 이번 글은 airflow를 제일 빠르고 간편한 방법으로 만날 수 있는 docker-compose를 통한 설치 방법을 알아봅니다. # docker로 airflow 설치 airflow를 운영하려는 환경에 docker-compose가 설치되어 있는지, 설치되어..
Airflow는 Airbnb에서 2014년 10월 시작된 오픈소스 프로젝트입니다. 오픈소스로 2015년 6월 발표되었으며 2016년 3월에 Apache Software Foundation에 인큐베이팅되었어요. 그리고 2019년 1월 아파치 재단은 Apache Airflow를 탑티어 프로젝트로 발표했습니다. 자, 그럼 Airflow가 무엇인지 천천히 살펴보도록 하겠습니다. airflow는 workflow를 구축하고 실행할 수 있는 하나의 플랫폼입니다. 워크플로라는 단어가 모든 것을 설명해주는데요, airflow에서 워크플로는 DAG(Directed Acyclic Graph)으로 표시되며 세부사항으로는 개별 작업을 포함해서 종속성 및 데이터 흐름을 정렬하게 됩니다. 이게 다 무슨 소리인가 싶을 수 있는데요...
아직 한국에서는 엔터프라이즈 환경에서 파이썬을 다루는 곳은 흔하지 않다. 서비스가 궤도에 오르기 전이거나 MSA의 일부분으로 선택되는 경우는 종종 봤지만 말이다. 아 물론, 여기서 이야기하는 부분은 서비스의 백엔드이다. 데이터 엔지니어링이나 머신러닝을 다루는 분야에서는 단연 파이썬은 독보적인 언어니까. 아무튼, 이런 시국에 한빛미디어에서 아주 묵직한 책이 나왔다. 무려 "Architecture Patterns with Python" TDD, DDD, EDM까지 적용한단다. 1부는 비교적 가볍다. 도메인 모델링을 지원하는 아키텍처 구축이라는 제목 아래 저장소 패턴과 추상화, 작업 단위 패턴을 이야기한다. 가볍지만 익숙하지 않다면 호락호락하지 않다. 파이썬 문법이야 당연히 아주 잘 알고 있다는 전제로 내용이..
블로그에 AWS Elastic Container Service 관련해서 몇 편의 글을 연재했고, 아직 발행하지 못한 글도 있지만... 프레젠테이션 정리를 먼저 서둘렀다. 용도는 컨테이너 서비스에 관심 있는 조직 구성원의 흥미를 풀어주는 차원. 우선 목차를 크게 구분하면 ECS의 기초를 설명하고, 가볍게 K8S와 비교할 생각이다. 그리고 자원 사용 부분에서 Fargate와 EC2 비교, EC2로 운영할 때 비용이나 Stateless가 가능하다면 Spot Instances에 대한 부분 검토까지 언급할 생각이다. 로그를 다루는 부분도 쓰긴 해야 했지만 지면을 크게 할애하지 않았다. 워낙 간단한 설정이 끝이라서 딱히 쓸 내용이 없다 (웃음) 수백 개의 컨테이너를 오케스트레이션 하며 발생할 수 있는 문제들을 극복..
국내에는 GCP( Google Cloud Platform )와 관련된 책이 워낙 귀하다 보니 이번에 한빛미디어에서 발간된 "이야기로 배우는 구글 빅쿼리"는 반가울 수밖에 없다. 게다가 빅쿼리에 포커싱 된 책이라니! 빅쿼리는 위키백과에 아래와 같이 정의되어 있다. 빅쿼리는 페타바이트급 이상의 데이터에 대해 스케일링 분석을 가능케 하는 완전 관리형 서버리스 컴퓨팅 데이터 웨어하우스이다. 빅쿼리는 2010년 5월 발표되었으며 2011년 11월 일반에 공개되었다 데이터 다루는 일을 업으로 하는 사람이 아니라면 어쩌면 생소할 수 있는 기술이지만 BigQuery는 빅데이터 플랫폼으로 AWS의 Redshift와 함께 양대산맥을 이루고 있다. 더욱이 Google Cloud 하면 빅쿼리가 연상될 정도의 GCP의 대표적인..
- Total
- Today
- Yesterday