한 권으로 끝내는 이미지 생성 AI with 미드저니 - 직장인, 디자이너, 아티스트, 기획자 모두 써먹을 수 있는이미지 생성 AI 프롬프트 가이드
헤더림(임혜린).백승호 지음 / 한빛미디어 / 2024년 3월
평점 :
장바구니담기


관련 업무 분야가 아니여도, 주변에서 AI에 대한 이야기가 많이 들립니다.

특히 생성형 이미지에 대한 부분은 기존 GPT보다 더 활용도 높은 AI 기술로 많은 활용분야가 있고

단순히 text를 입력했는데, 공유되는 이미지를 보면 너무 신기한 영역으로 느껴집니다.

 

번역본이 아니고, 국내 출간 서적으로 빠르게 신기술에 대해서 출간되어서 관심있는 분들은 기술 활용법 및 트랜드를 빠르게

파악해보실수 있을거 같습니다.

 

■ 다루는 기술

· 미드저니, 달리3, 스테이블 디퓨전 기술을 다룹니다. 

기술요소 및 책의 제목에서 보듯이 이미지 생성AI를 주로 다루고 있습니다.

· 해당 생성형 AI버전업은 매우 자주 빈번이 일어나기 때문에, 책에 대해서 A/S개념으로 해당 부분에 대해서 변경사항을 제공해주는 부분은 매우 좋은 부분 같습니다. 

https://dandelion-property-ef8.notion.site/AI-with-A-S-06690f2293444431996d50a84aa306a9

· DALL-3 : OpenAI에서 개발

· 스테이블 디퓨전 : 런던 스타트업에서 오픈소스로 공개 (해당 기점으로 폭팔적인 성장을 달성함)

 > 피그마에 스테이블을 이용한 플러그인 : Dreamer
https://www.figma.com/community/plugin/1151245850609894407/dreamer

 

· 한눈에 서비스들 요약하기

 

· 단순히 생성형 이미지를 만든느 프롬프트에 주안점이 되지 않고, 어떤 방식으로 동작하는지 쉽게 원리를 포인트를 설명합니다.

이렇게 설명하는 이유는 그 원리를 알아야 조금 더 잘 활용할수 있기 때문입니다.

 

· 보통 이러한 새로운 것을 사용시, 라이센스, 비용, 권한등이 혼돈이 되는데, 이러한 부분이 잘 설명되어서 검색을 통해서 이러한 정보를 찾아보지 않고 책을 통해서 한번에 다 이해할수 있게 해주어서 매우 좋습니다.

 

· 

· 

 

■ Dall-3

· chatgpt4와 연결이 되었습니다. 그래서 달리3를 사용하기 위해서는 유료결제를 하여야 합니다.

생성된 이미지를 사이즈 조정도 가능합니다.

한글로 prompt를 사용하면 영어로 번역을 하여서 이미지 생성을 요청하기 때문에, 영어로 생성하는 것과 미세한 차이가 있을수 있습니다.

 

 

 

 

■ 미드저니

· 유료모델만 제공을 하고 있습니다. 예제를 실습하기 위해서는 최소 Basic Plan을 가입해야 합니다.

옵션에 패스트모드으로 이미지 생성을 하면 최대 10분 정도가 소요됩니다.

스텔스 기능은 다른 사람이 내가 생성한 이미지를 공개하지 않는 기능입니다.

 

 

· 미디저니는 웹사이트에서 제공하지 않고, 디스코드를 통해서만 사용이 가능합니다.

이 책은 제목처럼 with 미드저니 처럼 본격적인 미드저니의 사용법을 설명합니다.

 

■ 다양한 미디저니의 사용법 및 활용방법 안내

단순하게 이미지를 어떻게 생성하는지 안내 수준이 아닙니다. 처음 미디저니를 이용해도 책을 보면서

환경구성 및 활용법을 쉽게 알수 있습니다.

또한 디자인 관련 이미지 책이다 보니, 모든 내용은 칼라로 구성되어 있습니다.

 

· 디자이너 입장으로 생성형 AI활용하기

  보통 일반적으로는 와.. 멋진 이미지가 나왔다고 좋아합니다. 하지만 이 책은 현업 디자이너 입장에서 이미지를 실제 서비스에 활용하기 

위해서 조금 더 좋은 퀄리티를 제공하기 위해서, 동일한 이미지를 어떻한 옵션을 활용해서 접근하면 좋을지, 이미지 비교를 통해서

예시를 제공하고, 이때 사용해야 하는 옵션을 제공하므로써, 실질적인 도움이 되는 기법을 소개하는것 같습니다.

 

· 프롬프트 작성법

 보통 어떤 영어단어를 입력하면, 의도한 대로 이미지가 나오는지 언급됩니다. abstract, pixel art, 3D render등의 키워드를 통한

이미지 사진을 보여주면서, 차이를 제공하면서 어떠한 방향으로 이미지 생성을 해야 할지 파악할수 있습니다.

 

사진기법처럼 방향을 알려주는 law angle, overhead view 등의 키워드들~

이러한 부분들이 책을 통해서 한번에 정래되어서, 나중에 실제적으로 필요한 부분들을 골라서 잘 mix해서 사용할 수 있을거 같습니다.

 

 

분위기를 내는 방법 등등 평소에 생각하지 못한 다양한 프롬프트 명령어는 이런 부분도 새롭게 인지하고 AI를 내가 윈하는 방향으로 

이끌기 위한 기술이라고 생각이 들었습니다.

 

이러한 형태로 다양한 예시 및 사용할수 있는 다양한 케이스가 설명되어 집니다.

포토샵을 처음 배울때, 이런저런 기능을 살펴보면서 활용법을 배우는 느낌과 비슷합니다.

 

부록을 통해서 필요한 부분을 정리한 내용은 필요한 부분이 잘 정리된 사전같은 느낌이 들어서

미드저니에 관심이 많거나, 실제 사용하시는 분들에게 많은 도움이 될거 같습니다.

 

 

 

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
코딩 자율학습 스프링 부트 3 자바 백엔드 개발 입문 - 만들면서 배우는 친절한 백엔드 개발 자습서 코딩 자율학습
홍팍 지음 / 길벗 / 2023년 7월
평점 :
장바구니담기


스프링에 대한 책이 많이 있는데, 쉽고 빠르게 핵심을 보기 편하게 구성된 책입니다.

그렇다고 내용에 대해서 소홀하지 않고, 필요한 부분이 잘 설명되어져 있습니다.


이 책은 처음에 인프런에 동영상 강의가 먼저 만들어 진것으로 알고 있습니다.

그런 다음에 책으로도 출간되어서 동영상 및 책을 통해서 온전히 학습을 할수 있는 좋은 구성이 

갖추어진것 같습니다.

기본적으로 실습을 잘 따라할수 있게 mac, window 모두 설명되어지며

쉽게 하나하나 예시를 실습할수 있는 가이드를 제공하줍니다.

기본적인 spring 에 대한 원리 및 화면 template으로는 mustache를 사용하고 데이타 조회는 JPA를 통해서 실습하는 구성으로 되어 있습니다.





책의 구성도 편하게 핵심을 잘 찾아가고, 중간중간 나오는 note으르 통해서 기본적으로 실수 할수 있는 부분이 적절하게 잘 언급되어 있는 부분이 매우 좋았습니다.

spring을 빠르게 핵심을 살펴보고, 기본기를 충실히 할수 있는 좋은 책이라고 생각합니다.


또 자율학습단이라는 프로그램도 진행하면서, 책을 꼼꼼하게 살펴볼수 있는 프로그램도 제공하는점도

학습하시는데 좋은 프로그램이라고 생각합니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
You Don’t Know JS Yet - 자바스크립트 개념, 스코프와 클로저
카일 심슨 지음, 이보라 옮김 / 한빛미디어 / 2024년 1월
평점 :
장바구니담기


책의 부제는 : "자바스크립트 개념, 스코프와 클로저" 입니다.

책의 제목이 영어로 되어 있어서 번역서인데, 보통 접근성이나 검색등에 잘 노출이 안될거 같은데

이렇게 영어로 책제목을 정했다는 것이 읽기 전에 신선하게 다가왔습니다.

 

저는 잘 몰랐는데 기존에 "You don't Know JS" 시리즈가 있었고, 이번에 나온것이 2판이라는 내용을 알게 되었습니다.

 

이 책은 두개의 Part로 구성되어 있습니다.

Part1. 시작하기

Part2. 스코프와 클로저

 

 

시중에는 정말 많은 javascript 책이 출간되어 있습니다. 초급자용 쉬운책부터, 어려운 책들도 다양하게 나와있습니다.

이책은 기존에 출간된 책과 무엇을 다를지 궁금합니다. 대상독자는 어느 대상으로 하는지도 살펴보려고 합니다.

책의 내용을 빨리 보려고 하지 말고, 하나하나 오래 걸려도 필요한 내용을 살펴보는것을 저자분은 강조하십니다.

 

■ 대상독자

· 책에 나와있는 내용은 아래와 같습니다.

javascript 입문서가 아니므로 프로그래밍을 처음 접하는 분들에게는 적합하지 않습니다. 초심자라면 조금 어려울수 있습니다.

분야를 막론하고, 자바스크립트를 최소 6~9개월 동안 다루어보거나, javascript코드를 읽는 데 불편함이 없는 분들은 이책을 읽어도 좋습니다.

· 개인적으로 javascript는 웹개발을 하는 직군이면 피해갈수 없는 분야인거 같습니다. 이책은 조금 더 나은 개발자로 나아가기 위한 js책이 출간된거 같아서, 기쁩니다.

 

■ 자바스크립트란.
현재 사용하고 있는 js에 대해서 규정을 정하는 부분, 기존코드와 호환성, 바벨등 전반적으로 현재의 spec의 사용과 기술스팩에 대해서 어떻게 진행되고 있는지 설명합니다.

 

· TC39는 JS의 공식명세를 관리합니다.

https://github.com/tc39/proposals

https://262.ecma-international.org/10.0/

· 사례로 많이 사용하고 있는 alert, console.log는 정식JS에 정의된 문법이 아닌 부분도 새롭게 느껴졌습니다.

 

 

■ 들어가며 1,2장

· js 파일 각각이 별도의 프로그램이다,

js에서는 값은 크게 원시타입(promitive type)과 객체타입(object type)으로 분류됩니다.

· 인터프리터의 개념을 상세히 알려주어서, 실제적으로 컴파일이 어떻게 되어가는지 이해하게 됩니다.

· ES2019 최신 문법에 대해서도 설명하고 있어서, 앞으로 점차적으로 많이 사용하게될 문법에 익숙하게 됩니다.

· 변수, 배열, 객체, 함수에 대해서 단순한 설명이 아닌 평소에 고려하지 않았던 부분들 까지 포함해서 설명이 되어 집니다.

 

■ 자바스크립트 뿌리 파헤치기 3장

이장에서 부터는 조금더 깊이 있는 내용들로 구성이 되어 집니다.

· 이터레이션를 통해서 data를 잘 처리하기 위해서 이터레이터 , 이터러블에 대해서 정리합니다.

· 클로저를 통해서 실용적인 관점에서 최대한 구체적으로 구현을 진행합니다.

· this 키워드를 통해서 가장 오래를 많이 받은 부분부터 정의해 나가면서, this의 동작방식을 이해합니다.

· prototype을 통해서 접근할때 일어나는 동작에 관련된 특징을 알아봅니다.

평소 기본적인 js의 문법을 활용해서 사용을 해왔던 부분에서 조금 더 깊게 관련 키워드 및 동작방식에 대해서 이해를 할수 있는 예시와 설명으로 구성되어 있습니다. 

 

Part1의 부분에 두개의 부록 A,B가 있는데, 이러한 내용은 실제 미리 경험해보고, 코드를 작성할때도 고민이 되는 부분인데

적절하게 잘 언급이 되어 있습니다. 여기서 언급되는 내용들이 저는 좋게 느껴졌습니다. 해당 부분의 내용들은 검색을 통해서도 잘 볼수없는 내용들이 있어서 좋았습니다.

 

■ Part2. 스코프와 클로저

· 내용의 키워드들을 보면서, 문법위주의 항목이 아닌 javascript의 동작에 대한 부분인 것을 알수 있습니다.

 

· 스코프를 이해하기 전에 코드 컴파일 되는 원리를 먼저 설명하고 접근하는 방식이 인상깊었습니다.

내용을 급하게 살펴보기 보다는 천천히 이해도를 높이면서 다음장으로 넘어가는 방식이 좋은 방식이라는 말이 느껴졌습니다.

 

· frontend개발 면접시 많이 나오는 호이스팅에 대해서도 "변수의 비밀 생명주기"에서 설명되어 집니다. 어떠한 부분은 그것을 지징하는

용어를 잘 알지 못하였는데, 이론을 설명하는 과정에서 그러한 동작을 설명하는 용어를 알게 되는 부분도 있습니다.

· 조금 어려운 주제인 클로저에 대해서 다양한 예시를 통해서 설명하는 부분도 다른책과 차별점이 있었습니다.

 

 

 

■ 리뷰

평소에 이러한 조금 깊게 javascript를 학습하시거나, 동작방식에 대해서 궁금증이 있는 분들이면 아주 좋은 책입니다.

현업에서 개발 진행시, 오류는 발생을 하는데 문법적으로 문제가 없는데 원인을 찾기 어려운 부분들은 이제 조금더 깊게 동작원리를 알아야 하는 시점이 오신거라고 생각이 들고 이책을 통해서 조금더 깊게 javascript의 동작원리 및 잘못 사용하고 있는 패턴 및 방식을 학습할수 있을것 같습니다. 

이책의 목차 및 키워드들이 평소에 관심있는 부분이 한번 정독해보시는것을 추천드립니다.

 

 

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


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
Release의 모든 것 - 대규모 웹 분산 시스템을 위한 운영 고려 설계 | 아마존 소프트웨어 공학 분야 베스트셀러
마이클 나이가드 지음, 박성철 옮김 / 한빛미디어 / 2023년 11월
평점 :
장바구니담기


매우 유명한 책입니다. 지금 소개드리는 책은 [2판] 입니다.

부제 : 대규모 웹 분산 시스템을 위한 운영 고려 설계

 

첫버전은 2007년에 나온 아래 "Release It 릴리스 잇 성공적인 출시를 위한 소프트웨어 설계와 배치" 아래 책입니다.

왼쪽에 출간된 책이 초판, 오른쪽이 이번에 출간된 2판의 표지입니다.

정말 오랜만에 다음 개정판이 나온것 같습니다. 

 

번역을 담당하신 분은 "박성철"님으로 여러 활동들을 통해서 다양한 SW개발에 긍정적인 선한 영향력을 제공해주시는 분이십니다.

세미나를 통해서 들었는지, 어떤 글에서 본것인지는 잘 기억이 나지 않지만, "이책이 너무 좋은 책이라서 바쁘신 와중에 시간을 쪼개어서 번역을 진행하셨다고 들었습니다." 그만큼 애정이 가고, 좋은 책이라는 애정이 느껴졌습니다.

 

 

 

■ 추천사만 보아도 느낌이 다른책

· 서비스를 3년이상 운영해봤다면, 이책의 내용에 공감을 할수 있습니다.

· 번역을 누구나 하고 싶었던 책

· 모든말을 제처두고, 반드시 이책을 읽어야 합니다.

· 필요할때 마다 다시 꺼내서 한번 더 읽으세요

· 소프트웨어 출시 전 검점목록 같은책

· 시니어 개발자로 도약하기 위해 반드시 알아야할 내용

· 현실에서 잘 동작하는 프로그램을 만드는 방법

· 해결할 문제가 무엇이고, 어떻게 그 문제를 해결할수 있는지

 

■ 책의 구성

· 책은 총 4부로 구성됩니다.

· 1부 : 안정성 구축

 - 시스템이 작동을 유지하면서, 멈추지 않게 할 방법

· 2부 : 운영 고려 설계

 - 1부 안정성 다음에 지속적으로 운영하기 위한 방법

· 3부 : 시스템 전달

 - 배치(deployment)를 뜻하는 의미로 1판과 동일하게 배포가 아닌 배치로 변역하셨습니다.

    고객에 피해를 주지 않고, 배치를 하는 것을 하는 방법

· 4부 : 쳬계적 문제 해결

 - 시간이 지남에 따라 성장하고 유연하게 적응하는 시스템을 만드는 방법

 

· 운영환경의 현실

내용중에 우리는 QA부서의 테스트를 통화하는 것을 목표로 삼는다.

이 글이 주는 울림이 많이 있었습니다.  실제 QA를 통해서 기능적인 결함을 잘 찾고, 품질을 높이는 것은 분명한 사실입니다.

하지만, 우리가 만드는 서비스에 대해서 목표에 대해서 다시한번 생각해보고, 어떠한 주안점을 가지는 방향이 맞는지 알게 됩니다.

 

· 4장에서는 "안정성 안티패턴"에 대해서 설명하고 이어서 5장에서는 안티를 제거한 "안정성 패턴"을 설명합니다.

시스템들이 통합의 구성으로 연결되는 구조에서는 데이터의 input의 출처가 다양화 될수 밖에 없다. 이러한 시점에 우리는 장애시 발생될수 있는 연쇄반응에 대해서 고려해야 한다.

사용자가 늘어난다는 것은 트래픽이 늘어난다는 것이고, 이것은 기존에 구성된 시스템의 처리능력이 해당 요청을 처리할수 있는지 명확히 판단할수 있어야 한다. 시간단 처리 최대량에 대해서 알고 있어야 한다는 점이다. 

자연스럽게 물리적인 내부 메모리를 이용하는 방식에서 외부 메모리 시스템(멤캐시드, 레디스)와 같은 데이터 구조 서버를 고려하게 되며

이것은 지나친 서비스 비용이 발생하는 부분은 아닌지 고려해야 되는 부분이다.

· 불쾌한 사용자, 해로운 사용자에 대한 부분은 우리가 어떠한 부분을 고려해야 하는지 안내되어 집니다.

글의 중간중간 현업에서 고민되거나 맹목적으로 좋다고 사용하는 것에 대해서 고려해야 하는 글들이 있습니다.

 

라이브러리, 자기부정 공격, 공유자원, 처리능력 불균형, 도그 파일, 응답지연등에 대해서 우리가 구성한 시스템에서 나타날수 있는 다양한 현상을 설명합니다.

· 5장에서는 " 안정성 패턴"으로 우리가 시스템, 서비스를 개발할때 주의 깊게 보아야 하는 부분입니다.

시간제한(응답시간에 대한 제한을 적용하라), 회로 차단기(문제가 있으면 호출을 멈추어라), 격벽(유용한 분할 수준을 선정해서, 서비스의 일부분이라도 유지될수 있는 구조를 만들어라), 정상 상태에 대한 데이터, 로그, 캐시에 대한 처리 기준, 빠른 실패(느린 응답에 대한 빠른 노티)

파손방지, 핸드셰이킹, 테스트 하네스, 결하분리 미들웨어 등등 서비스를 운영할때 모두 다를 고려할 필요는 없지만, 서비스 구성에 대한 정의를 내릴수 있고 필요한 부분은 부분적으로 도입을 하는 올바른 방향을 제시합니다.

 

 

■ 소스 코드, 실제 분석 내용을 통한 reference

· 실제 필자분의 경험하신 사례를 통해서, 발생한 이슈 및 그에 대한 대응책, 해결방안의 내용을 보면서 실제 사이트 담당자의 입장에서 관련 이슈를 같이 분석해보는 생각이 듭니다. 발생된 사이트 및 관련 이슈는 단순한 범위가 아니고 실제 많은 사용자들이 사용하는 서비스의 이슈에 대해서 설명되어 집니다.

· 코드적으로 분석이 필요한 부분은 코드를 예시로 구성됩니다.

 

 

· 이론적인 부분에 대한 설명도 예시를 들어 구성되어 있습니다.

 

 

· 개념, 구조가 필요한 부분에 대한 서비스흐름형태가 설명되어 집니다.

 

 

 

■ 운영 고려 설계

· 이 단어가 모두 좋은것 같습니다. 2부의 제목인데 우리는 실제적으로 운영환경에서 장애를 발생안하고, 안정적인 요구사항을 서비스 하기 위해서 고민하고, 개발을 합니다. 단순한 개발이 아니라, "운영을 고려한 설계"는 궁극적으로 우리가 나아가는 방향과 일치하는것 같습니다.

 

· 실제 일어난 사례를 통해서, 우리도 저자분과 함께 해당 사이트에서 일어나는 일을 경험해보고 우리는 어떠한 fact를 고려하고, 파악할수 있는지 상세하게 느낄수 있습니다.

 

· 운영고려설계의 개념은 "운영문제를 최우선고려사항"으로 생각한다는 뜻이다.

개발환경과 매우 다른 운영네트워크가 포함되고, 로그, 모니터링, 운영제어, 보안도 포함된다., 운영담당자의 입장의 설계도 포함된다.

7장 "기반" chapter에서는 우리가 아는 데이타센터 IDC와 클라우드도 포함되어서 설명됩니다. 1판에서는 클라우드에 대한 부분이 없었지만 2반에서는 클라우드 환경에서 대해서도 추가되어서 많이 사용하고 있는 AWS등의 서비스를 이용할때의 고려점도 언급되어 있습니다.

- 네트워크 인터페이스와 이름, 다중네트워크 프로그래밍, 물리 호스트, 가상머신, 컨테이너, 클라우드 내 가상머신, 클라우드 내 컨테이너에 대한 부분이 있는데, 우리 소속이 인프라를 담당하는 부서가 아니라고 한다고 해도, 장애의 최초 보고는 사용자 화면을 이용하는 접점인 개발부서로 처음 오기 때문에 대한 부분도 다른 부서의 영역이 아닌, 원인을 찾는 모든 부서의 영역이 된다고 생각합니다.

8장 "프로세스" 부분은 개발 인스턴스 입장에서 초첨을 맞추는데, 이러한 개발젹인 개발의 효과를 높이고, 구성을 어떻게 하고 로그 기록에 대한 위치, 수준에 대해서 고민하게 됩니다.

9장 "상호연결"을 통해서 인스턴스 들이 함께 연결되어 하나의 시시템이 되어야 하는데, 이러한 방법에 대한 해법을 살펴볼수 있습니다. 

DNS를 활용한 연결, 서버 부하 분산, 가용성등 다양한 관점으로 평소 잘 신경쓰지 않았던 부분을 볼수 있었습니다.

사용자가 많아지만 고민하게 되는 부하분산에 대해서, 소프트웨어, 하드웨어 방식으로 부하를 분산할때 사용되는 프록시 서버, 알고리즘등에 대해서, 하드웨어는 상용장비의 예시를 통해서 처리하는 방법등 생각의 폭을 넓혀줍니다.

10장에서는 "제어 평면" 이라고 되어 있어서 어색했는데, 각종 기능 및 서비스들을 올바른 위치에 놓고, 어느정도 일관된 젠체로 엮는 부분을 말합니다. 책에서 언급하는 점검 목록은 아래와 같은 사항입니다.

 

· 11장 보안 부분에서는 OWASP에서 나온 상위 10개의 개념에 대해서 설명합니다. 보안취약점 검사를 통해서 나온 결과에 대해서 의도를 파악하지 못하고 수정을 하지 말고, 실제 중요한 취약점 공격의 원리를 설명해주고 있어서, 이해가 쉽게 설명되어집니다. AWS클라우드 사용시에 활용하는 방법도 함께 포함되어 있습니다.

 

■ 시스템 전달

· 3부에서는 우리가 운영환경에서 필수적이 요소들로 구성되어 있습니다. 배치(배포), 버전관리에 대해서 다룹니다.

배치는 서비스를 운영환경에 올리는 과정이기 때문에 고려해야 할 사항이 매우 많고, 그 순서와 구성도 고려할게 많습니다

배치를 하면서 기존 캐시의 전략은?, 장애 발생시 롤백에 대한 계획은? 테이블 스키마가 기존에 있는경우, 없는 경우등에 대해서 고려 하다보면 그 난이도는 매우 높아집니다. 또한 이러한 부분은 언어적인 제약이 있는 부분도 있기 때문에 책을 통해서 좋은 방향성 및 지금 배포시스템에 도입이 필요하거나, 주의해서 추가해야 하는 부분을 파악해볼수 있습니다.

버전관리에 대해서는 git, svn같은 형상관리의 버전을 의미하는 것이 아닌, API의 버전과 같은 버전에 대해서 설명합니다.

 

■ 체계적 문제 해결

· 4부에서는 평소 업무에 한번은 경험해보았을만한 다양한 사례연구 및 Agent가 제시됩니다. 

최정점검과 출시, QA지향, 부하테스트, 테스트 간극 등등 저도 평소에 고민하던 부분이라서 현실감있게 다가왔습니다.

· 절차와 조직, 팀의 규모, 서비스의 종료, 시스템 아키텍처에 대한 진화적구성, 마이크로서비스에 대한 조언등 선택과 갈등에 대한 부분은 결국 서비스를 잘 릴리즈 하고, 자원은 안정적으로 효율적으로 사용하기 위한 하나의 큰 소프트웨어 라이프사이클에 대해서 느끼게 해주고

카오스 공학적인 내용을 통해서, 앞으로 새로운 분야도 소개됩니다.

 

 

좋은 책이라는 의미가 많이 와닿은 책이였습니다.

이 책을 보고 느끼는 바가 모두 다를거 같습니다.

아는 만큼 보이고 한줄의 문장이 더 많은 고민을 하게 된다면

조금 더 나은 Release를 하고 있는 개발자, 엔지니어 분들이라고 생각되어 집니다.

스터디를 해도 좋고, 우선 필요한 부분에 대해서 부분 학습을 해도 좋은 책이라고 생각되어 집니다.

 

 

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

 


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
모니터링의 새로운 미래 관측 가능성 - 프로메테우스, 그라파나, 오픈텔레메트리까지 마이크로서비스와 인공지능 중심의 옵저버빌리티 구현
정현석.진미란 지음 / 제이펍 / 2023년 12월
평점 :
장바구니담기


이 책을 처음 보고, 처음 궁금했던 하거나 들었던 생각을 정리해보면 아래와 같습니다.

1. 번역서가 아니다. 왠지 번역서인것 같은데 국내 저자분의 책이라서 조금 더 흥미가 생겼습니다.
2. 표지가 정말 멋지다. (아래 숨어있는 위험요소를 잘 표현한것 같다)
3. 단순히 모니터링에 대해서 관심만 있는데, 이책은 도움이 될것인가?
4. 프로메테우스, 그라파나, 오픈텔레메트리에 대해서 자세히 설명되어져 있는가?
5. 마이크로서비스, 인공지능까지 너무 넒은 범위까지 다루는것은 아닌가?
6. 이 책을 읽으면, 작은 부분이라도 우리가 하는 서비스 모니터링에 바로 도움이 되는 부분이 있을까?

 

이 책을 읽어보면서 해당 궁금증을 하나하나 살펴보려고 합니다.

■ 목차 살펴보기 (본문 보기 전)

· 목차를 구분지어서 생각해보면, 아래와 같이 크게 3단계 구성으로 설명되어집니다.

  모든 분들이 필요하거나, 궁금해 하시는 부분이 다르기 때문에 필요한 부분을 살펴보면 도움이 될것 같습니다.

· 예를들어 오픈소스 모니터링 tool이 소개되는데, 해당 내용은 별도의 단행본으로 출간된 책은 거의 없습니다.

  이러한 부분에 대해서 설치과정부터 주요지표부분은 충분히 많은 가치를 가지는것 같습니다.

· 인공지능 모니터링 부분은 저자분중이 ML쪽 엔지니어의 경험이 있으셔서 현실적인 조언이.

· 1장,2장 부분에서 우리는 서비스가 확장되고, 사용량이 늘었을때 과연 어느지표를 가지고 해당 서버 Spec으로 최대한 튜닝을 해서 사용을 하고 있다고 판단하고, 서버를 scale out하던지, scale up 하는 결정 근거를 세울수 있는 내용으로 구성되어 있고, 오류 및 모니터링에 대한 큰 기준을 가지게 되는 이론적인 내용으로 구성되어 있을것 같습니다.

제가 예상한 구성 및 내용이 맞는지 살펴보고, 처음느낌 그대로 인지 체크해보겠습니다.

 

 

책을 읽어보면서, 위에 가정했던 부분에 대한 고찰

▶ 체크1 : chapter1, chapter2 부분의 내용도 일반적인 내용의 모니터링에 대한 내용이 아닙니다. ^^ chaper1부터 PromQL 에 대한 설명등 등 큰 개념의 "관측가능성 입장의 모니터링", "큰 규모의 서버들"을 고려한 관점으로 설명되어 집니다. 

 

▶ 이책의 레벨은 입문/초급자 수준은 아닙니다. 책의 뒷편에서도 중급자로 표기되어 있습니다. 평소에 책에서 소개되는 기술들에 관심이 있다면 이런 모니터링 책이 나오기 힘든데, 국내 저자분의 다양한 예시 및 설명은 많은 도움이 됩니다. 헙업에서 관련된 부분의 업무에 겹치는 부분이 있으시면, 많은 가이드를 통해서 바로 적용할수 있을것으로 생각됩니다.

■ 관측 가능성

· "관측 가능성" : 책의 제목은 왜 모니터링에 "관측 가능성" 이라는 단어를 넣었고, 명명하였을까? 이 개념을 알아야 이 책에서 설명하려고 하는 가장 중요한 방향성을 이해 할수 있습니다. 해당 개념이 아직은 생소한 개념이기 때문입니다.

· 책에서 정의는 아래와 같이 합니다. -> 시스템에서 외부로 출력되는 값만을 사용해서, 시스템의 내부 상태를 이해하고, 예측하는것

보통 테스트 케이스를 구성할때, 블랙박스 테스트 / 화이트박스 테스트를 진행하는데, 그것과 다른 미리 예측하는 관점의 개념을

관측가능성의 영역이라고 생각하고 개념을 잡으면 됩니다. 

■ 다양한 오픈소스들

· 관측가능성 오픈소스에 대한 책에서 사용한 오픈소스는 아래와 같다.

· 오픈텔레메트리 : 계측을 위한 표존화된 도구, API, SDK 모음

· 로키 : 그라파나의 로그 관리 시스템

· 그라파나 미미르 : 프로메테우스용 오픈소스

· 타노스 : 다수의 프로메테우스를 통합할수 있는 글로벌 뷰 제공

· 예거 : 마이크로서비스 기반 분산 시스템 모니터링과 추적, 프로파일 연계

· 그라파나 템포 : 그라파나의 오픈소스 추적 솔루션

· 엘라스틱 서치 : 로그 관리

· dynatrace APM : 클라우드 네이티브 및 엔터프라이즈 스택을 위한 APM, 처리량, 지연시간을 모니터링

· influxDB / Telegraf / splunk /  new relic / Prometheus /  grafana / 오프서치

 

· 참고 : https://blog.samstdio.com/system-monitoring-tick-stack-1/

 

 

■ 내용 소개

· 프로메테우스의 다양한 사용법이 처음부터 설명되어 집니다.

· 쿠버네티스의 환경이 있다면, ks8까지 테스테 구성을 해보면 좋겠지만, 각자 테스트를 할수 있는 범주안에서 직접 실습을 해볼수 있으면 좋을것 같습니다. 내용이 너무 좋은데, Application을 개발하는 부분이 아니다 보니, 직접 경험해서 확인하는 것과는 많은 경험차이 및 이해하는 부분에 차이가 있을수 있습니다.

 

프로메테우스는 ks8에서 기본으로 사용을 하지만, 별도로 WAS, Spring만 사용하는 일반적인 다른 모니터링에서도 다양하게 사용이 가능합니다. 책은 프로메테우스에 익숙해지고, 제공하는 다양한 기능들을 설명합니다.

로그에서는 오픈텔레메트리를 사용해서 구조회된 로그를 생성하는 방법을 이용합니다.

오픈텔레메트리에 대해서는 https://jennifersoft.com/ko/blog/tech/opentelemetry/ 글을 참고하시면 좋을것 같습니다.

 

실제 사용하지 않은 오픈소스는 어색합니다. 명칭부터 어색하고, 실제 어떠한 목적/기능이 있는지 선뜻 다가오지 가 았습니다.

처음에 주요 기능으로 사용되는 개념을 잡아놓고 책을 보신다면 지면에 나와있는 다양한 정보가 의미있게 다가올것 같습니다.

 

관측 가능성의 구성요소를 3가지로 정의하고 있습니다.

메트릭, 로그, 추적의 요소로 정의하고 있습니다.

  • 메트릭과 로그는 익숙하실수 잇는데, 구성요소 중에 추적이라는 개념은 조금 생소 하실수 있습니다.
  • 로그에 노출된 에러 사항만을 보고 추적하는 방향에서 조금더 예측 가능한 구성으로 구분지어 연관성을 파악합니다.

 

SLI, SLO, SLA등의 서비스 지표에 대한 용어도 언급되어지며,

1장부터 바로 PromQL을 이용해서 필요한 지표를 어떻게 구성할지, 예시가 제공됩니다.

→ 이 부분이 의미하는것은 Prometheus를 책에서 기본으로 사용적으로 설명되어 진다는 의미입니다.

 

모니터링과 관련된 시스템이 구성되어 있다면, 실제 얼마나 잘 사용하고 있는지 돌아보게 되었습니다.

일반적으로 서비스의 오류사항을 확인하는 것을 넘어서, 정보는 많은데 실제 효율적으로 기준을 세우고 활용하고 있는지는 되돌아볼 문제입니다.

 

이 책은 그러한 기준을 넓혀주는데 많은 도움이 됩니다.

에러라고 생각되어지는 부분에 대해서 500, 400 http status말고 어떠한 측면을 어떻게 모니터링하는게 좋을지 제시합니다.

 

아래와 같은 형태로, 사용할수 있는 PromQL을 확인할수 있습니다.

 

 

 

■ 테스트 환경에 진심이 책

· 이책의 장점은 아래그림처럼 다양한 데모 환경을 구성하는 부분입니다.

모니터링을 하기 위해서는 운영환경처럼 동일하지는 않지만, 비슷환 환경의 구성이 필수인데 이점은 정말 좋은 구성입니다.

아래 항목중에 평고 고민되었거나, 체크해보고 싶은 모니터링 항목이 있다면 업무에서도 쉽게 적용이 가능할 것으로 보입니다.

 

상세한 소스 설명이나, 추가적인 데모, SW버전업에 대해서는 https://yohaim.medium.com/을 통해서 업데이트 되니 실습시의 오류도 최소하 할수 있을 것 같습니다.

 

 

 

 

· 후속작이 기대됩니다.^^

 

■ SRE역활을 하거나, 실제 모니터링에 업무를 진행하시는 분들은 이책이 쉬울수 있지만, 처음 책을 보시는 분들은

여기서 나오는 다양한 오픈소스의 역활 및 사용처, 동작방식을 통해서 실제 어떻게 활용을 할지 명확하게 이해하는 것만으로

많은 것을 얻어가는 부분이라고 생각됩니다.

 

실제 업무적으로 바로 사용할수 있는 예시로 구성되어 있어서, 이러한 고민을 하셨던 분은 정말 많은 현실적인 도움을 받을수 있는 내용으로 구성되어 있습니다.



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