본문 바로가기

-00. 특강

IT Infra 구조의 이해

728x90

1. IT 인프라 구조의 이해

  1.1. IT 인프라의 정의 및 중요성

    1.1.(1). IT 인프라의 정의 및 중요성

    1.1.(2). IT Infrastructure

      - 시스템의 *비기능적인 요구사항과 관련

      *비기능적인 요구사항(Non-functional Requirement) : 시스템의 성능, 안정성, 확장성, 보안 등과 같은 요구사항

        df. 기능적인 요구사항(Functional Requirement) : 시스템이 제공하는 기능 또는 서비스에 대한 기술

    1.1.(3). IT 인프라의 구성요소

      - 하드웨어 | 소프트웨어 | 네트워크

    1.1.(4). 하드웨어와 소프트웨어

    1.1.(5). IT 인프라에 대한 관점 

      Ex. 시스템 관리자 vs 비즈니스 분석가 vs 일반 사용자

    1.1.(6). IT 인프라의 중요성

      정보기술 지원 / 기업의 경쟁력과 혁신 촉진 / 개인정보 및 데이터 보안 / 변화에 유연한 대응

  1.2. 전통적인 IT 인프라의 구조와 기능

    1.2.(1). IT 인프라의 계층

      - 소프트웨어 및 애플리케이션

      - 액세스 및 장치

      - 서버 및 스토리지

      - 네트워크 및 통신

      - 전문 및 관리형 서비스

    1.2.(2). 전통적인 IT 인프라 관리의 5가지 핵심 요소

      애플리케이션 / 데이터베이스 관리 / 서버&운영체제 / 네트워크&스토리지 / 백업&재난복구 시스템

   1.2.(3). 전통적인 IT 인프라의 특징

      ; 보안 및 데이터 보호에 있어 On-premise vs Cloud -> 개인/팀 역량에 따르는 부분


2. IT 인프라의 구성요소

  2.1. IT 인프라의 주요 구성 요소 : 하드웨어

    2.1.(1). 개요

      Hardware + Software -> Meatware(; human entities in a computer system or technology) 

    2.1.(2). 하드웨어와 네트워크

    2.1.(3). 서버

    2.1.(4). 물리 서버

    2.1.(5). Server vs PC

    2.1.(6). 물리서버의 종류

    2.1.(7). 서버 타입 별 유형

      타워형 서버(Workstation) / 랙(Rack)형 서버 / 블레이드(Blade) 서버

      ; 서버가 아무리 스펙이 좋아도 네트워크 문제를 해결하지 못하는 경우 발생

        Ex. 코로나 때, Network BottleNeck 발생으로 서버 과부하가 아님에도 서비스 장애 발생

    ※ 물리적인 호환성 문제 Example : 벤더락인(Vendor Lock-in)

    2.1.(8). 랙(Rack)

      ; 네트워크 트래픽 과부하로 인한 문제를 해결하는 분산처리를 하기 위해 Rack 방식과 네트워크 스위치를 같이 가지는 형태로 변화

    2.1.(9). CPU

    2.1.(10). GPU

      ; GPU 자체가 병렬 처리에 최적화된 작고 많은 코어로 구성되어 있기에

        -> 병렬처리 연산에 CPU보다 GPU가 강점을 가지기에 Cloud 서비스를 사용하면 매우 효율적 -> 병렬처리가 많이 필요한 딥러닝에서 많이 사용

    2.1.(11). Memory

      ; Swapping이 많이 일어나면 RAM의 성능 향상 필요

        (?Windows에서는 Page/Paging이라고 지칭? (Ref_https://stackoverflow.com/questions/1688962/whats-the-difference-between-operating-system-swap-and-page)

    2.1.(12). 스토리지 디바이스(Storage Device)

    2.1.(13). 연결방식 기반의 스토리지 디바이스 분류

      ; DAS -> NAS 

        ~ 스토리지의 DB서비스 지속을 위해 분리되어 네트워크로 연결(<- 서버의 장애로 인한 스토리지에서 영향을 받기에)

      ; NAS -> SAN

        ~ NAS에서 하나의 스위치에 의한 서버쪽 트래픽 과부하로 인해 스토리지 부분 네트워크 장애 발생 -> fibre channel(;Storage 전용 채널) 따로 네트워크 채널 생성 (SAN; Storage Area Network)

      ; SAN의 경우, 고가이며 구현이 어렵다 ~ Ex. 금융 DB서버, 게임 DB서버 (빠른 응답과 동시성이 필요하기에)

    2.1.(14). 기타 하드웨어 : 메인보드, NIC, UPS, KVM Switch

  2.2. IT 인프라 주요 구성 요소: 소프트웨어

    2.2.(1). 소프트웨어

    2.2.(2). 운영체제(Operating Systems, OS) : Unix-based & Unix-like

    2.2.(3). Unix

    2.2.(4). 애플리케이션 소프트웨어

      ; AP Server(애플리케이션 서버) = WAS(; HTTP를 이용하는 AP Server)

    2.2.(5). 애플리케이션 서버의 3가지 연결 구조

      Tier 1 / Tier 2 / Tier 3


3. 네트워크 및 데이터센터

  3.1. IT 인프라 주요 구성 요소 : 네트워크

    3.1.(1). 네트워크

      LAN & WAN

    3.1.(2). 프로토콜

    3.1.(3). 네트워크 참조 모델(Reference model)

      OSI(Open Systems Interconnection) 모델 & TCP/IP 모델

    3.1.(4). OSI 계층 vs TCP/IP 계층

    3.1.(5). TCP/IP

    3.1.(6). IP Address

    3.1.(7). CIDR(Classless Inter-Domain Routing)

    3.1.(8). 공인 IP와 사설 IP

    3.1.(9). 물리적인 포트와 논리적인 포트

    3.1.(10). 네트워크 주요 장비

      이더넷 허브 / L2 스위치 / VLAN / L3 스위치 / 라우터

  3.2. IT 인프라 주요 구성 요소 : 데이터 센터

    3.2.(1). IT 인프라 환경의 변화 : On-Premise -> Colocation -> Cloud

    3.2.(2). 데이터센터

    3.2.(3). 데이터센터의 중요성

    3.2.(4). 데이터센터 인프라 구성 요소

    3.2.(5). 데이터 센터 구축 시 고려사항

      안전 및 물리적 보안 / 1년 365일 무중단 서비스 / 전력 소비량 감축 / 미세먼지 필터링 장비 설치


4. 가상화와 클라우드

  4.1. 클라우드 컴퓨팅의 핵심 기술 : 가상화

    4.1.(1). 가상화와 클라우드

      + 가상화와 클라우드 차이점

        - 가상화 : 단일 물리 하드웨어 시스템에서 여러 시뮬레이션 환경이나 전용 자원(리소스)을 생성하는 기술

        - 클라우드 : 네트워크 전체에 확장 가능한 자원(리소스)을 추상화하고 풀링(Pooling)하는 IT 환경

    4.1.(2). 가상화(Virtualization)

    4.1.(3). 가상화(Virtualization)의 종류

      서버 가상화 / 네트워크 가상화 / 스토리지 가상화 / 데스크톱 가상화 (+ Hypervisor Virtualization)

    4.1.(4). 서버 가상화의 핵심기술

      하이퍼바이저 & 컨테이너

    4.1.(5). 서버가상화

    4.1.(6). 서버가상화 : Native/Bare-metal Hypervisor

    4.1.(7). 서버가상화 : Hosted Hypervisor

    4.1.(8). 서버 가상화의 장점

      리소스 최적화 / 비용 절감 / 유연성과 확장성 / 격리성 / 테스트 및 개발 환경 제공

    4.1.(9). 서버 가상화의 단점

      성능 오버헤드 / 관리의 복잡성 / 보안 문제

    4.1.(10). 애플리케이션 실행 환경의 변화

      On-Premise -> Virtual Machine -> Container

    4.1.(11). 서버가상화 : Container

    4.1.(12). Virtual Machine vs Container

      전통적인 배포 vs 가상머신 기반 배포 vs 컨테이너 기반 배포

      ; k8s는 컨테이너 기반인 도커의 OS 문제에 따른 영향이 없도록, 클러스터를 구성해서 컨테이너 지휘/관리

  4.2. 클라우드 컴퓨팅

    4.2.(1). IT 인프라 환경의 변화

      온프레미스(On-Premise) -> 코로케이션(Colocation) -> 클라우드(Cloud)

    4.2.(2). 클라우드 컴퓨팅의 등장

      1965.John McCarthy | 1996.Compaq.Internet Solution Division Strategy for Cloud Computing | 2006.Christophe Bisciglia | 2006.Amazon Web Service

    4.2.(3). 클라우드의 정의 

      NIST(미국 국립 표준 기술 연구소)의 정의

    4.2.(4). 클라우드 컴퓨팅의 3-4-5 모델(NIST)

      - 3 Service Models : IaaS & PaaS & SaaS

      - 4 Deployment Models : Private Cloud (& Community Cloud(Ex.공공 클라우드)) & Hybrid Cloud & Public Cloud

      - 5 Essential Characteristics : On-demand Self-service & Broad Network Access & Resource Pooling & Rapid Elasticity & Measured Service

    4.2.(5). 클라우드컴퓨팅 서비스 모델

    4.2.(6). Cloud 3 Service Model

    4.2.(7). 클라우드 컴퓨팅 배포 모델

      Public Cloud / Private Cloud / Hybrid Cloud

    4.2.(8). 클라우드 모델의 필수 특성

      주문형 셀프 서비스 / 광범위한 네트워크 액세스 / 리소스 풀링(resource pooling) / 민첩한 탄력성 / 서비스 측정

  4.3. 데이터센터의 유형

    4.3.(1). 데이터센터의 유형

      온프레미스 데이터센터 / 코로케이션(Colocation) 데이터센터 / 클라우드 데이터센터 / 에지 데이터센터(Edge Data Center)

    4.3.(2). 온프레미스와 클라우드 컴퓨팅 데이터 센터 비교


5. 클라우드네이티브

  5.1. 클라우드 네이티브의 개념

    5.1.(1). 클라우드네이티브의 정의 : 클라우드 컴퓨팅 모델의 이점을 최대한 활용하여 정보시스템을 구축 및 실행하는 환경

    5.1.(2). CNCF에서 정의한 클라우드 네이티브 정의

      인프라 관점 | S/W 아키텍처 관점 | 개발 및 운영조직, 프로세스 관점 | 서비스 운영 관점

    5.1.(3). 클라우드 네이티브의 주요 특징

      코드 기반 인프라(IaC) / 개발팀과 운영팀 지속 협력 / 클라우드 인프라 전반에서 배포 및 관리 / 컨테이너 기반 코드 패키징 / MicroService 기반 설계

    5.1.(4). 클라우드 네이티브이 주요 구성요소

      DevOps / Continuous Delivery(CI/CD) / Microservices / Container-based Infra







728x90