메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

네트워크 인프라 자동화

SDN 개념부터 파이썬, 리눅스, Ansible 활용까지

한빛미디어

번역서

판매중

  • 저자 : 맷 오스왈트 , 제이슨 에델만 , 크리스티안 아델 , 스콧 S. 로우
  • 번역 : 이주호
  • 출간 : 2024-08-10
  • 페이지 : 984 쪽
  • ISBN : 9791169212656
  • 물류코드 :11265
  • 초급 초중급 중급 중고급 고급
4.8점 (18명)
좋아요 : 9

네트워크 관리의 새로운 표준, 자동화로 앞서간다! 

네트워크 자동화의 기초부터 실전까지 다루는 완벽 가이드

 

이 책은 급변하는 IT 환경에서 네트워크 관리자와 엔지니어들이 반드시 알아야 할 자동화 기술의 진수를 담아낸 가이드북이다. 하지만 단순한 이론서는 아니다. SDN의 혁신적 개념부터 파이썬을 활용한 고급 네트워크 스크립팅, 리눅스 기반의 강력한 네트워크 관리 기법, 그리고 Ansible을 이용한 대규모 인프라 자동화까지, 실전에서 즉시 활용 가능한 기술들을 망라한다. 구글, 아마존, 페이스북과 같은 기술 거인들이 어떻게 네트워크를 자동화하여 효율성을 극대화하는지, 그 비밀이 이 한 권에 모두 담겨 있다.

 

네트워크 자동화의 세계적 권위자들이 집필한 이 책은, 단순히 '무엇을' 해야 하는지가 아니라 '어떻게' 해야 하는지를 상세히 알려준다. 실제 기업 환경에서 발생하는 복잡한 네트워크 문제들을 자동화로 해결하는 과정을 단계별로 제시하며, 독자들은 이를 통해 수백 시간의 작업을 단 몇 분으로 줄이는 마술 같은 경험을 하게 될 것이다. 5G, IoT, 클라우드 네이티브 환경에서의 자동화 전략부터 AI를 활용한 네트워크 최적화까지, 미래 네트워크 기술의 큰 그림을 이 책에서 만나보자. 당신은 단순한 네트워크 관리자에서 진정한 '네트워크 아키텍트'로 거듭날 것이다.

 

맷 오스왈트 저자

맷 오스왈트

클라우드페어(Cloudflare)의 이그레스(Egress)팀에서 선임 시스템 엔지니어로 일하고 있으며, 분산 시스템 및 인터넷/웹 프로토콜에 관심이 많은 소프트웨어 엔지니어다. 일반적으로 대규모, 하드웨어 쪽에 가까운 시스템을 다룬다. oswalt.dev에 자신의 최근 관심사를 담아낸 글을 작성하고 있다.

제이슨 에델만 저자

제이슨 에델만

네트워크 자동화 솔루션 분야의 선두 업체인 네트워크 투 코드Network to Code의 설립자이자 CTO이다. 2014년에 네트워크 투 코드를 설립했다. 데브옵스가 시스템 관리자와 개발자를 위한 IT 운영 모델을 근본적으로 변화시킨다는 사실을 경험한 후 네트워킹 분야에서도 데브옵스와 소프트웨어의 기존 기술을 결합해 전체적인 네트워크 자동화 솔루션을 구축할 수 있다는 새로운 기회를 포착했다. 네트워크 투 코드를 설립하기 이전에는 프레시디오(Presidio), 블루워터(BlueWater), 시스코(Cisco)에서 기술 영업을 담당했으며, 네트워크 솔루션의 아키텍처를 설계하고 개발했다.
트위터 계정은 @jedelman8이다.

크리스티안 아델 저자

크리스티안 아델

네트워킹 및 IT 자동화에 관련된 여러 업무를 수행하는 네트워크 소프트웨어 엔지니어다. 현재 네트워크 투 코드에서 수석 아키텍트로 근무하면서 오픈소스 소프트웨어 중심으로 다양한 사용 사례에 맞는 네트워크 자동화 솔루션을 구축하는 데 집중하고 있다. 트위터 계정은@chadell0이다.

스콧 S. 로우 저자

스콧 S. 로우

풀루미(Pulumi)에서 데브렐(DevRel)로 근무 중이다. 수년 동안 연산 및 네트워크 가상화를 전담했으며, 현재는 클라우드 컴퓨팅과 IaC에 집중하고 있다. 직장 생활을 하면서도 여러 권의 기술 서적을 집필했으며, 기술적인 내용은 블로그(blog.scottlowe.org )에 주기적으로 공유하고 있다.

이주호 역자

이주호

네트워크 전문 업체였던 인네트에서 웹 기반 NMS 엔진, 패킷 캡처 및 분석 도구, 넷플로 분석 도구 개발 등에 참여했으며, 나모 인터랙티브 개발실장으로 모바일 PDA 소프트웨어인 핸드스토리와 기업용 검색 엔진인 딥서치를 개발했다. 이후 글로벌 소프트웨어 개발 과정에 대한 호기심으로 미국으로 건너가 블리자드 HQ, NCSoft USA에서 플랫폼 서비스 및 애플리케이션 개발에 참여했다. 스마일게이트 스토브에서 개발이사로 게임 런처와 게임 SDK, 모바일 앱 등 게임 플랫폼 연동 서비스의 개발을 이끌었으며, 현재 메디테크 스타트업인 인티그레이션에서 기술전략이사로 의료인이 사용하는 SaaS 플랫폼의 개발을 이끌고 있다. 『MakeKorea』1, 2호와 『소프트웨어 테스팅 법칙 293가지』(정보문화사, 2004 ), 『Databases with PostgreSQL』(정보문화사, 2002), 『Effective Visual Studio .NET』(정보문화사, 2003), 『Practical Android Projects 』(한빛미디어, 2012) 등 다수의 IT 서적을 번역했다.

Chapter 1: 네트워크 업계 동향
1.1 소프트웨어 정의 네트워킹의 부상  
1.2 소프트웨어 정의 네트워킹이란?

 

Chapter 2: 네트워크 자동화
2.1 왜 네트워크 자동화인가?  
2.2 네트워크 자동화 유형  
2.3 SNMP에서 API로 발전한 관리 평면  
2.4 SDN 시대의 네트워크 자동화

 

Chapter 3: 리눅스
3.1 네트워크 자동화 관점에서 바라본 리눅스  
3.2 간략히 살펴보는 리눅스의 역사  
3.3 리눅스 배포판  
3.4 리눅스 사용하기  
3.5 리눅스에서의 네트워킹  
3.6 배시 스크립트를 이용한 리눅스 자동화  
3.7 eBPF와 XDP를 통한 리눅스 커널의 진화

 

Chapter 4: 클라우드
4.1 클라우드 컴퓨팅의 간략한 정의  
4.2 클라우드 네트워크 기초  
4.3 컨테이너  
4.4 쿠버네티스

 

Chapter 5: 네트워크 개발자 환경
5.1 텍스트 편집기  
5.2 개발 도구  
5.3 에뮬레이션/시뮬레이션 도구

 

Chapter 6: 파이썬
6.1 네트워크 엔지니어가 코드까지 배워야 하나?  
6.2 대화형 인터프리터 사용하기  
6.3 데이터 타입  
6.4 조건문  
6.5 포함  
6.6 반복문  
6.7 함수  
6.8 파일 처리  
6.9 파이썬 프로그램 만들기  
6.10 모듈  
6.11 스크립트에 인자 전달하기  
6.12 PIP를 사용해 파이썬 패키지 설치하기  
6.13 클래스  
6.14 try/except로 실패 포용하기  
6.15 파이썬 프로그램의 병렬 실행

 

Chapter 7: Go 언어
7.1 왜 Go 언어인가?  
7.2 Go 언어의 기본 개념  
7.3 고급 개념  
7.4 패키지와 모듈

 

Chapter 8: 데이터 포맷과 모델
8.1 구조화된 데이터 포맷의 장점과 기초  
8.2 텍스트 데이터 포맷  
8.3 바이너리 데이터 포맷  
8.4 데이터 모델링

 

Chapter 9: 템플릿
9.1 최신 템플릿 언어의 등장  
9.2 네트워크 자동화에서 템플릿이 지닌 가치  
9.3 진자  
9.4 XSLT  
9.5 Go 언어 템플릿

 

Chapter 10: 네트워크 API 사용하기
10.1 네트워크 API에 대한 이해  
10.2 자동화용 네트워크 API 사용하기

 

Chapter 11: 깃을 이용한 버전 관리
11.1 버전 관리 시스템의 사용 사례  
11.2 버전 관리의 장점  
11.3 네트워킹에서 버전 관리의 이점  
11.4 깃 입문  
11.5 깃 사용하기  
11.6 깃에서 브랜치 사용하기  
11.7 깃으로 협업하기

 

Chapter 12: 자동화 도구
12.1 자동화 도구 검토  
12.2 앤서블 사용하기  
12.3 노르니르를 이용한 자동화  
12.4 테라폼을 이용한 동적 인프라 관리

 

Chapter 13: 지속적 통합
13.1 핵심 전제 요건  
13.2 지속적 통합의 기본  
13.3 네트워킹을 위한 지속적 통합 파이프라인

 

Chapter 14: 네트워크 자동화 아키텍처
14.1 네트워크 자동화 아키텍처 소개  
14.2 아키텍처 구성 요소 개관  
14.3 예제를 통한 아키텍처 이해  
14.4 요약

복잡한 네트워크 환경의 효율적 관리를 위한 최적의 솔루션
SDN부터 Ansible까지, 네트워크 자동화의 모든 것을 담은 종합 안내서
 

오늘날의 IT 환경에서 네트워크 인프라의 자동화는 더 이상 선택이 아닌 필수입니다. 『네트워크 인프라 자동화』는 네트워크 프로그래머빌리티(Network Programmability)와 자동화의 최신 트렌드를 다루는 필독서로, 복잡한 네트워크 환경을 효과적으로 관리하고 최적화하는 방법을 제시합니다.
 

이 책은 초보자부터 전문가까지 모두에게 유용한 지침서로, SDN(Software Defined Networking) 개념부터 시작해 파이썬, 리눅스, Ansible 등 다양한 도구를 활용한 네트워크 자동화 기술을 체계적으로 설명합니다. 각 장에서는 실제 현업에서 바로 적용할 수 있는 실습 예제와 함께, 네트워크 자동화의 기본 원리부터 심화 기술까지 단계별로 학습할 수 있도록 구성되어 있습니다.
 

주요 내용

  • SDN 개념 이해: 네트워크 자동화의 기본이 되는 SDN의 개념과 구조를 체계적으로 설명합니다.
  • 파이썬과 리눅스 활용: 파이썬과 리눅스를 활용해 네트워크 장비를 자동화하는 방법을 소개합니다.
  • Ansible을 이용한 자동화: Ansible을 활용한 네트워크 자동화 실습 예제를 통해 실제 환경에 바로 적용할 수 있는 기술을 제공합니다.
  • 실습과 사례 연구: 각 장마다 제공되는 실습과 실제 사례 연구를 통해 실무 능력을 향상시킵니다.


 

원서의 제목은 『 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 등 요즘 핫한 기술들이 자동화와 어떻게 연결되는지 설명해 줍니다.

미래의 네트워크 기술이 어떻게 발전할지를 미리 엿볼 수 있어 흥미로웠습니다.

결론적으로, "네트워크 인프라 자동화"는 네트워크 자동화에 관심이 있는 누구에게나 꼭 추천하고 싶은 책입니다.

이론만 나열하는 책이 아니라, 실전에서 바로 써먹을 수 있는 지식과 기술을 담고 있어서 읽는 내내 유익했습니다. 네트워크 분야에서 일하시는 분들이라면, 이 책 한 권으로 많은 시간을 절약하고, 한층 더 성장할 수 있을 것 같습니다.

"네트워크 인프라 자동화"는 981페이지에 걸쳐 네트워크 자동화의 모든 측면을 깊이 있게 다루는 포괄적인 가이드북입니다. 초보자부터 전문가까지 폭넓은 독자층을 대상으로 하며, 체계적이고 단계적인 구성으로 네트워크 자동화의 핵심을 효과적으로 전달합니다.

실제 현장에서 즉시 적용 가능한 기술과 노하우를 제공하며, 각 장마다 실제 네트워크 환경을 반영한 예제와 실습 과제가 풍부합니다. 네트워크 환경, 프로그래밍 언어(특히 파이썬), 앤서블, API 활용 등 다양한 주제를 다룹니다.

다만, 네트워크 기초 지식이 없는 독자에게는 어려울 수 있으며, 기술의 빠른 발전으로 일부 내용이 구식일 수 있습니다. 그럼에도 불구하고, 이 책은 네트워크 엔지니어와 IT 전문가들에게 매우 유용한 자료로, 네트워크 자동화 학습의 훌륭한 시작점이 될 것입니다.

IT를 둘러싼 다양한 변화와 그에 따른 요구를 수용하면서 IT 시스템은 더욱 고도화되고 복잡성도 역시 함께 증가하게 된다. 문제는 겉잡을 수 없을 정도로 복잡성이 커지게 되면 시스템을 처리하고 장애에 대응하기가 결코 수월하지 않게 된다는 것이다. 이럴 때 바로 자동화가 빛을 발하게 되는데, 네트워크 분야 역시 자동화에 대한 요구에서 벗어날 수 없으며 이제는 하나의 큰 흐름으로 자리 잡고 있는 추세다. 오늘은 네트워크 인프라 자동화에 대한 서적에 대해 이야기하고자 한다. 

본 서적은 SDN(소프트웨어 정의 네트워킹)의 등장 배경을 통해 네트워크 업계에 대한 동향을 살펴보는 것으로 시작된다. 모든 것이 소프트웨어로 제어되고 관리되는 시대에 네트워크 분야 역시 이러한 거대한 흐름 속에서 예외적인 상황이 될 수 없었고, 오늘날 SDN은 이제 하나의 주류로 자리 잡게 되었다. 이윽고 네트워크 자동화가 발전하게 된 맥락을 다루면서 SDN이 네트워크 자동화를 추동하는 핵심 요소임을 다시 한번 이해하게 된다. 이어서 네트워크와 밀접한 관계를 맺고 있는 리눅스와 클라우드 등의 연관성을 해부하며 파이썬, Go 언어에 대한 기초를 학습하기 위한 토대가 마련된다. 그러고 나서 다양한 데이터 포맷의 유형을 살펴보게 되고 템플릿의 등장과 그것의 존재 이유와 함의에 대한 설명이 이어지며 네트워크 API를 통해 자동화를 구현하기 위한 용례를 학습하게 된다. 한편 네트워크 자동화를 온전히 지탱하기 위한 버전 관리, 자동화 도구 CI 등에 대해 차례대로 학습하게 되면서 소포트웨 엔지니어링 측면에서 보다 효율적으로 네트워크 자동화가 구현될 수 있음을 체감하게 된다. 끝으로 네트워크 자동화 아키텍처와 관련된 세부 사항을 둘러보면서 책은 마무리된다.


이 책은 단순히 네트워크 인프라 자동화 기법에 대해 다루지 않고, 자동화가 필요하게 된 근본적인 이유와 맥락을 다양한 케이스를 통해 살펴보고 이를 구현하기 위한 효율적인 도구와 기술 그리고 방벙론까지 망라하여 핵심을 일목요연하게 정리하고 있다. 또한 자동화를 통해 네트워크 인프라가 온전히 동작하고 운영되며 관리될 수 있도록 주변 기술과(버전 관리 시스템, CI 등) 연계하여 최적화될 수 있는 구체적인 가이드를 면밀하게 제시하고 있다. 네트워크 인프라 자동화 에 관심이 있는 입문자는 기초부터 시작하여 고급 기술까지 탄탄히 학습할 수 있는 토대를 마련할 수 있고 타 분야 IT 업계 종사자는 자동화에 대한 인사이트를 얻어 본인이 몸담고 있는 분야에 적용할 수 있는 든든한 레퍼런스를 확보할 수 있을 것으로 생각된다. 자동화는 더 이상 미룰 수 없는 시대의 흐름이며, 네트워크 분야도 예외는 아니다. 이제 이 책을 통해 네트워크 인프라 자동화의 첫 여정을 시작해 보는 건 어떨까?

 

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

[BOOK] 네트워크 인프라 자동화 - 맷 오스왈트, 제이슨 에델만, 크리스티안 아델, 스콧 S. 로우 지음 / 이주호 옮김

부제: "SDN 개념부터 파이썬, 리눅스, Ansible 활용까지"

 

"네트워크 인프라 자동화"는 소프트웨어를 통한 네트워크 자동화를 통해 네트워크 인프라를 효율적으로 구축하는 방법에 대해 설명합니다. 상당히 많은 내용을 다루고 있어 책의 두께도 상당합니다. 984페이지! 네트워크 업계 동향과 네트워크 자동화에 대한 소개로 시작하여 네트워크 환경, 프로그래밍 언어, 데이터, 네트워크 장비 설정, API, 자동화 도구 등 네트워크 환경을 자동화하기 위한 다양한 주제를 다루고 있습니다.

 

도입부인 네트워크 업계 동향과 네트워크 자동화 소개 부분부터 많은 약어를 쏟아내고 있어서 네트워크와 프로토콜에 대한 기반 지식을 가지고 있어야 읽기 수월한 책입니다. 이 책을 통해 네트워크부터 자동화까지 한 번에 끝내고자 한다면 추천하지 않습니다. 네트워크와 인프라에 대한 기초 지식이 있는 상태에서 자동화를 고민하는 네트워크 엔지니어나 시스템 엔지니어 분들에게 도움이 되는 책입니다.

 

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


 

네트워크 인프라 자동화

  Network Programmability and Automation

  SDN 개념부터 파이썬, 리눅스, Ansible 활용까지

 

  맷 오스왈트, 제이슨 에델만, 크리스티안 아델, 스콧S.로우 지음

  이주호 옮김

 

[2판에서 새롭게 추가된 내용]

    클라우드, 네트워크 개발자 환경, Go 언어, 네트워크 자동화 아키텍처

    구글 프로토콜 버퍼, gRPC/gNMI, 테라폼 (Terraform), 노르니르 (Nornir)

 

분량 문제로 1판의 내용이 일부 누락되어 있다고 하며, 이에 대해서는 아래의 URL에서 자유롭게 이용할 수 있다고 합니다.

https://oreilly-npa-book.github.io/

Network Programmability and Automation Extra Content

 

oreilly-npa-book.github.io

 

[대상 독자]

네트워크 엔지니어 분들을 대상으로 하고 있지만,

책에서 얘기하는데로 네트워크 자동화 분야의 기반 기술과 기초 지식 토대를 갖출 수 있게 돕는 것이 주 목적이기에, IT 업계에 일하거나 IT 업계에 관심있는 모든 사람들을 대상 독자로 하고 있습니다.

책에서 바라보는 주 독자층은,

   네트워크 엔지니어

   시스템 관리자

   소프트웨어 개발자

를 대상으로 바라보고 있습니다.

책 구성에서도 모든 장을 학습한다기 보다 각각에 맞게 필요한 영역을 학습할 수 있도록 나뉘어져 있으며,

네트워크에 대한 기반 지식 자체를 다루지는 않기 때문에 네트워크 프로토콜 개념등에 대해서는 다른 책 또는 관련 자료들을 통하여 학습이 필요할 수 있습니다.

 

[온라인 참고 자료]

https://github.com/oreilly-npa-book

oreilly-npa-book

oreilly-npa-book has 2 repositories available. Follow their code on GitHub.

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_"  블럭을 두어 부연 설명하거나 또는 저자의 생각을 추가하여 학습 도중 좀 더 생각해 볼 수 있도록 지원하고 있습니다.

 

 

각 내용에 적절한 그림과 사용 예시 그리고 코드 예시들을 통하여 학습하는데 좀 더 쉽게 접근할 수 있도록 잘 정리가 되어 있습니다.

 

 

 

 

 

[결론]

네트워크 엔지니어 뿐만 아니라 네트워크 소프트웨어를 개발하는 개발자 분들에게 네트워크 자동화 관련이 아니더라도

많은 도움이 될 만한 구성인 것 같습니다.

각각의 주제에 대해 방대한 양들을 모두 넣으려 노력한다기 보다 정말 필요한 부분들에 대해서 잘 추려서 내용 정리가 되어

있다고 생각 됩니다.

네트워크 자동화 관련에 포커스가 되어 있지만, 기반된 내용은 어디든 관련 분야에서 도움될 내용인 것 같습니다.

차례를 확인 후 필요한 부분들 위주로만 체크해서 읽어 보아도 좋을 것 같습니다.

1. 네트워크 인프라 자동화


- 출판사: 한빛미디어
- 저자: 맷 오스왈트, 제이슨 에델만, 크리스티안 아델, 스콧 S.로우

- 옮김: 이주호
- 별점: ★★★★★
- 한줄평: 네트워크 인프라 자동화에 대한 모든 것을 알려주고 싶은 책 두께, 찐으로 증명한다.

 

네트워크 인프라 자동화


2. 목차부터 구성


빠르게 변화하는 클라우드 환경이나, 개발을 통한 자동화 관리, 오픈소스의 발전 등 네트워크 구성을 하는데 있어서 자동화의 역할은 이제 거스를 수 없는 변화로 보입니다. 별도로 잘 정리된 책이 없었는데 이번에 네트워크 자동화와에 대한 좋은 책이 나온 것 같습니다.

 

"후니의 쉽게 쓴 시스코 네트워킹" 저자 진강훈님이 책 맨 처음부터 추천사를 작성해주셔서 그만큼 더 믿음이 가는 책이지 않나 싶습니다.

 

진강훈님 - 추천사

 

목차는 정말 많습니다. 책 두께가 증명하고 있지만, 두께가 너무 크면 그만큼 실속 없는 내용으로 채워지는 책이 많았는데 이 책은 장 구성도 좋고 장마다 말하고자 하는 바가 명확해서 실제 네트워크 인프라를 담당하시는 분은 물론이고 보안이나, 개발자 등 IT기술인력 모두가 보아도 좋은 책으로 보입니다.

 
목차구성
Chapter 01 네트워크 업계 동향

Chapter 02 네트워크 자동화 

Chapter 03 리눅스

Chapter 04 클라우드

Chapter 05 네트워크 개발자 환경

Chapter 06 파이썬

Chapter 07 Go 언어

Chapter 08 데이터 포맷과 모델

Chapter 09 템플릿

Chapter 10 네트워크 API 사용하기

Chapter 11 깃을 이용한 버전 관리

Chapter 12 자동화 도구

Chapter 13 지속적 통합

Chapter 14 네트워크 자동화 아키텍처

 

네트워크 업계 동향부터 시작하여 네트워크 자동화 기술, 요즘 핫한 클라우드에서 환경, 그리고 네트워크 전문가를 위한 개발 언어 소개까지 정말 다양합니다. 특히나, 자동화 도구 사용법과 마지막 장인 네트워크 자동화 아키텍처에 대한 설명은 실무에 바로 적용하고 이해할 수 있도록 구성된 것도 돋보였습니다.

 

목차

 

Chapter 04 클라우드 장에서는 클라우드에 대한 전반적인 사항들이 설명되어 있습니다. 클라우드 네트워크를 구성하는 요소가 무엇이 있는지, 기초적인 용어부터 AWS, VPC에 대한 사항까지 IT인력이 이해하기 쉽게 설명해줍니다. 워낙 두꺼운 책이다 보니, 개념부분이 이해 되지 않거나 할 때 데스크에 뒀다가 두고두고 봐도 좋은 책일 것 같습니다.

 

또한, 클라우드와 더불어 요즘 가장 많이 쓰이며 빠르게 발전하고 있는 컨테이너에 대한 설명도 좋았습니다. 네트워크 장비 제조사들이 리눅스 기반으로 만들어진 프랫폼에서 컨테이너를 적극적으로 활용하고 있는 점은 처음 알게되었는데 네트워크 도구를 모아서 컨테이너 이미지를 만들어서 활용할 수 있는 점, 그리고 그것을 이어지는 챕터를 통해서 실무적인 부분을 알려주어 독자들이 실무에 적용할 수 있게 이해시켜주고 있습니다.

 

클라우드

 

네트워크 자동화 도구로는 앤서블, 노르니르, 테라폼에 대해서도 독자들이 쉽게 따라할 수 있게 설정 방법을 친절히 알려주고 있습니다. 인터넷 검색만으로도 해당 도구들에 대한 사용법은 쉽게 찾을 수 있으나, 책에서 어떤 순서로 어떻게 사용해야하는지에 대해 설명해주고 있다보니 처음 접하시는 분들에게도 많은 도움이 되지 않을까 합니다.

 

자동화 도구 - 앤서블

 

마지막으로 네트워크 자동화를 하기 위해서 필수적으로 이해하고 알아야할 아키텍처 부분인데요. 저자의 말처럼 "이해하지 못한 작업을 자동화할 수는 없다." 라는 말이 인상적이었습니다. 네트워크 자동화 설계를 위한 아키텍처 접근 방식에 대해 어떻게 접근해야하는지 저자가 말하고 싶은 바를 짧지만 잘 풀내었다고 봅니다. 특히, 14.3절의 예제를 통한 아키텍처 이해 파트에서 업무단계 파악, 업무단계 정의를 기반으로 한 자동화된 작업 전환, 아키텍처 구성 요소 매핑하기를 통해 실무에서 접근하는 방식을 소개하여, 무작정 자동화하기보다 순차적으로 접근하는 방식을 실무자에게 친절히 설명해주면서 마무리 하고 있습니다.

 

네트워크 자동화 아키텍처

 

 

3. 총평


옮긴이의 말처럼 이 책은 네트워크 프로그래밍 가능성 및 자동화의 핵심인 업무 간소화에 초점을 맞춘 책입니다. 자동화를 통한 업무 간소화를 하는데 있어서 알아야할 모든 지식을 방출하는 이 책을 실무자에게 적극 추천드립니다.
  
 

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

 

《네트워크 인프라 자동화》(맷 오스왈트·제이슨 에델만·크리스티안 아델·스콧 S. 로우 지음, 이주호 옮김, 한빛미디어, 2024)는 자동화와 프로그래밍을 통해 네트워크를 효율적으로 관리할 수 있도록 도와주는 책입니다.
저자들은 풍부한 실무 경험을 바탕으로 개념뿐만 아니라 실제 적용 사례를 제시하며, 네트워크 프로그래밍과 자동화를 쉽게 이해하고 적용할 수 있도록 돕습니다.

 


책에서 다루는 주요 내용입니다.
- SDN을 중심으로 한 네트워크 업계의 동향과 네트워크 자동화를 해야하는 이유
- Python과 Go 언어의 기본 문법과 사용법을 알려주는 프로그래밍 기초
- JSON, XML, YAML, YANG 등 다양한 데이터 형식과과 모델 소개 
- 템플릿 엔진을 활용하여 네트워크 장비 설정 자동화
- 네트워크 API 역할과 사용하는 방법
- Git을 사용한 버전 관리법
- 자동화 도구(앤서블, 노르니르, 테라폼) 다뤄보기 
- 깃랩으로 지속적 통합(CI)과 지속적 통합(CD)알아보기
- 네트워크 자동화 아키텍처를 통해 본 구성, 관리, 테스트, 구축, 운영의 자동화 전략

책에서 좋았던 점입니다.
- 파이썬과 Go언어를 동시에 배울 수 있습니다.
- 기초부터 고급 주제까지 체계적으로 구성하여 단계별로 학습할 수 있습니다.
- 실무에서도 사용하는 다양한 도구 활용법을 익힐 수 있습니다.
 

 

 

 


책의 난이도는 중급에서 고급 수준입니다. 기본적인 네트워킹 지식과 프로그래밍 경험이 있는 독자에게 적합하지만, 모르는 사람도 단계별로 배워가면서 읽을 수 있습니다. 특히, 네트워크 엔지니어와 시스템 관리자에게 도움이 될 책입니다.

인상적인 부분으로는 고루틴을 사용하여 동시성을 설명하는 부분과 깃을 이용한 버전 관리입니다. 그림으로 개념에 대한 설명뿐만 아니라 코드로 실습하는 예시도 포함되어 있어 부족했던 부분을 채울 수 있었습니다. 그리고 앤서블, 노르니르, 테라폼을 사용한 네트워크 자동화 예제가 포함되어 있어, 자신의 환경에 맞는 도구를 선택하여 사용할 수 있습니다.

이 책을 통해 엔지니어를 편하게 해줄 뿐만 아니라 다양한 기능을 제공하는 네트워크 자동화가 얼마나 유용한지 알 수 있었습니다. 기존 네트워크 환경에서 관리의 한계와 자동화의 필요성을 비교하며 보여줘 이해가 잘 되었습니다. 또한, 단순히 기술적인 내용만을 나열하는 것이 아니라, 조직 문화의 변화와 팀원들 간의 협업의 중요성도 알 수 있어 많은 도움이 되었습니다.

책은 네트워크 엔지니어가 자동화 시대에 적응하고 성장하는 데 필요한 지식과 도구를 제공합니다. 세부적인 사항까지 놓치지 않는 설명, 실무에 바로 활용할 수 있는 예제, 최신 기술 트렌드를 반영한 내용이 한 권에 담겨 있다는 것이 좋았습니다. 네트워크 자동화는 더 이상 선택이 아닌 필수가 되어가고 있으며, 네트워크 자동화의 모든 것을 다룬 이 책을 추천하고 싶습니다.
 

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



IT 환경에서 네트워크 인프라 자동화는 필수 요소로 자리 잡아갈 시기라고 생각합니다. 비즈니스 환경은 끊임없이 변화하고 있으며, 이에 따라 네트워크도 더 복잡하고 관리가 어려워지고 있는데요. 수많은 장치와 애플리케이션이 실시간으로 상호작용을 하는 상황에서 수동으로 모든 네트워크 설정을 관리하는 것은 비효율적이고 오류 발생할 위험도 커집니다. 자동화를 통해 신속한 대응과 확장성을 가능하게 해 변화에 민첩하게 대응하고, 비즈니스의 경쟁력을 유지하기 위해 네트워크 인프라 자동화는 전략적인 선택입니다.

 

이번에 소개할 책은 IT 환경이 급변하는 상황에서 네트워크 자동화는 더 이상 선택이 아닌 필수라고 합니다. 네트워크 프로그래밍 가능성과 자동화에 관련된 종합적인 정보를 담고 있는 가이드북 네트워크 인프라 자동화를 소개합니다.

 

책의 도입 부분으로 들어가면 네트워크 자동화 즉 프로그래밍 가능성이란 무엇일까? 이 질문에 답으로 시작합니다. 소프트웨어 정의 네트워크(SDN) 개념을 등장하면서 마치 건물의 기초를 다치는 것처럼 SDN 네트워크 자동화의 근간이라는 무엇인지 이해할 수 있는 1장 네트워크 업계 동향, 2장 네트워크 자동화에서 만나 볼 수 있습니다. 직무와 상관없이 공통으로 읽으면서 네트워크 자동화 트렌드와 방향성을 잡을 수 있습니다. 독자의 배경지식에 따라 건너뛸 수 있는 부분이지만 네트워크 자동화 프로그래밍 가능성이란 무엇일까? 질문에 자신의 답을 찾을 수 있는 시간을 가질 수 있는 1, 2장이라고 생각합니다.

 

나머지 장들은 독립적으로 구성되어 있어, 배경 정보와 토대가 되는 내용이므로 쉽게 읽어 나갈 수 있는데요. 원하는 정보나 끌리는 주제를 찾아가는 재미도 맛볼 수 있는데요. 각 장마다 필요한 정보를 찾을 수 있도록 서로 참고할 정보를 제공합니다. 이 책의 장점으로 네트워크 자동화에 관한 지식을 토대로 실무에 적용할 수 있는 점입니다. 이론적 지식을 쌓을 뿐만 아니라 현장에서 바로 응용할 수 있도록 문제 해결 시나리오, 단계별 실습 과정, 실제 사례 기반의 학습이 가능한 도구와 기술에 대한 설명을 중점으로 담고 있습니다.

 

이뿐만 아니라 업계의 발전과 변화에 발맞춰 새로운 내용도 추가 되었는데요. 4장 클라우드, 5장 네트워크 개발자 환경, 7장 Go 언어, 14장 네트워크 자동화 아키텍처와 구글 프로토콜 버퍼, gRPC/gNMI, 테라폼, 노르니르 등 새롭고 흥미로운 주제들을 만날 수 있습니다.

 

네트워크 인프라 자동화 중점이 된 내용

SDN 개념 이해 : 네트워크 자동화의 기초가 되는 SDN의 개념과 구조를 설명합니다.

리눅스 기반 네트워킹 : 리눅스와 클라우드 네이티브 환경을 기반으로 한 새로운 네트워크 기술을 소개합니다.

자동화 도구 : Ansible, Nornir, Terraform과 같은 도구를 사용해 네트워크 장치 및 서비스를 자동화하는 방법을 다룹니다.

프로그래밍 기술 : 네트워크 자동화 작업에 필수적인 파이썬과 Go 언어를 이용한 프로그래밍 기술을 가르칩니다.

실무 지식 : 실제 시나리오, 단계별 실습, 사례 연구 등을 통해 실무 능력을 강화할 수 있는 실용적인 지식을 제공합니다.

 

네트워크 인프라 자동화 책을 통해 네트워크 자동화에 대해 더 깊이 이해하고, 최신 기술 트렌드를 따라잡고 싶은 독자분에게 흥미로운 길잡이가 되어줄 것입니다. 초보자부터 전문가까지 모든 대상이 배울 수 있는 방대한 양의 정보를 담고 있으며, 기술적 역량이 한 단계 끌어 올릴 수 있는 시간이라고 생각합니다.

 

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

이 책은 네트워크 프로그래밍 자동화를 다룬다. 서비스, 연결성을 설정하고 운영, 관리하는 방법을 알려준다

네트워킹 영역에서의 여러 방법론이나 여러 도구들을 소개해주는데 네트워크 구축 경험이 없는 사람에게 큰 인사이트를, 현재 네트워크 인프라 구축 및 운영을 하는 쪽에서는 나름의 노하우를 배울 수 있는 좋은 책이라는 생각이 든다.

 

요즘은 클라우드가 더이상 어색하지 않은 시대다. 그만큼 '자동화' 라는 부분은 우리 삶 깊숙히 들어와 있다.
하지만 IT 엔지니어로서 우리가 업무를 하다보면 클라우드를 사용하는 경우도 있지만 온프레미스 환경에서 작업을 하는 경우도 많이 있다.
이런 경우 네트워크등의 자동화는 어떻게 해야 할까?

이 책을 이용하면 그 해답을 얻을 수 있다. 
아래 목차를 보면 네트워크 기본 부터 CICD, 네트워크 자동화 아키텍처까지 다양한 부분을 소개하고 있는 것을 확인할 수 있다.

 

 

 

그렇다면 누가 이 책을 봐야 할까? IT 엔지니어라면 모두 이 책을 봐야하지 않을까 한다.
'난 개발자인데 왜 필요할까요?' 라는 생각을 할 수 있지만 개발자에게도 필요하다. 같이 일하고 싶은 팀원 중 개발만 하는 사람과 네트워크에 대한 이해도도 높은 사람 중 누구와 일하고 싶은가?
서로에게 긍정적인 도움을 주는 사람과 일하고 싶을 것이다. 네트워크에 대한 이해가 있다면 트러블 슈팅 및 아키텍처 구성과 같은 상위 레벨의 설계에 도움을 받을 수 있다.

그렇기에 모든 IT 엔지니어에게 이 책을 기본서이자 참고서로 추천한다.

 

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

 

네트워크 프로그래밍과 자동화에 대해 다룬 신간이 나왔다. 우선 이 책을 처음 받고 나서 느꼈던 생각은 '정말 방대하다'였다. 분량이 우선 1000페이지 가까이 된다. 네트워크 분야야 제대로 다루려고 하면 분량은 한도 끝도 없이 늘어날 수 있겠지만 학습자로 하여금 어쩌면 압도되도록 할 수있는 분량이기에 궁금했다. 과연 어떤 내용을 담고 있기에 이렇게 두껍고 분량이 많은 것일까? 책을 리뷰하면서 그 의문이 풀렸다. 여러 관점이 있을 수 있겠지만 내 의견은 이렇다. 네트워크 분야의 엔지니어나 관련 분야 종사자에 필요한 모든 것을 담았다라는 것이다. 그래서 저자도 밝히고 있지만 모두 순서대로 읽을 필요는 없다고 한다. 다만 1~3 장은 뒤에 나올 내용들의 기본 지식을 다루고 있는 것이므로 그 부분은 먼저 읽도록 권고하고 있다. 사실 분량이 넓고 방대하기에 리뷰도 어떤 방향으로 해야 할지 고민했다. 그냥 내가 알고 있고 느낀 점 위주로 서술하려고 한다.

 

파이썬 부분을 다루는 부분을 보면 이런 목차가 있다. '네트워크 엔지니어가 코드까지 배워야 하나'라는 것이다. 당연히 네트워크 엔지니어도 프로그래밍이 일상적인 업무라고 생각했는데 내가 생각했던 네트워크 엔지니어의 정의와 실제 네트워크 엔지니어는 많이 달랐던 것 같다. 그래서 이 책의 특징은 중점적으로 다루는 언어인 파이썬과 Go를 아예 각각 챕터 전체를 차지하여 할애했다. 파이썬과 Go의 기본적인 프로그래밍 개념과 사용법을 다뤘다는 것이다. 그래서 분량에 대한 의문을 해소할 수 있었는데 네트워크 인프라를 자동화하기 위해서는 필수적으로 프로그래밍이 필요하다. 그러나 네트워크 엔지니어 중 소프트웨어보다 하드웨어에 가까운 부분을 다루는 엔지니어들은 프로그래밍에 그렇게 익숙하지는 않을 것 같다는 생각이 들었다. 하지만 그들도 학부시절에는 프로그래밍을 분명 배웠었을 것이기에 분량을 적절히 조절하여 이 책에 담은 것 같다.

 

그다음 특징적인 부분으로는 리눅스와 깃도 다루고 있다는 점이다. 네트워크의 설정은 아무래도 리눅스에서 많이 처리를 할 것이기 때문에 이부분은 필수적인 것으로 보인다. 그래서 리눅스 부분을 살펴보면 네트워크 인터페이스를 조작하는 부분이 많이 나와있다. 네트워크 장비들이 즐비한 서버실에서 리눅스를 피해갈 수 있는 엔지니어는 거의 없을 것이라 본다. 그리고 깃도 비중있게 다루었는데 네트워크 설정이 담긴 스크립트나 파일들을 버전별로 다루기 위해서 아무래도 필수적이라 생각했던 것 같다. 예전 SVN 같은 것들보다 깃이 편리한 만큼 도움이 많이 될 것 같다.

 

가장 독특하다고 생각했던 것은 파이썬과 Go의 템플릿 언어를 다루었던 것이다. 특히 파이썬에서 익숙한 'Jinja' 또한 비중있게 다루었다. 일반적으로 Jinja는 웹 프로그래밍을 할때 UI 부분, 그러니까 프런트엔드 쪽에 가까운 부분을 파이썬 언어로도 처리할 수 있도록 하는 템플릿 언어이다. 그래서 Django에서는 비슷한 자체 템플릿 언어는 있지만 아무래도 Django 외에 Flask, FastAPI 등에서는 Jinja를 가장 많이 사용한다. 내가 놀랐던 것은 Jinja를 이런 곳에서도 사용할 수 있다는 것이었다. 그러니까 네트워크 엔지니어들은 수많은 네트워크 장비를 다루는 경우가 많은데 설정이나 상태를 확인하기 위해서는 Jinja와 같이 정적 콘텐츠를 다루는 템플릿 언어가 네트워크 장비의 수와 관련 없이 많은 설정들을 확인할 수 있게 표시해준다는 것이다. 개인적으로는 Jinja의 또다른 쓰임새를 알 수 있어서 유익했다.

 

이외에도 자동화 도구나 지속적 통합 부분도 다루고 있다. 내용이 정말 많기에 네트워크 엔지니어나 개발자는 필요한 부분만 발췌하여 읽기에 최적화된 책인 것 같다. 예를 들어 파이썬으로 어떤 작업을 하려고 하는데 파이썬 언어의 사용법을 알아야 하는 경우 파이썬 부분만 찾아서 핵심만 읽는 것이다. 그리고 그 뒤에 나오는 것들이 파이썬 언어로 되어있는 것들이 많기에 코드를 해석하기 어렵다면 다시 파이썬 부분으로 가서 쓰임새를 알아보는 것이다.

 

물론 또 네트워크의 일반적인 지식, 그러니까 네트워크 장비 제조사(시스코, 아리스타, 주니퍼 등)들의 API를 다루는 부분도 당연히 나와있다. 내가 직접적으로 네트워크를 다루는 업무는 하지 않았지만 다른 동료가 네트워크 보안 취약점을 다루는 일이 있었기에 곁에서 지켜볼 수 있었는데 그 동료가 하는 일을 하기에 큰 도움이 될 수 있는 그런 책인 것 같다. 그 회사에서는 거의 모든 걸 Perl이나 C로 처리했는데 네트워크에서는 C로 주로 되어있던 것을 그 동료가 파이썬 기반으로 거의 다 바꿨었다. 그때 이 책이 있었더라면 그 친구에게도 큰 도움이 될 수 있었을 것이라 생각한다.



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

데브옵스 엔지니어를 위한 A부터 Z까지의 책이라고 생각됩니다.
워낙 많은 내용을 담다보니, 독자에 따라 쉬울 수도 어려울 수도 있을거라 생각이 드는데, 무관한 업무의 개발자 (웹 프론트엔드)로서 쉬운 책은 아니었습니다.
다만, 얕게라도 서버를 구성하기 위한 것들에 대해 알 수 있어 추천하는 책입니다.

네트워크 인프라 자동화 / 맷 오스왈트 외 3인 지음 / 한빛미디어

 

[ 요약: 모두를 위한 네트워크 인프라 자동화 입문서]

이 책으로 운영중인 네트워크 인프라를 멋지게 자동화하는 것은 어려울 수도 있다. 실무서보다는 연관 주제를 잘 정리해 둔 입문서에 가깝다. 얕지만 넓게, 그래서 어떤 이해 관계자가 접하더라도 필요한 내용을 찾을 수 있도록 방대한 분량으로 구성되었다.

 

[ 왜 이렇게 두꺼워? ]

책을 받아들고 가장 먼저 놀랐던 것은 이 책의 두께다. 자그마치 천 페이지의 거대한 분량. 무엇이 이 책을 이토록 두껍게 만들었는지 궁금함을 가지고 책을 읽기 시작했다.

 

언제나 그렇듯 먼저 목차를 둘러본다. 생각보다 역사, 배경 지식 등 관련 이론 설명이 많아보인다. 실습 중에는 실제 인프라 자동화 내용 외에도, 각각 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 ]

나는 목적을 가지고 소비할 수 있는 형태의 책을 선호한다. 문제를 정의하고, 문제를 해결하는 이야기가 담긴 책. 강의에 비유한다면 교양보다는 프로젝트 실습을 선호한다. 그러나 이 책은 아쉽게도 교양에 가깝다. 여러 교수님의 특강으로 구성되는데, 다행히 내용은 이어지는 그런 느낌이랄까.

 

이 분야 자체가 지속적인 논의를 거치며 성숙해지고 있다는 사실에 비춰본다면, 이러한 형태가 현재로서의 최선일수도 있겠다는 생각도 든다. 향후 어떤 게임 체인저가 판도를 뒤바꿀지 모르는 상황에, 변화에 뒤쳐질 내용으로 실무서를 쓰기보단, 최대한 많은 이들이 입문할 수 있도록 돕는 것이 생태계를 위해 바람직한 방향일지도 모른다. 그렇지만 기대가 컸던터라 조금 아쉬움이 남는 그런 책이었다.

 

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

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

책을 읽기전에 
 ML 엔지니어 직무로 업무를 수행하고 있는 3년 차 개발자이다. 최근 내가 느낀 나의 포지션은 "연구와 프론트엔드를 제외한 모든 것을 담당하는 직무"라고 느끼고 있다. 실제로도 업무 범위가 넓고, 다양한 분야를 동시에 다루고 있다. 이런 업무 특성상 새로운 기술과 지식을 끊임없이 습득하고, 이를 업무에 적용하는 과정이 필수적이다. 그냥 사용하기까지는 쉽지만 제대로 사용하기 위해서는 역시 기초적인 지식부터 습득해야 하기 마련이다. 최근에는 MLOps의 분야에 관심이 있고, 업무에 적용하기 위해서 노력 중인데, 그 과정에서 부족한 네트워크 지식을 습득하고자 이 책을 선택하게 되었다. 

책을 읽으며
  우선 네트워크 자동화란, 무엇일까? 네트워크 내 구성, 관리, 테스트, 배포 및 운영과 같은 기능을 자동화하는 것을 말한다.  현대의 IT기업에서 CI/CD나 K8S 등 핫한 키워드들의 공통점은 빠르게 변화하고 있는 흐름에 발맞춰 빠르게 대응하기 위한 자동화 수단이다. 마찬가지로, 네트워크 자동화 또한 꼭 필요한 수단이라고 볼 수 있다.  책에서는 과거 네트워크의 시작부터 오늘날의 네트워크 자동화에 이르기까지 전반적인 내용을 소개한다. 그다음으로는 관련된 도구와 방법론을 자세히 소개하며 차근차근 따라갈 수 있게 다양한 예시와 비교를 통해서 설명한다. 네트워크 자동화를 시작으로 이와 연관해서 깃이나 Ansible, CI/CD 등 다양한 대표적인 자동화 아키텍처를 설명하고 있다. 책의 분량이 매우 많은 편이기 때문에, 개인적으로는 개념적인 부분을 먼저 읽고, 필요할 때  도구와 관련된 부분을 찾아서 읽는 방법을 추천한다.

책을 읽고나서
 최근에 MLOps의 분야에 관심이 생기고 공부하면서 "자동화"라는 키워드의 중요성을 새삼 깨달았다. Ansible을 사용해서 회사 서버 자원을 프로비저닝을 해보기도 하고 간단하게 쿠버네틱스 환경을 구축해 보기도 하고 실제 업무에서 사용하는 클라우드에 오토스케일링 기술을 적용해 보기도 했다. 처음 구축하는 과정은 번거롭기도 하고 시간도 많이 소요되지만, 한번 시스템을 구축한 뒤로는 반복적인 작업에 소모되는 시간이 많이 줄어들고, 새로운 기능을 추가하는 것도 간편했다. 또한, 앞서 언급한 거창한 기술들이 아니라도, 기존에 수작업으로 하던 작업을 알고리즘을 구현하여 간편하게 만드는 것 역시 자동화라고 생각한다. 이렇듯 생각보다 자동화라는 개념은 인지하지 못했을 뿐 생각보다 가까이에 있고 익숙한 부분이다. 
 오늘날의 ML 엔지니어는 다양한 분야를 다루기 마련이다. 업무의 효율성을 높이기 위해서는 직접 구현하지 않더라도 자동화는 무엇인지, 사용하는 방법이나 왜 사용하는지에 대해서는 알고 넘어가야 한다고 생각한다. 이 책은 그런 개발자들에게 추천할만한 도서라고 생각한다.   

 

네트워크 관련 제품을 개발하는 입장에서 테스트 환경을 구성하고 테스트하는 것은 매번 번거럽게 느껴지는 일인 것 같다. 어쩔수없이 반복적으로 해야하는 일이지만 반복적인 부분은 자동화하면 좋지 않을까 생각하곤 한다. 물론 docker 사용으로 서버 설치 및  설정에 대한 부분은 간편하게 만들 수 있고, 많은 부분을 스크립트로 만들어 편리성을 높였다고 생각한다. 하지만 적어도 네트워크 구성에 대한 부분은 여전히 환경을 구성하고 케이블을 연결하고 네트워크 설정을 하는 등 반복적인 작업이 수시로 이어지는 것 같다.

 

이 책을 처음 접했을 때 게속 고민하던 부분을 상당부분 해소할 수 있지 않을까 생각했다. 책의 초반에는 이미 익숙한 네트워크 개념 및 네트워크 자동화, 리눅스에 대한 개념이 소개되어 빠르게 넘어갈 수 있었다. 이후 클라우드와 네트워크 개발자 환경, 그리고 파이쎤, Go 언어 부분도 눈의 띄는 부분만 빠르게 읽고 넘어갈 수 있었다. 개념적인 부분은 데이터 포맷 및 모델, 템플릿 등 개념을 주의깊게 파악할 수 있었으며, 네트워크 API 부분에서 좀 더 편리하게 어플리케이션 레벨에서 네트워크 설정을 자동화할 수 있는 개념을 익힐 수 있는 것 같다. 깃을 이용한 버전 관리나 자동화 도구, 지속적 통합 부분은 평상시에 해오고 있던 부분과 조금 생소한 부분들이 섞여 있었지만 그럭저럭 어렵지 않게 파악할 수 있었던 것 같다.

 

마지막 네트워크 자동화 아키텍처 부분에서는 지금까지 학습한 개념과 기술을 종합하여 네트워크 자동화를 도입하기 위한 전반적인 전략을 소개한다. 개념과 기술을 아는 것과 그것을 실제 환경으로 구성하는 것에는 큰 차이가 있다. 이 차이를 해소하기 위해 자동화 작업을 이해하기 쉽고 적용하기도 쉬운 방식으로 구성할 수 있는 네트워크 자동화 아키텍처를 제안하고 있다. 이 아키텍처에는 요구 사항과 구성 요소간 의존 관계를 쉽게 정의할 수 있는 구조화된 관점을 제공하고 있기 때문에 네트워크 자동화 솔루션으로 자동화된 작업을 설계하고 그에 대한 구현 방안을 선택할 때 시스템 관점에서 더 나은 결정을 내리는데 도움을 주고 있다. 실제 네트워크 자동화를 위해 현실적으로 고려해야할 다양한 요소들이 설명되고 있기 때문에 실무적인 관점에서 다양한 방향으로 접근할 수 있었던 것 같다. 기초적인 지식부터 네트워크 자동화에 대한 구체적인 방안까지 폭넓은 정보를 제공해 주는 책인 것 같다.

 

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

이 책은, 제목대로 네트워크 엔지니어가 읽으면 도움이 될 만한 내용이었다.

백엔드 개발자가 읽기에는 다소 생소한 용어들이 많았지만, 네트워크, 리눅스 역사나 클라우드 개념을 훑어보기엔 재밌었다.

 

 

이 책은 정말 많은 걸 담으려고 한 게 느껴졌다.

네트워크 엔지니어와 개발자 모두에게 도움이 되고 싶었던 느낌이랄까?

기초부터 심화까지 많은 부분을 담으려고 하다보니 1000페이지 가량의 두꺼운 책이 탄생했고, 처음부터 끝까지 보기엔 힘든 책이었다.

파이썬, 고 언어의 기초 설명, git 설치 설명과 브랜치 협업 방법부터 TDD 찍먹의 파트 등

네트워크 엔지니어에게 이 한 책으로 많은 걸 설명하고 싶었던 게 느껴진다.

네트워크 엔지니어를 시작하는 사람에게는 어느정도 학습의 방향을 정해줄 수는 있어보인다.

이 책을 한 번 훑고 더 파보고 싶은 부분을 별도로 검색하거나, 해당되는 책을 더 파볼 수 있어 보이고,

많은 내용이 있다 보니 필요한 순간에 필요한 파트를 골라골라 볼 때 도움이 될 것 같다.

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

책의 제목에서 주는 어딘가 익숙한 용어 때문에 실제  Application 개발시 필요한 네트워크 자동화에 초점을 맞추는 부분을 다루지 않을까 싶었는데 그보다는 시스템적으로 네트워크 자동화를 다루기 위해 두루두루 가이드 해준다는 부분에서 필요할때마다 꺼내보는 책의 용도에 더 적합하지 않을까 싶다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
네트워크 인프라 자동화
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
네트워크 인프라 자동화
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
네트워크 인프라 자동화
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 책0