갓 이직을 한 나.. 18년차 개발팀장님 밑에서 회사업무 + 세미나 + 미션을 수행하기 위해서는 근무시간 외 공부가 반드시 필요하다.
특히 가장 부족한건, CS지식 ! IT인프라구조 1회독을 하며 블로깅 + Q&A를 정리해보자 !
- 인프라란 ?
: '기반'이라는 뜻. 전반적인것을 지탱하는 바탕이나 토대라는 의미.
- IT인프라란?
: 네트워크, 서버, 데이터베이스, 정보보안, 시스템 소프트웨어 및 기반시설 등 IT서비스의 기반이 되는 시스템 및 구조(아키텍쳐)
**다양한 아키텍처 구성과 기술 요소 및 이중화, 성능을 배울것이지만 궁극적이고 최적의 아키텍쳐는 없다. 아키텍쳐나 설계 요소에는 장단점이 공존하기 마련이고, 시스템 도입 비용과 최적화등을 고려하여 취사선택 해야하는 상황이 항상 생기기 때문이다.
아직 그림이 이해가 가지 않더라도 서서히 1단계부터 살펴보자..!!
-집약형 아키텍쳐
: IT시스템의 여명기에는 대형 컴퓨터(범용 장비, 호스트, 메인 프레임등으로 불림)를 이용해서 모든 업무를 처리하는 형태가 대부분이다. ( 1개의 컴퓨터가 모든일을 함)
: 장점
- 하나의 컴퓨터로 모든 처리를 하기 때문에 구성이 간단함
- 주요 부품이 다중화가 되어있어, 하나가 고장나더라도 업무유지가능
- 복수의 다른 업무 처리가 가능하도록 유한 리소스 관리를 함
: 단점
- 도입 비용과 유지 비용이 높음
- 확장성 한계가 존재함
-분할형 아키텍쳐
-> 여러 대의 컴퓨터를 연결해서 이용하기 때문에, 표준 OS나 개발 언어를 이용하는 '오픈 시스템' 이자 '분산 시스템'이라고 불린다.
:장점
- 비용이 압도적으로 저렴함
- 확장성이 좋음
:단점
- 안정성이 낮음 ( 따라서 여러대의 컴퓨터를 두며, 망가짐의 영향 범위를 최소화하는 노력을 해야함)
- 컴퓨터 관리구조가 복잡해짐
-> 분할형 아키텍처에서 이용되는 컴퓨터를 "서버"라고 한다.
"서버"는 사실 다양한 의미를 지니고 있다. (하드웨어 일때도 있고 소프트웨어일때도 있음)
분할형 아키텍처에 대해 좀 더 깊게 들어가보자...!!!
- 수직 분할형 아키텍처
->분할형에서는 서버 분할 방식을 고려해야한다. 서버 측면에서 봤을 때 역할에 따라
위 아래 계층으로 나뉘는 서버를 수직 분할형 아키텍쳐라고 한다. 그 종류를 알아보자!
: 클라이언트 - 서버형 아키텍쳐
-> 수직 분할형의 한 예이다.
-> 클라이언트 또는 단말이라 불리는 소형 컴퓨터를 Client/Server의 앞글자를 따서 C/S라고 부르기도 한다.
-> 클라이언트 쪽에서 많은 처리를 실행, 데이터가 필요할때 서버에 데이터만 요청하면 된다.
-> 특징은 클라이언트 쪽에 전용 소프트웨어를 설치해야하고, 업데이트가 되어야한다. (마이크로소프트 업데이트, 오라클의 자바 업데이트 등..)
-> 이용자가 반드시 업데이트한다는 보장이 없고, 시스템을 마음껏 사용못하기 때문에 시스템 위험요소가 될 수 있다.
-> 서버에 처리가 집중되면 확장성에 한계가 발생하기 때문에 발생한 것이 3계층형이다.
: 3계층형 아키텍쳐
-> 클라이언트 - 서버형을 발전시킨 것. 프레젠테이션 계층 - 애플리케이션 계층 - 데이터 계층으로 분할되어 있다.
-> 사용자는 웹 브라우저만 있으면 별도의 업데이트없이 언제나 이용가능
-> 서버 부하가 개선됨
-> 하지만 구조가 클라이언트 - 서버 구성보다 복잡함
- 수평 분할형 아키텍처
:용도가 같은 서버를 늘려나가는 방식을 의미한다. 처리 담당 서버 대수를 늘림으로서 안정성과 성능 향상을 실현한다. (수직 분할 + 수평 분할을 보통 함께 채택함)
-> 수평분할을 "샤딩(Sharding)"이나 "파티셔닝(Partitioning)"이라 부르기도 한다.
:장점
- 수평으로 서버를 늘리기 때문에 확장성이 향상됨
- 독립적인 운영으로 상호 영향을 주지 않음
:단점
- 데이터의 일원화가 불가능
- 처리량이 균등하지 않으면 서버별 처리량에 치우침이 생김
- 공유형 아키텍처
일반 기업 시스템은 일부 계층에서 상호 접속이 이루어진다!
- 분할한 시스템이 서로 데이터를 참조할 수 있다. 하지만, 독립성과 확장성은 다소 낮아진다.
- 클라우드 컴퓨팅 / 엣지 컴퓨팅
아직 SD-WAN과 엣지 컴퓨팅의 이해가 제대로 가지 않지만, https://news.samsungdisplay.com/29813 읽어보며 따로 정리해보자!
- 스탠바이형 아키텍처
스탠바이 구성, HA 구성, 액티브 - 스탠바이 구성등으로 불리는 형태이다.
물리 서버가 최소 두 대 이상존재하여 스탠바이 서버를 운영하는 방식!
소프트웨어 재시작을 자동으로 하는 구조를 "페일오버"라고 한다.
리소스 측면의 낭비가 발생하기 때문에, 양쪽 서버 동시 교차 이용하는 경우도 많다.
'나의 개발자 기록 > IT 아키텍쳐 지식' 카테고리의 다른 글
[IT 인프라구조] 3. 3계층형 시스템을 살펴보자1 - 시스템 상에서 데이터 흐름을 봐보자 ! ( 웹 서버/AP 서버/ 프로세스와 스레드/OS 커널 /시스템 콜 인터페이스 ) (0) | 2022.12.14 |
---|---|
[IT인프라구조]2. 서버란? 하드웨어 장비와 데이터의 흐름을 알아보자 (0) | 2022.11.15 |