네트워크 인프라 자동화
Network Programmability and Automation
SDN 개념부터 파이썬, 리눅스, Ansible 활용까지
맷 오스왈트, 제이슨 에델만, 크리스티안 아델, 스콧S.로우 지음
이주호 옮김
[2판에서 새롭게 추가된 내용]
클라우드, 네트워크 개발자 환경, Go 언어, 네트워크 자동화 아키텍처
구글 프로토콜 버퍼, gRPC/gNMI, 테라폼 (Terraform), 노르니르 (Nornir)
분량 문제로 1판의 내용이 일부 누락되어 있다고 하며, 이에 대해서는 아래의 URL에서 자유롭게 이용할 수
있다고 합니다.
https://oreilly-npa-book.github.io/
[대상 독자]
네트워크 엔지니어 분들을 대상으로 하고 있지만,
책에서 얘기하는데로 네트워크 자동화 분야의 기반 기술과 기초 지식 토대를 갖출 수 있게 돕는 것이 주 목적이기에,
IT 업계에 일하거나 IT 업계에 관심있는 모든 사람들을 대상 독자로 하고 있습니다.
책에서 바라보는 주 독자층은,
네트워크 엔지니어
시스템 관리자
소프트웨어 개발자
를 대상으로 바라보고 있습니다.
책 구성에서도 모든 장을 학습한다기 보다 각각에 맞게 필요한 영역을 학습할 수 있도록 나뉘어져 있으며,
네트워크에 대한 기반 지식 자체를 다루지는 않기 때문에 네트워크 프로토콜 개념등에 대해서는 다른 책 또는 관련
자료들을 통하여 학습이 필요할 수 있습니다.
[온라인 참고 자료]
https://github.com/oreilly-npa-book
[책 구성]
이 책은 총 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
'리뷰 > IT_책소개' 카테고리의 다른 글
대규모 머신러닝 시스템 디자인 패턴 : 한빛미디어 (0) | 2024.12.29 |
---|---|
O'REILLY 밑바닥부터 시작하는 딥러닝5 : 한빛미디어 (1) | 2024.11.26 |
O'REILLY 이펙티브 러스트 : 한빛미디어 (3) | 2024.10.27 |
O'REILLY AI를 위한 필수 수학 : 한빛미디어 (1) | 2024.09.29 |
보고혁명 : 한빛미디어 (1) | 2024.07.29 |
실전 레디스 : 한빛미디어 (0) | 2024.06.29 |
그림으로 배우는 스프링6 입문 : 한빛미디어 (0) | 2024.04.27 |
게임 AI를 위한 탐색 알고리즘 입문 : 한빛미디어 (0) | 2024.03.24 |
LARGE LANGUAGE MODELS : 한빛미디어 (0) | 2024.02.26 |
신비로운 전자부품 매크로 포토그래피 : 한빛미디 (1) | 2023.12.26 |