서버=리눅스라고 말해도 과언이 아닐 정도로 전 세계 대다수의 대형 서버가 리눅스를 사용하고 있습니다. 최근에는 클라우드를 이용해 누구나 자신만을 위한 서버를 만들 수 있게 되어 서버의 문턱도 낮아졌습니다. 관련 기술의 발전에 따라 서버의 구축과 관리를 위한 소프트웨어가 많이 나와서 더욱 편리해졌지만, 역으로 인프라에 대한 지식이나 관심이 줄어든 것도 사실입니다. 하지만 하드웨어에 관한 지식이 없다면 어떤 문제가 발생했을 때 무엇이 원인인지 파악하기 어렵습니다. 무엇보다 하드웨어의 관리를 위해서는 커널을 이해해야 합니다.
커널은 오랜 세월 기능이 추가되고 개선되어 오면서 완벽하게 이해하기 힘들 정도로 방대해졌습니다. 하지만 변하지 않는 기본 기능들이 있죠. 이런 근간이 되는 기능에 대한 이해를 바탕으로 시스템의 문제를 파악하고 해결하는 것이 시스템 엔지니어링의 기본이라 할 수 있습니다. 특히나 요즘과 같이 클라우드 기반으로 서버들이 동작하는 경우에는 서버의 성능을 최대로 끌어내야 하고, 이런 작업은 커널에 대한 이해가 바탕이 되어야 합니다.
『DevOps와 SE를 위한 리눅스 커널 이야기』는 리눅스 서버를 관리할 때 만날 수 있는 문제점들과 이를 해결하는 방법을 제시하고 있습니다. 교과서에 나오는 내용이 아닌 실무 경험을 통해 찾아낸 방법들이죠. 카카오에서 시스템 엔지니어로 근무하고 있는 강진우님은 현업에서 경험한 다양한 상황과 문제를 바탕으로 이 책을 집필하셨습니다. 문제점과 그에 따른 해결책을 심도 있게 보여줄 뿐만 아니라 문제점을 파악하고 하드웨어 정보를 알아내는 데 유용한 명령어, 정보를 해석하는 방법, 애플리케이션 테스트와 튜닝까지 실무에서 궁금할 법한 내용을 설명하고 있습니다.
이 책은 리눅스 환경에서 애플리케이션을 운영하고 있는 서버 개발자, 개발과 운영을 함께 담당하고 있는 데브옵스(DevOps), 그리고 리눅스 시스템의 전반적인 운영을 담당하고 있는 시스템 엔지니어들을 위한 책입니다. 어느 정도 운영 경험이 있으면 더 쉽게 이해할 수 있지만 리눅스를 조금이라도 경험해 보았다면 읽기에 무리가 없습니다.
실무에서 궁금해 하는 내용을 쉽게 정리한 책
실무에서 항상 궁금했지만 찾기 어려운 정보를 쉽게 정리해 주는 책입니다. 교과서에 나오는 내용이 아닌 실무를 하면서 찾아낸 방법이기 때문에 더욱 마음에 와닿는 것 같습니다. 또한 문제 해결 방법을 같이 살펴보기 때문에 이를 통해서 독자 스스로 자신의 역량을 강화하는 데 큰 도움이 될 것이라 생각합니다.
고우찬(카카오 인프라 & 데이터플랫폼팀 팀장)
대규모 서비스를 시스템 엔지니어의 시각에서 보여주는 책
문제가 발생하면 코드의 이슈에 집중하는 소프트웨어 엔지니어와 달리 시스템 엔지니어는 시스템의 설정부터 네트워크 환경 등, 코드가 아닌 해당 시스템에 대한 시각으로 문제에 접근합니다. 대규모 서비스에서 시스템 엔지니어는 어떻게 사고하는지, 어떤 정보를 봐야 하는지 알고 싶으신 분들은 꼭 읽어보시길 바랍니다.
강대명(유데미 데이터 엔지니어, 오픈소스 컨트리뷰터)
이 책에서 다루는 내용은 다음과 같습니다.
– 시스템 구성 정보 확인하기
– top 명령으로 프로세스 정보 확인하기
– Load Average로 시스템 부하 확인하기
– swap과 메모리 증설의 연관 관계
– NUMA 아키텍처와 메모리 관리
– TCP Keepalive로 종단 간 연결 유지하기
– TIME_WAIT 소켓이 서비스에 미치는 영향
이 책은 다음 서점에서 구입하실 수 있습니다.
※정오표