인프라 엔지니어의 교과서 개정 2판

근래 어떤 사건이 생각나는 표현에 실소가 나왔습니다 🤣

"패스워드 유출 사건이 발생하면 '왜 이 회사는 패스워드를 평문으로 저장했는가' 라는 지적을 받곤 합니다."


--


오랜만에 책을 한 권 읽었습니다. 제목부터 내용까지 저자가 인프라 엔지니어를 위한 내용을 쉽게 읽히도록 정리한 책인데, 컴퓨터 엔지니어가 읽어도 도움 되는 내용들이 굉장히 많이 있었습니다.

인프라 구축/운영에 대한 내용과, 이를 위한 컴퓨터공학 얘기도 많이 다루고 있는데요, 저자가 글을 고민해서 썼다는 인상을 줍니다.

기술과 장비들에 대해서 큰 그림이 그려질 정도, 그러나 쉽게 읽혀질 정도로 가볍게 글이 작성되어 있네요.


사실 인프라, 운영체제, 컴퓨터 구조 같은 것들은 알면 좋다고는 하지만 아무개 기능 개발 과정에서 항상 쓰이는 지식들은 아니지만, 장애 상황 분석이나 성능 최적화 포인트 체크 등 폭 넓은 시야가 필요할 때마다 사용되는 것들이고, 그렇기에 필수 소양으로 얘기 되고는 합니다.

특히, 복잡한 문제일수록 다양한 관점을 고려할 필요가 있는데, 이 책은 폭 넓은 인사이트를 키우기 좋은 책인 것 같습니다.


이전 회사에서 펌웨어 개발을 할 때, SoC의 데이터를 수 차례 활용할 때에는 bus delay를 고려해서 CPU 근처 SRAM buffer에 관련 데이터를 일괄 copy한 후 사용하는 성능 최적화가 있었는데, bus를 이용해 데이터가 오가는 것에 대한 개념이 있었기에 관련 delay를 떠올리거나 개선할 생각까지 이어질 수 있었던 것 같습니다.


저자가 신입사원에게 알려주고 싶은 것들을 정리했다고 하는데, 클라우드 서비스가 많이 발달했다 보니 대다수의 개발자는 경험하기 힘든 인프라 구축과 같은 내용들도 있는데요, 그러한 부분들의 설명도 꽤나 재미있네요.


물리 서버를 살 때 고려해야 하는 것들, 랙에 크기가 안맞는 경우에 대한 얘기, 자체 서버실을 만들 때는 하중을 고려해야 한다던가, 대여할 때 데이터센터를 정할 때는 서버 재부팅 요청같은 것들을 들어주는지도 고려해야 한다던가 하는 얘기.

시중에서 사용되는 OS, 가상화 시스템, 모니터링 시스템, 그것들의 라이선스와 오픈소스 여부 등, 저자가 경험한 내용들을 바탕으로 현실의 얘기.

인프라의 기술적인 것 이상으로 현실적인 부분도 얘기해서 알찹니다.


전체적인 인프라 시스템 구조를 모두 신경써서 얘기하다보니, 자연스럽게 네트워크, 운영체제, 스토리지 등 컴퓨터공학의 주요 사항들을 모두 다루는데, 그 내용이 부실하지도 너무 깊지도 않아서 큰 그림을 볼 수 있을 정도의 개념을 잡기에 딱 좋다는 느낌을 줍니다.


CPU의 clock이나 core에 대한 얘기, 데이터 처리량이 떨어지는 경우 bottle neck인 곳을 찾기 위한 방법, 보안 처리에 대한 기초적인 개념과 같이 프로그램 성능이나 환경에 대한 지식도 다루고 있어서, 특히 주니어 개발자 분들이 읽었을 때 도움이 많이 될 것 같아요.


가령, 클라이언트 개발자가 대다수 유저의 실행 환경(CPU/AP)을 고려해 성능을 감안하거나, 글로벌 서비스에서 네트워크 지연이 발생할 때 대처할 부분의 범위를 좁히는 등 다양한 상황에서 넓게 보는 시야의 기틀을 마련할 수 있을 것 같습니다.


자체 인프라를 온전히 구축하면서 경험한 내용들을 바탕으로 작성한 책인 것 같아서 내용은 정말 알차지만, 인프라 구축을 새롭게 하는 경우가 드물기 때문에, 대다수의 개발자가 이 책의 모든 내용을 활용하기는 어렵다는 것이 유일한 아쉬운 점이네요.


모처럼 재밌게 읽은 책이었습니다. :)

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2025년 7월 26일 오후 6:26

댓글 0