[SQLP] 이론 3. What is Architecture?

2021. 11. 18. 00:03Study/Database

1. 아키텍처 (Architecture)

 - 시스템을 만들기 위한 물리 레벨의 조합 (서버, 하드, 네트워크 등 시스템 전반적인 인프라 환경)

 - 시스템의 용도, 목적 추측 가능

 

2. IT 아키텍처

 - 정보시스템을 효율적으로 구성하기 위한 방법

 - 시스템의 목적, 서버, OS, 미들웨어, 저장소 등의 다양한 지식 필요

 - 비용산정도 중요함 (최소비용 최대효율을 내야함)

 

3. 역사

 - Stand-alone : 네트워크 접속 없이 독립적으로 작동

    1) 장점 : 구축 과정 간단, 네트워크 연결 불가로 보안성이 높음

    2) 단점 : 물리적으로 떨어져 있으면 접근 불가, 1명만 이용 가능, 서버가 1대(낮은 가용성), 확장성 부족

 - Client/Server : 네트워크 연결을 통한 복수 사용자의 동시 사용, 계층 분리

    1) 장점 : 원격지에서 사용, 복수 사용자가 동시 사용

    2) 단점 : 네트워크 연결 시 보안 취약, 각 사용자 PC 에서  Application 설치 필요 (수정/배포 어려움)

 - WEB 3계층 : WEB, WAS, DBMS 단계로 구분, 사용자 입장에서는 WEB 서버에만 접근

    1) 장점 : 보안 향상, 관리 용이 및 비용 절감

    2) 단점 : 기존 방식에 비해 큰 단점은 없음

 - 참고. Cloud

    ex) Amazon Web Service, Microsoft Azure, Google Cloud Platform, Naver Cloud Platform 등 플랫폼의 다양화

 

4. 확장성

 - 확장에 대한 용이성

 - 사용자 수가 증가하더라도 수용할 수 있도록 설계해야 함

 - Cloud 가 각광받는 이유? 탁월한 확장성!

 

5. 가용성

 - 정상적으로 사용 가능한 정도 (가동률)

 - 가용성 Availability(%) = ( 정상 사용시간 Uptime / 전체 사용시간 Uptime + Downtime ) * 100

 - 전략

    1) 고품질-소수 : 견고함 + 신뢰성

    2) 저품질-다수 : 클러스터링 전략 (동일 기능의 DBMS 서버를 다수로 구축)

        - 서버 여러대를 동일하게 세팅하여 병렬화 시킴

        - 한 개의 시스템을 위해 존재함 -> 서버↑ 장애 발생률↓

 - 단일 장애 점 (SPOF, SIngle Point Of Failure) : 동작하지 않으면 전체 시스템이 중단되는 요소

    ex) 회원정보 테이블

 

6. 신뢰성 VS 가용성

 - 고장빈도 및 기간(컴포넌트) VS 사용자 입장에서 사용 가능한 시스템 정도(시스템 전체)