최근에 kubenetes도 배우고, helm도 배우면서 terraform을 배워야 겠다고 생각을 했었는데 타이밍에 맞게 이 책이 나온다고 해서 바로 읽어보았다. 

이 책에 대한 이야기를 하기 전에 요즘 클라우드 관련 기술의 트랜드를 보면 IaC나 helm 같은 기술들이 이끌어 나가는 것 같다. 해당 기술들의 특징은 명령형(imperative)가 아닌 선언형(declarative)라는 것인데 클라우드 기술들이 생겨난 이유를 생각해보면 당연한 걸지도 모르겠다는 생각이든다. 필자는 클라우드가 생겨난 이유가 기술의 발전이 점점 빨라지면서 그에 맞추어 대응하려면 클라우드에 서버를 두지 않고 물리적 서버를 고집한다거나 microservice가 필요한 시점에 monolithic한 아키텍처를 고집한다면 현 시대에서 얻을 수 있는 기술적 이점을 챙기지 못하기 때문에 클라우드가 잘 나가는 것이 아닐까 싶다. 그런 점에서 클라우드 서비스를 사용할 때 명령형으로 무언가 만든다면 한계가 있다고 느껴진다. 예를 들어 수십만개의 서버를 똑같은 환경으로 만들어야 한다면 명령형으로는 한계가 있을 것이다. 처음 만들 때야 한 번이라서 어떻게든 명령형으로 커버한다지만 여러 subnet에 나누어 넣어야한다던가, 도메인명을 다르게 한다던가 등... 여러 상황이 생겼을 때 명령형으로는 관리하기 매우 힘들 것이다. 따라서 관리 차원, 그리고 협업 차원에서 선언형은 어떻게 보면 필수가 아닌가 싶다.

 

책 표지

 

이 책을 아직 완독하지는 못했지만 반 이상 읽은 시점에서 느끼는 건 실습하기 아주 편하게 만들어 놓았다는 것이다. 어떤 기술 책들은 실습하기가 좀 까다로워서 사놓고도 지식을 습득하지 못한 책들이 있는데 이 책은 특히나 로컬에서도 쉽게 실습을 할 수 있어서 유용한 책인 것 같다.

01234567
목차

목차를 보면 기본 지식 -> 모듈화 -> 실제 현업에 관련 내용 순이다. 아직 모듈화 전까지만 읽었지만 이정도만 읽어도 백엔드 개발자인 필자가 devops팀이 작성해놓은 terraform code를 이해할 수 있을 거라는 자신감이 든다... :)

가볍게 뒷 부분을 보기도 하였는데 현업에서의 가이드도 매우 흥미롭고, 리팩토링을 하는 과정을 상세하게 써 놓은 부분도 매우 흥미로웠다. 사실 리팩토링을 하는 것이 참 시간적으로나 기술적으로나 어려운 것이라고 생각하는데 이 과정을 책으로나마 읽을 수 있는 것은 좋은 경험이 될 거라고 생각한다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

필자는 학부 때는 머신러닝을 배우다가 백엔드 개발자로 전향한 사람이다. 최근에는 나름 인프라 쪽도 공부를 하면서 시스템에 대해서도 배우고 있는데 머신러닝 시스템 설계라는 주제가 꽤 흥미롭게 다가와서 관련 책을 읽어보게 되었다.

머신러닝 시스템 설계

이 책은 머신러닝 + 시스템 설계라는 주제를 가지고 있다. 그리고 머신러닝 기초 -> 머신러닝 실무 관련 지식 -> 인프라 / 시스템 순으로 설명을 하고 있다. 그 중 머신러닝 기초와 인프라 / 시스템 쪽은 필자가 읽을만 했는데 실무 관련 지식들은 자세히 보지 못하였다. 이 책의 구성이 꽤 괜찮다고 느껴지는 건 머신러닝 시스템 설계를 어떻게 해야할지 감이 잘 안 잡히는 사람에게는 어느정도 청사진을 그려줄 수 있다는 점이고, 필자가 거기에 해당되었기 때문이다. 목차는 아래 사진과 같다.

012345
목차

어떻게 보면 이 책의 초반에서 "비즈니스와 머신러닝의 목적"이라는 부분이 있듯이 비즈니스 관점에서도 머신러닝을 다루고 있다. 어떻게 보면 공학 쪽은 결국에는 필수적으로 비즈니스와 연결되는 부분을 고려해야하는 것 같다. 따라서 이 책에서는 이해관계자들의 관점에서도 머신러닝을 바라보고 있으며 그런 부분도 흥미롭게 읽었다.

연구가 계속되면서 크기가 커지기 시작하면 한 사이클을 돌리는데 걸리는 시간이 오래걸리기 마련이고, 그 사이클의 주기를 줄이는 것이 다른 어떤 부분보다도 중요하게 될 때가 있다. 그래서 현대 소프트웨어 개발 분야에서 CI/CD 관련한 논의가 많이 일어나고, 어플리케이션 오케스트레이션 부분도 발전하게 된 걸 것이다. 이러한 관점을 책의 chapter 9에서 연속 학습로 다루고 있으니 한 번 읽어보면 좋을 것 같다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

아마 실무에서 AWS를 관리하는 devops이거나 개인적으로 프로젝트를 진행하면서 AWS를 통해 서버를 사용하고 있다면 비용을 어떻게 절감할 수 있을지 고민을 많이 했을 것입니다. 그래서 대표적으로 비용을 절감하는 saving plan이나 예약 인스턴스를 많이 사용하셨을텐데 이 책에서는 이 뿐만 아니라 ec2 인스턴스 스펙부터 시작해 스토리지, 네트워킹 비용까지 절감할 수 있도록 도와줍니다.

표지

목차를 보면 가장 많은 고려하게 되는 순으로 컴퓨팅서비스, 스토리지, 네트워킹, 이렇게 되어있습니다.

012
목차

근데 저는 이 책에서 네트워킹 서비스 쪽을 추천하고 싶습니다. 왜냐하면 서비스가 커지면 커질 수록 알게 모르게 돈이 새나가는 부분이라고 생각하기 때문입니다. 특히 쿠버네티스 환경을 사용하게 되면 가끔 AWS 내부나 클러스터 내부에서 통신을 할 수 있는 부분을 인터넷망을 통하게 되어서 공짜로 통신할 거를 비용을 지불하게 될 수도 있으니까요.

이 책은 표도 많고, 자기가 필요한 부분을 읽는게 많이 도움이 될 수 있을 것 같아 앞 장부터 제가 흥미롭게 보았던 부분을 뽑자면, 컴퓨팅에서는 스펙별 특장점, 예약인스턴스와 세이빙 플랜에 대한 설명, 컨테이너 서비스 쪽입니다. 스토리지에서는 S3에서 스토리지 클래스 전환(스탠다드에서 글레시어로 변환한다던가) 부분이었습니다. 그리고 마지막으로 네트워킹 부분은 어렵지만 생소했던 부분이라 다 재미있었던 것 같습니다. 특히 아래 그림은 네트워킹에서 우리가 알게모르게 path별로 과금이 상이했다는 것을 보여줍니다.

네트워킹 비용

마지막으로 한줄평을 하자면 "devops라면 집에 한 권씩 챙겨둬서 손해보지 않을 책"입니다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

이 책을 읽고, 첫번째로 들었던 생각은 기대했던 것보다 업무에서 쓸 수 있을만한 좋은 내용들이 곳곳에 있었다는 것이다. 근데 그런 것에 비해서 정말 입문(AWS를 처음 쓰는 사람)하는 사람이라면 별로 안 와닿는 내용이었을 수도 있을 것 같았다. 왜냐하면 중간중간 정말 실무에서 알면 좋을 만한 내용들을 담고 있었던 반면에 실습 부분은 정말 너무 쉬운 내용을 담고 있었기 때문이다. 예를 들어 EC2를 설명하는 장에서 EBS의 스펙들도 알려주고, ALB, NLB도 알려주고, X-Forward-For 과 같은 개념도 알려주는데 실제로 만드는 것은 EC2를 만들고 접속해보는 것까지 해본다...ㅠㅠ

그래서 "나는 정말 AWS를 처음 써본다!" 하는 사람은 이 책의 5장까지만 보고, 정말 이 책을 보면 좋을 만한 사람은 ec2, rds, s3 같은 서비스를 이미 만들어보고, 개발경력이 1년정도 있는 사람같다. 왜나하면 처음 aws를 접할 때는 서비스 스펙 같은 건 신경쓰지 않고, 프리티어에서 공짜로 쓸 수 있는 걸 쓸 거라고 생각하고, 필자 또한 그랬다. 근데 실제로 돈을 내보거나 devops를 하시는 분들은 가격같은 것도 신경을 많이 써야한다. 그러면 이 책에서 설명하는 해당 스펙의 장단점, 그리고 여러 서비스들을 어떻게 조합하는지가 중요해진다. 

업무에 바로 쓰는 AWS 입문

특히나 이 장의 처음에는 IAM에 대해 설명하고 있는데, 난 처음 aws 접할 때 IAM이 뭔지도 모르고 ec2를 만들어 쓰곤 했는데 여러 서비스를 조합하고, 회사에 들어가게 되면 그 때부터 IAM이 중요하게 된다. 그래서 IAM을 첫번째 장에 넣은 것도 저자의 의도였을 것이라고 본다. (베스핀 글로벌에서 교육을 받았을 때도 IAM을 배우는 것부터 시작했다.) 또한, 초반에는 (필자가) 주요하게 쓰는 서비스 ec2, rds 등을 설명하고 나중에는 dynamodb, api gateway 같이 자주 쓰지 않는 서비스가 나왔기 때문에 저자가 책의 구성에도 신경을 썼다고 생각한다.

 마지막으로 한줄평을 하자면 처음 읽을 때는 너무 쉬운 내용을 다루고 있는게 아닌가 하다가도 가면갈수록 좋은 내용, 꿀팁을 알려줘서 기대 이상이였다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다

https://brunch.co.kr/@forchoon/328

 

카카오 브런치 vs 네이버 포스트

콘텐츠 플랫폼 비교 - 이 글을 네이버가 싫어합니다. | 올해로 카카오 브런치를 오픈한 지 3년, 네이버 포스트는 2년이 되었다. 그동안 카카오 브런치는 구독자가 5천여 명, 네이버 포스트는 830여 명) 수년간 이 두 콘텐츠 플랫폼을 이용하면서 느낀 점들을 간략하게 비교해 보려고 한다. 카카오 브런치와 네이버 포스트를 비교하는 이유는 이 두 서비스의 등장의 이유가 '블로그'라는 매체가 한 시대를 풍미했으나

brunch.co.kr

이 글을 읽으면서 반쯤 맞고 반은 아니라고 생각했다.

왜냐하면 객관적인 부분에는 고개를 끄덕였지만 주관적인 부분에서는 공감할 수 없었던 부분이 있었기 때문이다.

네이버엔 이런 광고글이 확실히 많긴 하다.

이런 가장 큰 이유는 대부분의 서비스가 접근성이 뛰어나고 소비자가 똑똑하다고 생각하기 때문이다.

예를 들자면,

브런치와 네이버 블로그의 접근성이 모두 뛰어나서 소비자의 접근에 대한 거부감은 거의 없고 동일하다고 생각한다.

네이버 블로그는 리뷰, 소개글(광고글 포함)이 주를 이루고 브런치는 소비자가 공감하거나 흥미를 유발할 수 있는 글이 많다. 따라서 이러한 상황에서 소비자는 목적에 따라 서비스를 선택할 수 있다고 생각한다.

나만 해도 두 서비스 모두 이용하고, 브런치 글을 자주 읽지만 맛집리뷰를 볼 때는 네이버를 이용하는 것처럼 말이다.

 

애플 vs. 구글

나는 네이버는 애플같고, 카카오는 구글같다고 생각한다. 네이버와 카카오는 추구하는 방향부터가 달라 이제 비교하기 힘들어질 거 같다는 생각이다.

카카오는 작가와 출판을 위한 플랫폼을 만들고 있다. 그리고 폐쇄적이라고 느낄 수는 있지만 다음 블로그와 티스토리가 있고, 능력만 되면 브런치의 작가가 될 수 있기 때문에 그다지 폐쇄적이라고 생각하지 않는다.

반면에 네이버는 정보글 위주의 플랫폼을 만들고 있는 것 같다. 자세히는 모르지만 DIA 와 C-rank 라는 알고리즘(?)이 소비자들에게 도움이 되는 글들을 더 높게 평가하고 상위 노출시킨다고 하기 때문이다. 그리고 나는 네이버가 더 폐쇄적이라고 생각한다. 가장 크게 느낀 이유는 다른 플랫폼의 글은 네이버 검색에서 잘 노출이 안된다는 것 때문이다.

따라서 나는 이제 두 회사 모두 자신과 서로를 잘 알고, 그에맞춰 특화된 마케팅전략을 펼치는게 아닌가 생각한다.

(네이버포스트와 네이버블로그는 거의 한 몸이고, 티스토리와 다음블로그랑 비교해야할 것 같고, 브런치는 완전 다른 세계같다.)

+ Recent posts