일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 안양천
- 유튜버추천
- 1917 #볼만한영화 #영화추천 #영화1917 #라이브톡 #CGV
- 풍경사진
- 강릉여행 #혼자여행 #강릉맛집 #강릉관광지
- 기타커버 #통기타연주
- 여의나루 #한강시민공원 #한강 #따릉이
- Infra #IT infra #인프라구조 #컴퓨터구조
- Today
- Total
내맘대로 쓰는 블로그
Infra Architecture Overview 본문
* 도서 <그림으로 공부하는 IT 인프라 구조>를 보고 정리한 내용입니다
1. 인프라(Infra)란?
- 기반, 구조
- 인프라 아키텍쳐 == IT인프라의 '구조'
- 궁극적인, 최적의 아키텍쳐 하나만 있으면 되지 않을까? -> No. 그러나 시스템에 맞는 최적의 설계는 가능
2. 집약형 vs 분할형 아키텍쳐
1) 집약형 아키텍쳐
- 하나의 컴퓨터로 모든 처리를 함
- 장점 : 한 대의 대형 컴퓨터만 있으면 되므로 구성이 간단
대형 컴퓨터의 리소스 관리나 이중화에 의해 안정성이 높고 고성능
- 단점 : 대형 컴퓨터의 도입 비용과 유지 비용이 큼
확장성에 한계 존재
2) 분할형 아키텍쳐
- 여러 대의 컴퓨터를 조합해서 하나의 시스템을 구축하는 구조
- 장점 : 낮은 비용으로 시스템 구축 가능
서버 대수를 늘릴 수 있음 -> 확장성 높음
- 단점 : 대수가 늘어나면 관리 구조 복잡
한 대가 망가짐 -> 영향 범위 최소화 위해 구조 검토 필요
(1) 수직 분할형 아키텍쳐
- 서버별로 다른 역할!
A. 클라이언트 - 서버형 아키텍쳐
- 업무 애플리케이션, 미들웨어, 데이터베이스 등의 소프트웨어를 물리 서버 상에서 운영. 이들에 클라이언트가 접속해서 이용
- 클라이언트에 전용 소프트웨어를 설치해야 함
- 장점 : 클라이언트 측에서 많은 처리를 실행할 수 있음 -> 소수의 서버로 다수의 클라이언트 처리 가능
- 단점 : 클라이언트 측의 소프트웨어 정기 업데이트 필요
서버 확장성에 한계
B. 3계층형 아키텍쳐
- 프레젠테이션 / 애플리케이션 / 데이터 계층 으로 구성
- 우리가 일상에서 사용하는 사이트, 사내 시스템 대부분이 이구조 사용
- 프레젠테이션 계층 : 사용자 입력 받음, 웹 브라우저 화면 표시
- 애플리케이션 계층 : 사용자 request에 따라 업무처리
- 데이터 계층 : 애플리케이션 계층의 요청에 따라 데이터 입출력
- 장점 : 서버 부하 집중 개선
클라이언트 단말의 정기 업데이트 불필요
'처리 반환'에 의한 서버 부하 저감
- 단점 : 구조가 클라이언트 - 서버 구성보다 복잡
(2) 수평 분할형 아키텍쳐
- 용도가 같은 서버 늘려나감
- 수평 분할을 sharding, partitioning이라 부르기도 함
A. 단순 수평 분할형 아키텍쳐
- 시스템이 분할됨으로써 전체 처리 성능 향상. 독립된 시스템이 생성되기 때문에 영향X, 독립성 향상
- 장점 : 확장성 향상, 서로 영향X
- 단점 : 데이터 일원화해서 볼 수 없음
애플리케이션 업데이트는 양쪽을 동시에 해 줘야 함
처리량이 균등하지 않으면 치우침 생김
B. 공유형 아키텍쳐
- 일부 계층에서 상호 접속이 이루어짐
- 장점 : 수평으로 서버를 늘리기 때문에 확장성 향상
분할한 시스템이 서로 다른 시스템의 데이터 참조 가능
- 단점 : 분할한 시스템 간 독립성 저하, 공유한 계층의 확장성 저하
(3) 지리 분할형 아키텍쳐
- 업무 연속성, 시스템 가용성 높이기 위해 지리적으로 분할
A. 스탠바이형 아키텍쳐 (High Availability)
- 물리 서버를 최소 두 대를 주비해 한 대가 고장나면 가동 중인 소프트웨어를 다른 한 대로 옮겨서 운영
- 보통 때는 failover 대상 서버가 놀고 있음 -> resource 낭비 -> 따라서 양쪽 서버를 동시에 교차 이용하는 경우도 많음
B. 재해 대책형 아키텍쳐
- 특정 데이터센터 (사이트) 에 있는 환경에 고장 발생 -> 다른 사이트 환경에서 업무 처리 재개
- 애플리케이션 최신화, 데이터 최신화가 문제. 동기 처리 필요
C. 클라우드형 아키텍쳐
- 3계층형 시스템의 일부 또는 전부가 클라우드 서비스 제공자가 보유하고 있는 물리 서버에서 동작
- 서버가 가상화되어 있음. -> 사용자는 어느 물리 서버에서 동작하는지 모름
- SaaS (Software as a Service) : 서버, 애플리케이션 포함한 업무 시스템을 클라우드 서비스 회사가 제공. 고객이 인프라 의식X
- Paas(Platform as a Service) / IaaS(Infrastructure as a Service) / DBaaS(Database as a Service) -> 서버 일부를 클라우드 리소스로
* 물리 서버 vs 논리 서버
- 서버란? : 분할형 아키텍쳐에서 이용되는 컴퓨터. 컴퓨터 자체(하드웨어) 혹은 동작하는 소프트웨어를 가리킴
- 물리 서버 : 컴퓨터 자체를 가리킴
- 논리 서버 : 소프트웨어 서버(ex. 웹 서버, DB 서버)
* 집약, 분할형 양쪽의 장점 취하는 '가상화'
- 물리 서버를 가상화 기능으로 여러 대의 가상 서버로 분할
- 안정성높고, 가상 서버를 다른 환경으로 옮기기 쉬워서 확장성 보장됨
* 수직 분할과 수평 분할은 배타적인 관계가 아님. 대부분은 두 가지 함께 채택