|
안녕하세요? 오랜만에 본업 모먼트로 돌아온 네트워크를 공부하는 글 쓰는 개발자, 품격 있는 직장인 부자입니다. 이번에 소개할 책은 한빛미디어의 책 『네트워크 인프라 자동화』입니다. 아주 거대한 책이라 도전하기 겁나지만 정말 많은 내용을 담고 있답니다. ![]() 원서의 제목은 『 Network Programmability and Automation 』네요. 인도악어라고도 하는 가비알 악어(Gavialis gangeticus)가 표지 동물로 선정되었네요. 오라일리 책은 동물을 하나씩 보는 재미도 있답니다. 참고로 가비알은 힌두어로 냄비를 뜻하는 가라(ghara)에서 나왔다고 하네요. 악어의 주둥이가 냄비를 닮았다고... ![]() 책 『네트워크 인프라 자동화』는 984페이지에 달하는 아주 두껍고 무거우면서도 거대한 책입니다. 한번 펼치면 완독을 해야 하는 습성(?)을 가지고 있는 저에겐 참으로도 도전하기 쉽지 않은 책이에요. 네트워크 업계에 있는 만큼 정신을 꽉 다잡고 일단 한번 훑고 본격적으로 살펴보겠습니다. ![]() 네트워크 자동화라는 말 자체가 어색한 사람들도 많이 있을 것이라 생각합니다. 이 책은 원서 제목에서 봤듯이 네트워크 프로그래밍 가능성 (programmability) 및 자동화가 무엇인지부터 어떻게 하는지 총망라하는 내용을 담고 있어요.
![]() 책의 초반부는 SDN으로부터 출발하는 네트워크 업계 동향과 네트워크 자동화가 무엇인지를 다루면서 자동화와 관련된 내용을 공부할 때 필요한 기본 지식 및 기술들을 하나씩 살펴봅니다. 리눅스, 클라우드, 파이썬과 Go 언어, 데이터 포맷과 모델 그리고 템플릿 등이 대표적인 예죠. 각 챕터가 하나의 책이라고 생각하고 차분히 읽어 보면 많은 것을 배울 수 있어요. 후반부는 본격적으로 네트워크 API를 사용하며 프로그래밍을 간단하게 해보고 앤서블(Ansible)과 같은 자동화 도구들을 배우고 지속적 통합(CI)와 네트워크 자동화 아키텍처까지 살펴봅니다. 너무 많은 내용을 담고 있는 책이지만 천천히 시간을 들여 읽어보면 좋을 것 같아요. ![]() 몇몇 챕터만 간단하게 살펴볼까요? 첫 번째 챕터인 네트워크 업계 동향은 Software-Defined ...로 이야기하는 바람에 올라탄 SDN(Software Defined Networking)에 대한 내용으로 출발합니다. 소프트웨어 정의 네트워크가 촉발한 주요 사건들과 동향을 살펴보는 챕터로 아주 재밌고 쉽게 읽을 수 있어요.
이 책은 굳이 처음부터 차례대로 읽을 필요는 없지만 네트워크 자동화에 대한 지식이 많지 않다면 챕터 순서를 따라가는 것이 좋아 보입니다. 챕터 2는 네트워크 자동화에 대한 개략적인 내용을 살펴보는 것으로 1장의 SDN을 잘 이해했다면 더 재밌게 읽을 수 있답니다. 네트워크 자동화의 역사, 유형 그리고 도구와 기술 등을 배울 수 있어요. ![]() ![]() 챕터 5에서 챕터 9까지는 네트워크 개발자에게 필요한 환경과 실제 개발에 필요한 언어인 파이썬, Go 언어 등을 배웁니다. 또한 네트워크 자동화 데이터를 모델링, 저장, 전달하는데 필요한 데이터 포맷과 모델 그리고 장비를 설정하는 템플릿까지 공부할 수 있습니다. 어떻게 보면 이 챕터들이 가장 실무에서 많이 쓰기는 기술적인 부분이라고 볼 수 있겠네요. 이미 알고 있는 내용이라면 쉽게 넘어갈 수 있는 챕터입니다.
챕터 10은 네트워크 API를 다룹니다. 실제로 실무에서 많이 사용되는 부분이지만 국내에서 이 단원과 관련된 내용이 저술된 책은 거의 없습니다. 영어도 잘 못하는 제가 표준 문서를 보면서 꾸역꾸역 공부했던 NETCONF나 RESTCONF와 같은 내용이 적힌 책은 저는 처음 보네요.
챕터 12는 자동화 도구들을 어떻게 사용하는지 배우는 실용적인 챕터로 앤서블, NAPALM 등을 이용한 노르니르, 테라폼 같은 오픈소스 자동화 도구의 사용법을 익히는 것을 핵심으로 담고 있습니다. 제가 가장 아는 내용이 없던 부분이라 관심이 많이 갔던 챕터에요.
마지막 챕터인 14장은 책 『네트워크 인프라 자동화』의 내용을 전체적으로 포괄하면서 모든 개념을 하나로 묶은 네트워크 자동화솔루션의 참조 아키텍처를 제안하면서 마무리합니다. 핵심은 네트워크 자동화 솔루션을 구축하기 위한 종합적인 전략을 어떻게 수립하는지를 살펴보는 것입니다. 책에서는 이해하기 쉽고 적용하기도 쉬운 방식으로 구성할 수 있느 네트워크 자동화 아키텍처를 제안하는데, 이를 참고한다면 실무에서도 많은 도움을 얻을 수 있을 것이라 생각됩니다. 『네트워크 인프라 자동화』은 입문자에게는 쉽지 않은 두꺼운 책... 그러나 네트워크 업계에 발을 들이고 싶다면 반드시 필요한 책이 아닐까 싶습니다. 이미 네트워크 업계에 몸을 담고 있는 저도 많이 부족해서 큰 도움을 얻게 된 재밌는 책입니다. 시간이 된다면 책을 하나하나 곱씹어 보면서 따로 내용을 정리하는 글을 작성해 보는 것도 좋겠네요. 아주 좋은, 재밌는 책을 만났습니다. 『네트워크 인프라 자동화』 리뷰 끝. 한빛미디어 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. |
|
"네트워크 인프라 자동화"는 네트워크 관련 책들 중에서 단연 눈에 띄는 작품입니다. 사실, IT 분야에서 일하는 사람이라면 자동화의 중요성을 이미 알고 있을 텐데, 이 책은 그런 사람들에게 실질적인 도움을 주기 위해 쓰였다고 느꼈습니다. 처음 이 책을 접했을 때, 네트워크 자동화라는 주제가 다소 어렵게 느껴졌습니다. 하지만 책의 첫 장부터 천천히 설명해주는 덕분에, 소프트웨어 정의 네트워킹(SDN) 같은 개념도 쉽게 이해할 수 있었습니다. SDN이 무엇인지, 그리고 이것이 어떻게 네트워크 자동화의 핵심이 되는지 자세히 설명해주니, 관련 지식이 부족한 사람도 따라가기가 쉬웠습니다. 특히 인상 깊었던 부분은 파이썬과 같은 프로그래밍 언어를 실제 네트워크 관리에 적용하는 방법을 상세히 다룬 점입니다. 이 책을 통해 네트워크 자동화에 필요한 스크립팅 기술을 배울 수 있었습니다. 책에서는 단계별로 실습할 수 있도록 구성되어 있어, 읽으면서 자연스럽게 실무 능력도 향상되는 느낌이었습니다. 또한, 리눅스와 클라우드 네이티브 환경에서의 네트워킹을 다루는 장도 매우 유익했습니다. 리눅스는 네트워크와 떼려야 뗄 수 없는 관계인데, 이 책은 리눅스에서의 네트워크 관리 방법을 쉽게 풀어줍니다. Ansible 같은 자동화 도구를 이용해 실제 네트워크 장비를 관리하는 방법도 소개해 주어, 직접 적용해 보고 싶은 생각이 들었습니다. 이 책의 또 다른 장점은 최신 트렌드를 잘 반영하고 있다는 것입니다. 클라우드, 컨테이너, 그리고 5G, IoT 등 요즘 핫한 기술들이 자동화와 어떻게 연결되는지 설명해 줍니다. 미래의 네트워크 기술이 어떻게 발전할지를 미리 엿볼 수 있어 흥미로웠습니다. 결론적으로, "네트워크 인프라 자동화"는 네트워크 자동화에 관심이 있는 누구에게나 꼭 추천하고 싶은 책입니다. 이론만 나열하는 책이 아니라, 실전에서 바로 써먹을 수 있는 지식과 기술을 담고 있어서 읽는 내내 유익했습니다. 네트워크 분야에서 일하시는 분들이라면, 이 책 한 권으로 많은 시간을 절약하고, 한층 더 성장할 수 있을 것 같습니다. |
![]() 네트워크 인프라 자동화 Network Programmability and Automation SDN 개념부터 파이썬, 리눅스, Ansible 활용까지 맷 오스왈트, 제이슨 에델만, 크리스티안 아델, 스콧S.로우 지음 이주호 옮김 [2판에서 새롭게 추가된 내용] 클라우드, 네트워크 개발자 환경, Go 언어, 네트워크 자동화 아키텍처 구글 프로토콜 버퍼, gRPC/gNMI, 테라폼 (Terraform), 노르니르 (Nornir) 분량 문제로 1판의 내용이 일부 누락되어 있다고 하며, 이에 대해서는 아래의 URL에서 자유롭게 이용할 수 있다고 합니다. https://oreilly-npa-book.github.io/ oreilly-npa-book.github.io [대상 독자] 네트워크 엔지니어 분들을 대상으로 하고 있지만, 책에서 얘기하는데로 네트워크 자동화 분야의 기반 기술과 기초 지식 토대를 갖출 수 있게 돕는 것이 주 목적이기에, IT 업계에 일하거나 IT 업계에 관심있는 모든 사람들을 대상 독자로 하고 있습니다. 책에서 바라보는 주 독자층은, 네트워크 엔지니어 시스템 관리자 소프트웨어 개발자 를 대상으로 바라보고 있습니다. 책 구성에서도 모든 장을 학습한다기 보다 각각에 맞게 필요한 영역을 학습할 수 있도록 나뉘어져 있으며, 네트워크에 대한 기반 지식 자체를 다루지는 않기 때문에 네트워크 프로토콜 개념등에 대해서는 다른 책 또는 관련 자료들을 통하여 학습이 필요할 수 있습니다. [온라인 참고 자료] https://github.com/oreilly-npa-book github.com [책 구성] 이 책은 총 14개의 장으로 구성되어 있습니다. 1 ~ 3장 까지는 다른 장들에 대한 배경 지식을 학습할 수 있도록 구성되어 있습니다. 1장. 네트워크 업계 동향 이 장에서는 SDN (Software-Defined Networking)과 관련 기술이 요즘 네트워킹 업계에 미치는 영향 등을 중심으로 네트워크 업계의 트렌드를 통찰해보고, SDN이 어떻게 주류가 되었고 결국에는 프로그래밍 가능한 네트워크와 자동화 사례를 주도하게 되었는지 학습할 수 있습니다. 2장. 네트워크 자동화 이 장에서는 아래의 주제들 네트워크 자동화에 관련하여 기반 개념을 확립할 수 있습니다. - 왜 네트워크 자동화인가 ? - 네트워크 자동화 유형 - SNMP에서 장비 API로 진화하는 관리 평면 - SDN 시대의 네트워크 자동화 3장. 리눅스 이 장에서는 네트워크 분야에서 많이 사용하고 있는 운영체제인 리눅스에 대해서 학습 할 수 있습니다. 네트워크 자동화 관점에서 리눅스를 학습해야하는 이유와 리눅스 배포한 종류, 그리고 리눅스 기본 사용 법을 학습 합니다. 다만, 네트워크 관련 부분에서 필요한 명령들 그리고 설정 관련 부분에 중점을 두고 있습니다. 그렇기 때문에 기본 명령들에 대해서는 사용법이 동일하지만 시스템 설정, 네트워크 설정 등은 배포판 또는 버전에 따라 지원되는 서비스 또는 설정 방식이 다르기 때문에 별도 자료를 통한 학습이 필요 합니다. 네트워크 구성에 대한 부분들은 자세하게 설명되어 있습니다. 4장. 클라우드 이 장에서는 네트워크 엔지니어가 업무에서 마주치게 되는 문제를 해결하기 위한 도구로 클라우드 컴퓨팅을 추가해 활용할 수 있도록 필요한 내용을 학습할 수 있습니다. 클라우드란, 클라우드 네트워크 기초 (네트워크 구성, 네트워크 자동화 등), 컨테이너란, 쿠버네티스에 대해서 학습 합니다. 5장. 네트워크 개발자 환경 이 장에서는 네트워크 엔지니어 및 소프트웨어 개발자에게 유용한 개발 도구들에 대해서 학습할 수 있습니다. 에디터, Make, 가상 환경 등에 대해서 알아 봅니다. 이 장에서 소개하는 툴들을 제외하고도 많은 툴들이 있기 때문에 각자에게 맞는 환경을 찾는 것이 중요한 것 같습니다. 다만, 리눅스를 사용한다면 vim 은 필수로 익히는게 좋습니다. (이왕이면 vim 의 plugin 까지 ....) 6장. 파이썬 이 장에서는 네트워크 엔지니어로서 파이썬의 필요성을 알아보고, 파이썬에 대한 기초 문법등을 예제를 통하여 학습할 수 있습니다. 7장. Go 언어 이 장에서는 네트워크 엔지니어로서 Go 언어의 필요성을 알아보고, Go 언어에 대한 기초 문법 그리고, 네트워크 자동화에서의 Go 언어에 대해서 학습할 수 있습니다. 기본적인 문법과 일부 필요한 모듈들에 대해서 설명하고 있기 때문에 좀 더 자세히 학습하고자 한다면 다른 책이나 자료를 참고하면 좋을 것입니다. 책에서는 "Network Automation with Go" 책을 추천하고 있습니다. 8장. 데이터 포맷 및 모델 이 장에서는 여러 소프트웨어에서 흔히 사용하고 있는 json, xml, yaml 등과 같은 데이터 모델에 대해서 알아보고 이와 관련하여 네트워크 자동화에서 가장 자주 사용되는 기술과 도구를 학습할 수 있습니다. 9장. 템플릿 이 장에서는 템플릿의 필요성과 네트워크 설정에 대해 템플릿을 만들기 위한 도구 소개 및 활용 그리고 구체적인 구현 방안, 네트워크 설정 템플릿 만드는 방법에 대해서 학습할 수 있습니다. 10장. 네트워크 API 사용하기 이 장에서는 네트워크 API 에 대해서 이해하고 파이썬 및 Go 언어를 사용해서 API 를 사용하는 프로그램을 작성해 보면서 네트워크 API를 이용한 네트워크 자동화에 대해서 학습할 수 있습니다. 11장. 깃을 이용한 버전 관리 이 장에서는 네트워크 자동화 과정에서 만들어진 결과물들을 효율적으로 관리하기 위한 도구로써 git 의 활용법 및 사용법에 대해 학습할 수 있습니다. git 도구를 이미 사용하고 있더라도 사용법 및 그 구조에 대해서 한번더 학습해보면 많은 도움이 될 것 같습니다. git 으로 협업하기 부분은 읽어보면 좋을 것 같습니다. 12장. 자동화 도구 이 장에서는 네트워크 자동화 분야에서 가장 인기를 얻고 있는 "앤서블", "노르니르", "테리폼" 에 대해서 사용법을 학습할 수 있습니다. 13장. 지속적 통합 (CI) 이 장에서는 네트워크 관리 및 운영 프로세스의 최적화와 관련된 내용을 학습할 수 있습니다. 14장. 네트워크 자동화 아키텍처 이 장에서는 네트워크 자동화 작업을 이해하기 쉽고 적용하기 쉬운 방식으로 구성할 수 있는 "네트워크 자동화 아키텍처"에 대해서 구조화된 접근 방식을 살펴보고, 아키텍처를 이루고 있는 각 구성 요소를 이해하고 이러한 방법론이 실제 적용되는 과정에서 어떻게 활용될 수 있는지를 예제를 통하여 학습할 수 있습니다. 이 책은 각장의 마지막에 "요약" 블럭을 두어 해당 장에서 어떠한 부분들을 살펴 보았는지에 대해서 얘기하고 있습니다. 각 장을 시작하기 전에 마지막의 "요약" 부분을 먼저 읽어 본 후 각 장을 학습하여도 좋을 것 같습니다. ![]()
내용 설명 중 좀 더 알면 좋을 부분들에 대해서는 "NOTE_" 와 "TIP_" 블럭을 두어 부연 설명하거나 또는 저자의 생각을 추가하여 학습 도중 좀 더 생각해 볼 수 있도록 지원하고 있습니다. ![]() ![]() 각 내용에 적절한 그림과 사용 예시 그리고 코드 예시들을 통하여 학습하는데 좀 더 쉽게 접근할 수 있도록 잘 정리가 되어 있습니다. ![]() ![]() ![]() [결론] 네트워크 엔지니어 뿐만 아니라 네트워크 소프트웨어를 개발하는 개발자 분들에게 네트워크 자동화 관련이 아니더라도 많은 도움이 될 만한 구성인 것 같습니다. 각각의 주제에 대해 방대한 양들을 모두 넣으려 노력한다기 보다 정말 필요한 부분들에 대해서 잘 추려서 내용 정리가 되어 있다고 생각 됩니다. 네트워크 자동화 관련에 포커스가 되어 있지만, 기반된 내용은 어디든 관련 분야에서 도움될 내용인 것 같습니다. 차례를 확인 후 필요한 부분들 위주로만 체크해서 읽어 보아도 좋을 것 같습니다. "한빛미디어 <나는리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." https://hanbit.co.kr/store/books/look.php?p_code=B2344470373 hanbit.co.kr |
1. 네트워크 인프라 자동화- 출판사: 한빛미디어 - 옮김: 이주호 ![]()
|
|
네트워크 프로그래밍과 자동화에 대해 다룬 신간이 나왔다. 우선 이 책을 처음 받고 나서 느꼈던 생각은 '정말 방대하다'였다. 분량이 우선 1000페이지 가까이 된다. 네트워크 분야야 제대로 다루려고 하면 분량은 한도 끝도 없이 늘어날 수 있겠지만 학습자로 하여금 어쩌면 압도되도록 할 수있는 분량이기에 궁금했다. 과연 어떤 내용을 담고 있기에 이렇게 두껍고 분량이 많은 것일까? 책을 리뷰하면서 그 의문이 풀렸다. 여러 관점이 있을 수 있겠지만 내 의견은 이렇다. 네트워크 분야의 엔지니어나 관련 분야 종사자에 필요한 모든 것을 담았다라는 것이다. 그래서 저자도 밝히고 있지만 모두 순서대로 읽을 필요는 없다고 한다. 다만 1~3 장은 뒤에 나올 내용들의 기본 지식을 다루고 있는 것이므로 그 부분은 먼저 읽도록 권고하고 있다. 사실 분량이 넓고 방대하기에 리뷰도 어떤 방향으로 해야 할지 고민했다. 그냥 내가 알고 있고 느낀 점 위주로 서술하려고 한다. 파이썬 부분을 다루는 부분을 보면 이런 목차가 있다. '네트워크 엔지니어가 코드까지 배워야 하나'라는 것이다. 당연히 네트워크 엔지니어도 프로그래밍이 일상적인 업무라고 생각했는데 내가 생각했던 네트워크 엔지니어의 정의와 실제 네트워크 엔지니어는 많이 달랐던 것 같다. 그래서 이 책의 특징은 중점적으로 다루는 언어인 파이썬과 Go를 아예 각각 챕터 전체를 차지하여 할애했다. 파이썬과 Go의 기본적인 프로그래밍 개념과 사용법을 다뤘다는 것이다. 그래서 분량에 대한 의문을 해소할 수 있었는데 네트워크 인프라를 자동화하기 위해서는 필수적으로 프로그래밍이 필요하다. 그러나 네트워크 엔지니어 중 소프트웨어보다 하드웨어에 가까운 부분을 다루는 엔지니어들은 프로그래밍에 그렇게 익숙하지는 않을 것 같다는 생각이 들었다. 하지만 그들도 학부시절에는 프로그래밍을 분명 배웠었을 것이기에 분량을 적절히 조절하여 이 책에 담은 것 같다. 그다음 특징적인 부분으로는 리눅스와 깃도 다루고 있다는 점이다. 네트워크의 설정은 아무래도 리눅스에서 많이 처리를 할 것이기 때문에 이부분은 필수적인 것으로 보인다. 그래서 리눅스 부분을 살펴보면 네트워크 인터페이스를 조작하는 부분이 많이 나와있다. 네트워크 장비들이 즐비한 서버실에서 리눅스를 피해갈 수 있는 엔지니어는 거의 없을 것이라 본다. 그리고 깃도 비중있게 다루었는데 네트워크 설정이 담긴 스크립트나 파일들을 버전별로 다루기 위해서 아무래도 필수적이라 생각했던 것 같다. 예전 SVN 같은 것들보다 깃이 편리한 만큼 도움이 많이 될 것 같다. 가장 독특하다고 생각했던 것은 파이썬과 Go의 템플릿 언어를 다루었던 것이다. 특히 파이썬에서 익숙한 'Jinja' 또한 비중있게 다루었다. 일반적으로 Jinja는 웹 프로그래밍을 할때 UI 부분, 그러니까 프런트엔드 쪽에 가까운 부분을 파이썬 언어로도 처리할 수 있도록 하는 템플릿 언어이다. 그래서 Django에서는 비슷한 자체 템플릿 언어는 있지만 아무래도 Django 외에 Flask, FastAPI 등에서는 Jinja를 가장 많이 사용한다. 내가 놀랐던 것은 Jinja를 이런 곳에서도 사용할 수 있다는 것이었다. 그러니까 네트워크 엔지니어들은 수많은 네트워크 장비를 다루는 경우가 많은데 설정이나 상태를 확인하기 위해서는 Jinja와 같이 정적 콘텐츠를 다루는 템플릿 언어가 네트워크 장비의 수와 관련 없이 많은 설정들을 확인할 수 있게 표시해준다는 것이다. 개인적으로는 Jinja의 또다른 쓰임새를 알 수 있어서 유익했다. 이외에도 자동화 도구나 지속적 통합 부분도 다루고 있다. 내용이 정말 많기에 네트워크 엔지니어나 개발자는 필요한 부분만 발췌하여 읽기에 최적화된 책인 것 같다. 예를 들어 파이썬으로 어떤 작업을 하려고 하는데 파이썬 언어의 사용법을 알아야 하는 경우 파이썬 부분만 찾아서 핵심만 읽는 것이다. 그리고 그 뒤에 나오는 것들이 파이썬 언어로 되어있는 것들이 많기에 코드를 해석하기 어렵다면 다시 파이썬 부분으로 가서 쓰임새를 알아보는 것이다. 물론 또 네트워크의 일반적인 지식, 그러니까 네트워크 장비 제조사(시스코, 아리스타, 주니퍼 등)들의 API를 다루는 부분도 당연히 나와있다. 내가 직접적으로 네트워크를 다루는 업무는 하지 않았지만 다른 동료가 네트워크 보안 취약점을 다루는 일이 있었기에 곁에서 지켜볼 수 있었는데 그 동료가 하는 일을 하기에 큰 도움이 될 수 있는 그런 책인 것 같다. 그 회사에서는 거의 모든 걸 Perl이나 C로 처리했는데 네트워크에서는 C로 주로 되어있던 것을 그 동료가 파이썬 기반으로 거의 다 바꿨었다. 그때 이 책이 있었더라면 그 친구에게도 큰 도움이 될 수 있었을 것이라 생각한다. |
|
《네트워크 인프라 자동화》(맷 오스왈트·제이슨 에델만·크리스티안 아델·스콧 S. 로우 지음, 이주호 옮김, 한빛미디어, 2024)는 자동화와 프로그래밍을 통해 네트워크를 효율적으로 관리할 수 있도록 도와주는 책입니다. 저자들은 풍부한 실무 경험을 바탕으로 개념뿐만 아니라 실제 적용 사례를 제시하며, 네트워크 프로그래밍과 자동화를 쉽게 이해하고 적용할 수 있도록 돕습니다. ![]() 책에서 다루는 주요 내용입니다. - SDN을 중심으로 한 네트워크 업계의 동향과 네트워크 자동화를 해야하는 이유 - Python과 Go 언어의 기본 문법과 사용법을 알려주는 프로그래밍 기초 - JSON, XML, YAML, YANG 등 다양한 데이터 형식과과 모델 소개 - 템플릿 엔진을 활용하여 네트워크 장비 설정 자동화 - 네트워크 API 역할과 사용하는 방법 - Git을 사용한 버전 관리법 - 자동화 도구(앤서블, 노르니르, 테라폼) 다뤄보기 - 깃랩으로 지속적 통합(CI)과 지속적 통합(CD)알아보기 - 네트워크 자동화 아키텍처를 통해 본 구성, 관리, 테스트, 구축, 운영의 자동화 전략 책에서 좋았던 점입니다. - 파이썬과 Go언어를 동시에 배울 수 있습니다. - 기초부터 고급 주제까지 체계적으로 구성하여 단계별로 학습할 수 있습니다. - 실무에서도 사용하는 다양한 도구 활용법을 익힐 수 있습니다. ![]() ![]() ![]() 책의 난이도는 중급에서 고급 수준입니다. 기본적인 네트워킹 지식과 프로그래밍 경험이 있는 독자에게 적합하지만, 모르는 사람도 단계별로 배워가면서 읽을 수 있습니다. 특히, 네트워크 엔지니어와 시스템 관리자에게 도움이 될 책입니다. 인상적인 부분으로는 고루틴을 사용하여 동시성을 설명하는 부분과 깃을 이용한 버전 관리입니다. 그림으로 개념에 대한 설명뿐만 아니라 코드로 실습하는 예시도 포함되어 있어 부족했던 부분을 채울 수 있었습니다. 그리고 앤서블, 노르니르, 테라폼을 사용한 네트워크 자동화 예제가 포함되어 있어, 자신의 환경에 맞는 도구를 선택하여 사용할 수 있습니다. 이 책을 통해 엔지니어를 편하게 해줄 뿐만 아니라 다양한 기능을 제공하는 네트워크 자동화가 얼마나 유용한지 알 수 있었습니다. 기존 네트워크 환경에서 관리의 한계와 자동화의 필요성을 비교하며 보여줘 이해가 잘 되었습니다. 또한, 단순히 기술적인 내용만을 나열하는 것이 아니라, 조직 문화의 변화와 팀원들 간의 협업의 중요성도 알 수 있어 많은 도움이 되었습니다. 책은 네트워크 엔지니어가 자동화 시대에 적응하고 성장하는 데 필요한 지식과 도구를 제공합니다. 세부적인 사항까지 놓치지 않는 설명, 실무에 바로 활용할 수 있는 예제, 최신 기술 트렌드를 반영한 내용이 한 권에 담겨 있다는 것이 좋았습니다. 네트워크 자동화는 더 이상 선택이 아닌 필수가 되어가고 있으며, 이 책을 앞서 나가고 싶은 분들께 추천하고 싶습니다. "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다." #네트워크인프라자동화, #네트워크, #인프라, #자동화, #파이썬, #Go, #고, #SDN, #깃, #Git, #DevOps, #데브옵스, #앤서블, #노르니르, #테라폼, #아키텍처, #gRPC, #서평, #리뷰 |
[BOOK] 네트워크 인프라 자동화 - 맷 오스왈트, 제이슨 에델만, 크리스티안 아델, 스콧 S. 로우 지음 / 이주호 옮김![]() 부제: "SDN 개념부터 파이썬, 리눅스, Ansible 활용까지" "네트워크 인프라 자동화"는 소프트웨어를 통한 네트워크 자동화를 통해 네트워크 인프라를 효율적으로 구축하는 방법에 대해 설명합니다. 상당히 많은 내용을 다루고 있어 책의 두께도 상당합니다. 984페이지! 네트워크 업계 동향과 네트워크 자동화에 대한 소개로 시작하여 네트워크 환경, 프로그래밍 언어, 데이터, 네트워크 장비 설정, API, 자동화 도구 등 네트워크 환경을 자동화하기 위한 다양한 주제를 다루고 있습니다. 도입부인 네트워크 업계 동향과 네트워크 자동화 소개 부분부터 많은 약어를 쏟아내고 있어서 네트워크와 프로토콜에 대한 기반 지식을 가지고 있어야 읽기 수월한 책입니다. 이 책을 통해 네트워크부터 자동화까지 한 번에 끝내고자 한다면 추천하지 않습니다. 네트워크와 인프라에 대한 기초 지식이 있는 상태에서 자동화를 고민하는 네트워크 엔지니어나 시스템 엔지니어 분들에게 도움이 되는 책입니다. "한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다." |
![]() [ 요약: 모두를 위한 네트워크 인프라 자동화 입문서]이 책으로 운영중인 네트워크 인프라를 멋지게 자동화하는 것은 어려울 수도 있다. 실무서보다는 연관 주제를 잘 정리해 둔 입문서에 가깝다. 얕지만 넓게, 그래서 어떤 이해 관계자가 접하더라도 필요한 내용을 찾을 수 있도록 방대한 분량으로 구성되었다. [ 왜 이렇게 두꺼워? ]책을 받아들고 가장 먼저 놀랐던 것은 이 책의 두께다. 자그마치 천 페이지의 거대한 분량. 무엇이 이 책을 이토록 두껍게 만들었는지 궁금함을 가지고 책을 읽기 시작했다. 언제나 그렇듯 먼저 목차를 둘러본다. 생각보다 역사, 배경 지식 등 관련 이론 설명이 많아보인다. 실습 중에는 실제 인프라 자동화 내용 외에도, 각각 90 페이지 분량의 Python, Go, Git에 대한 기초적인 설명을 다룬다. 처음에는 왜 굳이 넣었나 싶었지만, 저자의 대상 독자 목록을 보고 이해가 갔다. 네트워크 엔지니어, 시스템 관리자, 소프트웨어 개발자 기초의 종류가 다양한 모든 이들에게 네트워크 자동화 분야의 입문을 돕기 위함이었고, 저자의 마음이 느껴지는 대목이었다. 하지만 책은 느리고, 기술은 빠르다. 이 책이 좀 더 널리 소비되고자 한다면, 대상 독자를 좁히고, 책의 분량을 줄일 필요가 있다. 뭐, 4명의 저자가 협동한다면 얘기가 달라질 수도 있겠지만. (웃음) [ 자동화가 필요한 이유 ]평소처럼 속독부터 시작했다. 분량이 많아서 걱정했는데, 생각보다 시간이 오래 걸리지는 않았다. 초반 배경 설명에서 기억에 남는 내용은 다음과 같다. 각양각색 비표준 방식의 하드웨어를 CLI로 일일이 하나씩 조작하던 시절이 있었다. 물론 지금도 그런 방식으로 일을 하긴 하지만, 핵심은 확장성이다. 단순히 기기를 추가하는 scale-out 방식의 확장 뿐만 아니라, 비즈니스 요구사항의 추가에도 대응할 수 있다는 것이 핵심이다. 계속 읽으면서 AWS와 같은 IaaS 서비스 업체들이 가지는 문제 인식과 이를 개선하기 위한 효율적인 방안을 제시하는 것과 같은 느낌을 받았다. 네트워크 자동화는 정확히 그 부분을 목표로 한다. 단순한 장비 설정 초기화 작업 뿐만 아니라, 네트워크 운영의 효율성을 높이는 것이 핵심이다. 저자는 자동화의 장점을 다소 모호하게 설명하는데, 내용을 읽은 후의 내 생각은 다음과 같다. 하드웨어 추상화, 비즈니스 요구사항 컴파일, 자동화 시스템 빌드 결국 모든 것을 소프트웨어의 세계로 끌고 오기 위한 작업들이다. 하드웨어의 사양이 각기 다르니 인터페이스를 통해 상호작용하고, 모호했던 실세계의 요구사항은 명시적인 프로그래밍 언어로 구체화한다. 각각의 필요한 구성 요소들이 애플리케이션 레벨에 모였으니, 나머지 문제는 프로그래밍이 해결할 수 있다. 코드가 있으니 워크플로를 눈으로 볼 수 있다. 코드가 되었으니, 보안 감사나 개선은 물론이고, 소프트웨어 개발 수준에서 사용되는 모든 방식의 효율적인 확장이 가능해진다. [ 알아야 하는 것들: 얕고 넓게 ]초반에는 배경/역사, 그리고 11장까지는 주변 또는 기초가 되는 기술을 다룬다. 자동화에 대한 본격적인 이야기들은 12장이 되어서야 다룬다. 앞의 모든 내용들은 다 이 부분을 위한 준비라 하더라도 과언이 아니다. 12장에서 앤서블, 노르니르, 테라폼 세 종류의 도구에 대한 설명과 실습을 진행한다. 13장에서 DevOps에서 다루는 CI/CD 개념을 소개하고, 14장에서는 최종적으로 네트워크 자동화를 달성하기 위한 실제적인 고민과 방법들이 제시된다. 그 사이에도 참고할 만한 내용들은 있다. Linux와 Python에 대해 다루더라도, 네트워크와 연관된 내용들이 일부 포함되어 있다. 네트워크 장비와 통신하는 프로토콜ㅡ 개발자라면 익숙할 REST(ful) API에 대한 내용도 있다. 그 근간은 웹 이전에 서로 다른 시스템들 간의 통신에서 비롯되었음을 알 것이다. 실질적인 활용처에 대해 항상 의문을 가졌는데, 이런 분야에서 활용되고 있었다. 어찌되었든 대부분 알고 있거나 들어본 내용이라, 처음부터 정독하기보단, 핵심 내용을 본 후에 관련 지식이 부족함을 느끼면 돌아와서 공부하는 편이 나을 것 같다. [ Brief Overview ]나는 목적을 가지고 소비할 수 있는 형태의 책을 선호한다. 문제를 정의하고, 문제를 해결하는 이야기가 담긴 책. 강의에 비유한다면 교양보다는 프로젝트 실습을 선호한다. 그러나 이 책은 아쉽게도 교양에 가깝다. 여러 교수님의 특강으로 구성되는데, 다행히 내용은 이어지는 그런 느낌이랄까. 이 분야 자체가 지속적인 논의를 거치며 성숙해지고 있다는 사실에 비춰본다면, 이러한 형태가 현재로서의 최선일수도 있겠다는 생각도 든다. 향후 어떤 게임 체인저가 판도를 뒤바꿀지 모르는 상황에, 변화에 뒤쳐질 내용으로 실무서를 쓰기보단, 최대한 많은 이들이 입문할 수 있도록 돕는 것이 생태계를 위해 바람직한 방향일지도 모른다. 그렇지만 기대가 컸던터라 조금 아쉬움이 남는 그런 책이었다. 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다. |