소프트웨어 아키텍처 101 - 엔지니어링 접근 방식으로 배우는 소프트웨어 아키텍처 기초
마크 리처즈.닐 포드 지음, 이일웅 옮김 / 한빛미디어 / 2021년 11월
평점 :
구판절판


훌륭한 건축물을 만들기 위해서는 훌륭한 설계도가 필요하다. 마찬가지로 훌륭한 소프트웨어를 만들기 위해서는 훌륭한 아키텍처가 필요하다. 너무나 단순하고 명료한 진리임에도 불구하고 아키텍처의 중요성을 간과하는 케이스는 도처에서 쉽게 목도되곤 한다. 그저 동작하기만 하는 소프트웨어를 만들고 그것을 서비스로 고객에 전달하며, 그 이후에 발생 되는 자잘한 결함과 오류, 그것들을 처리하기 위해 다시 수 많은 인력이 시간과 비용을 투입하며 고군분투하는 경우를 우리는너무 흔하게 접해 왔고 지금도 그런 사례들이 우리 주위에 회자되곤 한다. 그렇다면 이렇게 하지 않기 위해서 우리는 무엇을 할 수 있을까? 어떻게 하면 훌륭한 소프트웨어를 만들 수 있을까 하는 질문에 대한 답을 오늘 소개하는 서적이 제공하고 있다. 

 

소프트웨어의 뼈대를 지탱하는 설계도는 바로 이키텍처다. 이 아키텍처를 만들기 위해서는 아키텍트가 소프트웨어 개발 현장의 중심에 서있고, 그는 수 많은 이해관계자들과 다양한 요구사항을 청취하고 트레이드 오프를 따져 보며 종국적으로 소프트웨어의 근간인 아키텍처를 설계한다. 그 이후 채택 된 아키텍처는 다양한 이해관계자들에게 전달되어 소프트웨어 개발이 진행 되고 비로소 완성된다. 결국 소프트웨어 아키텍처는 소프트웨어를 지탱하는 주춧돌이자 핵심이라 할 수 있겠다. 





이 책은 소프트웨어 아키텍처 설계 과정에 있어, 다양한 아키텍처 패턴과 아키텍트에게 필요한 소프트 스킬과 여럿 유용한 팁을 제공하는 훌륭한 아키텍처 설계 지침서라 요약할 수 있다. 모놀리스로 부터 시작하여 마이크로 서비스 아키텍처(MSA)로 끝나는 소프트에어 아키텍처 패턴을 통해 다양다종한 아키텍처의 변종과 진화한 유형을 거쳐, 작금의 클라우드 네이티브 환경에 걸맞는 아키텍처가 MSA임을 은연중에 깨닫게 된다. 

 

각설하고 본 서적은 다양한 아키텍처 패턴의 본질과 케이스를 통해 해당 아키텍처의 장단점을 각각 비교하며 결국 저자가 설파하는 아키텍처를 설계하는 궁극의 요소는 바로 '트레이드 오프'와 '최악의 아키텍처를 피하고 차악의 아키텍처를 선택한다'라는 것으로 귀결된다. 책의 첫 장을 넘기며 완독한 이후에 머릿 속에 맴도는 가장 주요한 2가지 원칙, 이것은 아직까지도 마음 속 깊은 곳을 강렬하게 자리잡고 있음을 고백하지 않을 수가 없다. 

 

아키텍처 패턴은 정형화 되어 있지만 한 시대를 풍미하는 IT 패러다임과 트렌드에 의해 진화되고 발전 되고 있다. 그 수 많은 패턴 중 어떤 것을 선택할지는 아키텍트의 수 많은 고민이 투사되며, 다양한 이해관계자들과의 끊임 없는 소통을 통해 다듬어지고 결국엔 하나의 선택지가 채택 된다. 하지만 그 선택지가 정답은 아니며 언제라도 그것은 변경 될 수 있고 갈아 치워질 수도 있음을 우리는 인지해야 할 것이다. 계속해서 변화하는 환경 속에서 강건한 아키텍처로 자리 잡는 최고의 아키텍처는 존재하지 않는다. 다만 우리가 선택한 아키텍처는 트레이드 오프에 대한 철저한 계산과 차악을 채용한 결과임을 잊지 말아야 할 것이다. 

 

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



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
핸즈온 해킹 - 침투 테스트의 전 과정을 알려주는 모의 해킹 완벽 가이드
매슈 히키.제니퍼 아커리 지음, 류광 옮김 / 한빛미디어 / 2021년 9월
평점 :
장바구니담기



기업의 IT 인프라 위에서 동작하는 서비스가 온전한 생명력을 갖추기 위해서 정보보안은 필수인 시대이다. 정보보안이 제대로 갖춰지지 않은 인프라 환경은 취약성을 내포하고 있고, 이는 곧 잠재적 리스크로 남게 된다. 기업 뿐만 아니라 개인에게 있어서도, 기본적인 보안 환경이 구성 되어 있지 않다면 음지의 세계에서 암약하는 해커에게 먹잇감이 되는 건 시간 문제다. 보안의 중요성은 결코 쉽게 간과 되어서도 안 되고, 끊임 없는 보안을 강화하기 위한 노력이 개인과 조직 모두에게 필요한 상황이 되어 버렸다. 오늘 소개하는 '핸즈온 해킹'이라는 도서는 침투테스트(모의해킹)을 위한 훌륭한 가이드를 제공하는 책으로서 선제적으로 시스템의 취약점을 파악하고 그에 따르는 위협을 사전에 제거하는 일련의 과정을 배울 수 있는 기회를 선사한다. 



이책의 1장과 2장은 기업 환경에서의 해커(침투테스터)가 필요한 이유에 대한 논의와 윤리적이고 합법적인 해킹이 과연 무엇이고 그와 대비되는 개념과는 어떠한 차이가 있는지 그와 관련 된 이야기를 다루고 있다. 3장에서는 침투테스트 훈련을 위한 가상화 환경의 구축을 설명하며 4장 부터 본격적으로 침투테스트와 관련 된 개별 주제들, 예컨대 공개정보 수집 , DNS, 이메일, 웹 서버, VPN, 파일 공유와 관련 된 내용으로 세부적인 논의를 이어나가며 다양한 침투 테스팅 도구 사용법에 대한 가이드를 제공한다. 그리고 유닉스, 리눅스, 윈도우즈 등의 OS 영역, 데이터베이스, 웹 애플리케이션 등의 범주에서 나타나는 취약점과 그에 따른 수행 가능한 공격 등을 이해하기 쉽게 풀어 나간다. 끝으로 침투테스트에 대한 결과를 효과적으로 리포팅하기 위한 보고서 작성 스킬을 여과 없이 제공하고 있다. 

 

결코 가볍지도 만만하지도 않은 분량과 범위를 아우르며 독자들로 하여금 침투테스트의 본질을 제대로 느낄 수 있는 기회를 제공하고 있는 이 책은, 모의해킹과 관련 된 업무를 이제 막 시작하는 초심자에게 훌륭한 가이드가 되리라 생각한다. 

 

P.S 

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
클라우드 네이티브를 위한 데이터 센터 네트워크 구축 - 데이터 센터 네트워킹을 위한 아키텍처, 프로토콜, 도구
디네시 G. 더트 지음, 정기훈 옮김 / 한빛미디어 / 2021년 8월
평점 :
장바구니담기


클라우드를 활용한 인프라 구축은 더이상 어제 오늘의 일이 아니며, 현재진행형이자 미래지향적으로 행해져야 함에 대해선 이론의 여지가 없다. 자체적으로 클라우드 시스템을 구축하려는 조직이 있고, 수 많은 클라우드 서비스 제공자(CSP)를 활용하여 클라우드 도입을 계획하는 기업이 존재한다. 그런 와중에 도처에 넘쳐나는 베스트 프랙티스와 레퍼런스를 활용하여 어느 정도 소기의 목적을 달성할 수 있겠지만 문제는 그러한 작업이 결코 쉽지 않다는 것이다. 더군다나 클라우드를 구성하는 컴포턴트중 하나인 네트워크와 관련 된 부분에 한해선, 레거시 방식을 탈피하여 보다 클라우드 네이티브 환경에 가깝게 시스템을 구성하는 여정을 감행해야 하고 그 과정에 도사리고 있는 거대한 관성이 자리잡고 있음을 무시할 수 없는 노릇이다. 클라우드 네트워크를 어떻게 구성하느냐에 따라서, 최초에 클라우드를 도입했을 때 얻을 수 있는 이점과 장점이 전혀 다른 국면을 맞이할 수 있다는 사실을 결코 간과할 수 없는 상황과 맞닥뜨리게 된다. 



오늘 소개하는 이 책은 클라우드 네이티브를 위한 데이터센터 네트워크 구축이라는 담대한 제목을 내세우고 있지만, 그러한 장엄함 앞에 주눅들 필요 없이, 진정한 클라우드 네이티브 환경을 위한 네트워크 인프라를 구현하고자하는 이들이라면 기꺼이 이 서적과 함께 첫발을 내딛을 필요가 있겠다. 

 

본 서적은 전통적인 네트워크 아키텍처인 액세스-애그리-코어의 3-Tier 환경에 대한 이야기를 통해 여정의 닻을 띄우고 있다. 그러면서 자연스레 해당 아키텍처에 대한 문제점과 이를 극복하기 위해 대두된 Leaf-Spine 아키텍처 도입의 필요성을 세세하게 서술해 나간다. 이후 네트워크 분리,네트워크 운영체제 선택, 라우팅 프로토콜 선택등과 같은 주제에 대해 다루며 네트워크 가상화와 관련 된 이야기를 계속해서 풀어 나간다. 


네트워크 가상화에 대한 이야기는 어느새 컨테이너 환경에서의 네트워킹에 대한 여럿 소재를 끄집어 내어 이와 관련 된 다양한 소재에 대해 독자의 이해를 충실히 돕는 경험을 제공한다. 

 

이후 멀티캐스트 라우팅,데이터 센터 에지에서의 삶이라는 챕터에 대해 저자의 견해를 풀어 나가며, 네트워크 자동화 챕터에서 IaC 소프트웨어의 대세로 자리 잡고 있는 앤서블을 통한 효율적인 네트워크 자동화 기술과 관련 된 다양한 이야깃거리에 대해 거침 없이 기술해 나간다. 

 

네트워크 관측성, 네트워크 디자인재고, OSPF 배치, 데이터센터에서 BGP, BGP 배치등에 대한 심화된 주제를 끄집어 내어 독자들의 머릿속을 어지럽히면서도 마지막에 다다를 수록, 클라우드 네이티브 환경에서의 제대로 된 네트워킹 구현을 위한 훌륭한 통찰력과 여러가지 팁을 제공하는 것을 아끼지 않음을 느낄 수 있게 된다. 

 

이 책은 결코 쉬운 책이 아니며, 쉽게 접근할 수 있는 서적은 더더욱 아니다. 그만큼 네트워크에 대한 기본 지식과 클라우드를 둘러싼 다양한 도메인에 대한 이론적 체계가 부족하다면, 한 없이 험난한 과정을 경험하게 될 수밖에 없는 치명적인 위험(?)을 내포하고 있다. 그럼에도 불구하고 어느 정도 이론적 토대와 지식이 자리잡고 있는 이들에겐 클라우드 네이티브 환경에서의 효율적인 네트워킹 인프라를 구현하는데 있어, 더할나위 없는 훌륭한 가이드가 되리라 믿어 의심치 않는다. 


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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
파이썬으로 웹 크롤러 만들기 - 초간단 나만의 웹 크롤러로 원하는 데이터를 가져오는 방법, 2판
라이언 미첼 지음, 한선용 옮김 / 한빛미디어 / 2019년 3월
평점 :
구판절판


현대 대부분의 사람들은 웹을 통해 데이터를 수집하고 분석하며 그 결과를 통해 의사결정의 지표로 삼고 있다. 웹은 데이터의 보고이자 거대한 데이터 저상소이기 때문이다. 하지만 웹을 통해 적재적소에서 적시에 원하는 데이터를 수집하는 것 자체가 시간과 비용이 수반 되는 노동집약적 활동이기 때문에 웹은 축복이자 저주의 공간이 될 수도 있는 양면성을 내포하고 있다. 원하는 곳에서 원하는 시간에 훌륭한 데이터를 수집하면 축복이겠지만 반대의 경우에는 웹이라는 공간이 포용하고 있는 수 많은 데이터 덩어리들은 저주이자 재앙이 될 수 있음을 간과할 수 없는 노릇이다. 어떻게 하면 웹에서 시간과 비용을 적게 들의 최소의 노력을 통해 효율적으로 데이터를 수집할 수 있을까? 이런 고민에서 비롯된 산물이 바로 '웹 크롤링' 또는 '웹 스크래핑' 기술이다. 지금 부터 소개할 책은 파이썬을 활용한 웹 크롤링 기술에 대한 다양한 트레이닝 툴킷으로 사용할 수 있는 도서이다. 



이 책은 크게 두 개의 파트로 구성 되어 있는 바, 첫번째 파트는 스크래핑 도구를 제작하는 과정에 대한 내용을 그리고 두번째 파트는 좀더 심화된 고급 스크래핑 기술을 다루고 있다. 



첫째 챕터에서 파이썬 생태계의 대표적인 스크래핑 지원 도구인 BeautifulSoup 패키지에 대해 학습하게 된다. BeautifulSoup을 통해 크롤링의 기본 원리를 익히게 되고 도구 활용에 대한 다양한 사례를 통해 스크래핑에 대한 기술을 확장해 나가게 된다. Scrapy를 통한 크롤링 활용 방법과 크롤링을 통해 수집 된 데이터를 DB에 저장하는 내용을 학습하며 첫번째 파트는 마무리 되고 두번째 파트에서는 본격적으로 고급 활용 기술을 익히게 된다. 



이후 다양한 포맷의 문서 읽기, Dirty Data 정리하기 등의 내용을 심화적으로 다루며 자연어 처리에 대한 주제를 바탕으로 NLTK를 활용하는 방법에 대해서도 학습하게 된다. 폼과 로그인 뚥기, 자바스크립트를 통한 스크레이핑, API를 통한 크롤링, 이미지 처리와 텍스트 인식에 대한 내용으로 주제가 확장 되면서 크롤링에 대한 합법성과 윤리를 끝으로 책은 마무리 된다. 


 


이 책은 기본적으로 파이썬 기본 문법을 뗀 사람들이 적어도 웹에 대한 기초 지식이 있는 상태에서 학습해야 어느 정도 소기의 성과를 다룰 수 있으리라 생각한다. 그만큼 크롤링 기술에 대한 학습이 결코 만만치 않으며 기초적인 수준에서 벗어나 고급 기술로 확장하기 위해선 다양한 지식이 요구 되기 때문이다. 본 도서는 파이썬 그리고 웹 초보자에겐 크롤링 입문자용으로 적합하지 않겠으나 어느 정도 기반을 갖춘 이들에겐 적어도 크롤링의 첫발을 떼기 딱 좋은 서적이라 생각한다. 


 

P.S 

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



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo
 
 
 
처음 배우는 네트워크 보안 - 보안 시스템 구축부터 관제까지 네트워크 보안의 모든 것
장상근 지음 / 한빛미디어 / 2021년 6월
평점 :
장바구니담기


IT 인프라를 도입하고 운영하면서 발생하게 되는 수 많은 보안 사고를 주위에서 쉽게 목도할 수 있는 시대에 살고 있다. 보안 이슈의 규모가 크든 작든 그것이 사고로 직결 되는 순간, 조직 또는 기업의 존폐가 휘청거릴 수 있음은 두말하면 잔소리. 그만큼 보안은 중용하고 반드시 지켜야 하며 끊임 없이 평가해야하는 필수요소라고 해도 과언이 아니다. 


시스템 보안, 네트워크 보안, 웹 보안 등 보안의 범주를 기반이 되는 그릇이 무엇이냐에 따라 구분하기도 하는데 오늘은 네트워크 보안을 다루는 도서, '처음 배우는 네트워크 보안'에 대해 리뷰를 하려고 한다. 





책의 제목처럼 본 서적은 네트워크 보안에 대해 처음 학습하고자 하는 이들을 타겟으로 한 내용으로 이야기가 전개된다. 네트워크 보안의 필요성과 보안 조직, 보안 관제에 대한 개념을 위시해서 네트워크 보안의 배경이 되는 네트워크 기본 이론, 네트워크 장비, 네트워크 보안 시스템에 대해 상세히 서술하고 있다. 


도입부의 챕터에서 이론 위주로 내용이 언급되고 난 후 부터는 본격적으로 네트워크 보안 실습을 위한 환경 구축이 시작 된다. 가상머신과 네트워크 시뮬레이터를 설치하여 실습의 토대를 마련한 뒤 네트워크 보안 장비를 다룰 수 있는 여정이 시작된다. 


방화벽을 비롯해서 네트워크 레벨의 IDS/IPS, 호스트 레벨의 IPS, 웹 방화벽, Elastic Stack(ELK) 기반의 보안 관제 시스템 구성, 보안 취약점 점검을 위한 도구등을 다루며 보안 관제 실무에서 필요한 운영 노하우와 핵심을 학습하게 된다. 


여정의 목적지에 다다를때 쯤,  무선 네트워크 보안, 클라우드 환경에서의 네트워크 보안, 네트워크 보안 트렌드과 변화의 흐름 등을 다루며 책은 마무리가 된다. 


오픈소스 기반의 소프트웨어를(방화벽, IDS/IPS, 웹 방화벽 등) 가상화 환경 기반에서 실습할 수 있도록 구성 된 점과 다양한 네트워크 보안 지식과 이론에 대해 폭 넓게 다루고 있는 점은 네트워크 보안 입문자에게 더할나위 없이 유익하고 도움이 되리라 생각한다. 


P.S :   
한빛미디어 '나는 리뷰어' 이벤트에 당첨 되어 제공 받은 도서를 바탕으로 작성된 후기입니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo