Go민보다 Go

프론트엔드 개발자

Read

1장 그림으로 공부하는 IT 인프라 구조

SleepingOff 2023. 12. 12. 09:53

책을 덮고 이해를 바탕으로 정리한 글입니다.

 집약형과 분할형 아키텍처가 있고, 집약형은 하나의 큰 컴퓨터의 유한한 리소스를 관리하는 방식으로 한다면, 분할형은 작은 컴퓨터들을 여러 개 써서 하나의 구조를 만드는 것입니다. 작은 컴퓨터들 간의 데이터를 공유하고, 안전성은 떨어지지만 비용적인 부분 등 집약형 보다 장점이 있습니다.
 분할형에는 다시 수직 분할형과 수평 분할형, 지리 분할형 등으로 나뉩니다. 수직 분할형에는 클라이언트와 서버 형태로 나뉘는 클라이언트 - 서버형 아키텍처가 있고, 프레젠테이션, 어플리케이션, 데이터베이스로 나뉘는 3계층형 아키텍처가 있습니다. 이렇게 수직으로 분할한 아키텍처를 수평적으로 수를 늘려 큰 구조를 이루도록 하는 게 단순 수평 분할형 아키텍처이며, 수평으로 분할한 서버들 간의 데이터를 공유할 수 있도록 설정한 것이 공유형 아키텍처입니다. 마지막으로 지리 분할형은 재해 대책형, 스탠바이형 등으로 나뉘는데, 물리 서버를 최소 2대 이상 준비하여 물리 서버 고장에 대응할 수 있도록 하며, 페일오버(failover) 대상 서버가 놀고 있는 상태가 되기 때문에 리소스 측면에서 낭비가 발생할 수 있습니다. 그래서 양쪽 서버를 교차 사용하는 경우도 있습니다. 재해 대책형은 말 그대로 재해가 발생했을 때를 대비해 별도의 사이트에 배치하며, 소프트웨어는 상용 환경과 동일하게 설정한 것입니다. 이때, 데이터의 경우 어느 정도 실시간성을 유지해야 합니다.

*페일오버 : 소프트웨어 재시작을 자동으로 하는 구조

인프라 아키텍처의 종류

 책의 그림을 보고 그려보았습니다. 책의 제목 답게 그림이 잘 그려져 있고, 이해하기 쉬우나, 스스로 시각화하여 표현할 때는 오히려 방해 요소가 된 것 같습니다. 그림을 자꾸 따라 그리게 되었습니다.

이 책을 읽게 된 이유

CS 지식은 나중에 해야 겠다고 미뤄두고 있었습니다. 아직 구현도 미흡한 실력이다 보니 코드를 작성하는 데에 초점을 두어 공부하려고 했습니다. 그러다가 K-DEVCON에서 만난 개발자 분이 CS도 같이 공부해야 한다고 책도 여러 권 추천을 해주었습니다. 그 중 가장 쉬운 책부터 시작하기 위해 이 책을 선택했습니다. 오전에 기술 블로그를 뒤적이며 보던 시간에 이 책을 읽었습니다. 암기할 생각이 아닌 이해를 바탕으로 자주 보는 것을 목표로 하였습니다.

728x90