Post

IT 인프라 | IT Infrastructure

KT 에이블스쿨 6기 IT 인프라에 진행한 강의 내용 정리한 글입니다.

서버와 클라이언트

  • 서버(Server)
    • 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 장치
    • 응용 프로그램을 가지고 있다가 클라이언트 컴퓨터에서 요청하면 보냄
  • 클라이언트(Client)
    • 네트워크를 통하여 서버에 접속해 정보를 확인하거나 서비스를 이용하는 장치
    • 서버 컴퓨터에 응용 프로그램을 요청한 뒤 서버에서 보내주면 실행

서버의 역할 및 종류

  • 웹 서버: 정적 콘텐츠(소스코드, 텍스트, 이미지 등)을 클라이언트에 전달
    1. 요청(Request): 클라이언트가 웹 서버에 콘텐츠를 요청
    2. 콘텐츠 탐색: 웹 서버가 요청받은 콘텐츠를 탐색
    3. 응답(Response): HTML, CSS, JS, 텍스트, 이미지, 동영상 등의 형태로 클라이언트에게 응답
    4. 콘텐츠 조회: 클라이언트가 수신한 콘텐츠를 화면에 렌더링하거나 실행
    5. 로그 기록(Log): 요청과 응답에 대한 정보를 웹 서버에서 기록 (ex. 모니터링, 디버깅 용도)
  • 애플리케이션 서버: 동적 콘텐츠(소스코드, 텍스트, 이미지 등)을 클라이언트에 전달
    1. 요청(Request): 클라이언트가 동적 콘텐츠를 요청
    2. 콘텐츠 탐색: 웹 서버가 요청을 수신하고 동적 콘텐츠 요청임을 확인
    3. 콘텐츠 요청: 웹서버가 요청을 애플리케이션 서버로 전달
    4. 콘텐츠 조회: 애플리케이션 서버가 데이터를 처리하거나 데이터베이스와 연동하여 결과 생성
    5. 콘텐츠 전달: 애플리케이션 서버가 처리된 데이터를 웹 서버로 반환
    6. 응답: 웹 서버가 최종 콘텐츠를 클라이언트에게 전달
    7. 로그 기록(Log)
      • 애플리케이션 서버: 처리된 요청 및 결과에 대한 기록 저장
      • 웹 서버: 요청과 응답 내용을 기록 (ex. 모니터링, 디버깅)
  • 데이터베이스(DB) 서버: 애플리케이션의 정보를 저장해서 운영, 관리할 수 있는 데이터베이스를 구동하는 서버
    1. 요청(Request): 클라이언트가 동적 콘텐츠를 요청 (ex. 특정 사용자 정보)
    2. 콘텐츠 탐색: 웹 서버가 요청을 확인하고 처리 대상이 동적 콘텐츠임을 판단
    3. 콘텐츠 요청: 웹 서버가 애플리케이션 서버로 요청을 전달
    4. 요청 내용 확인: 애플리케이션 서버가 클라이언트 요청 내용을 분석
    5. 데이터 조회 요청: 애플리케이션 서버가 클라이언트 요청에 필요한 데이터를 DB서버에 요청
    6. 데이터 조회 결과 전달: DB서버가 조회 결과를 애플리케이션 서버에 변환
    7. 콘텐츠 전달: 애플리케이션 서버가 조회된 데이터를 기반으로 클라이언트에 필요한 동적 콘텐츠를 생성하고 이를 웹서버에 전달
    8. 응답(Response): 웹 서버가 최종 콘텐츠를 클라이언트에 응답
  • 리버스 프록시 서버: 클라이언트의 요청을 처리할 수 있는 애플리케이션 서버 선택 후 전달
  • 포워드 프록시(캐시) 서버: 미리 데이터를 저장해 뒀다가 요청이 오면 데이터 전달
  • 서버의 역할: 클라이언트의 요청을 수행하기 위해 다양한 서버들끼리 통신한 후 결과를 클라이언트에 전달

image

서버 하드웨어와 소프트웨어

서버 하드웨어 폼팩터

  • 랙마운트형 서버: 줄여서 랙(Rack) 서버라고 부르는 랙에 밀어 넣는 형태의 서버
    • 서버 높이 단위를 U라고 하며 1U 서버부터 2U 서버, 4U 서버, 8U 서버까지 대용량 서버가 있다.
    • 높이가 커질수록 더 많은 저장 장치 및 성능 부품을 장착 가능
    • 데이터 센터에서 많이 사용되며 공간 효율성이 높음
  • 블레이드(Blade)형 서버: 랙마운트형 서버를 더 얇게 만들고 케이스가 없는 형태의 서버
    • 케이스가 없는 형태로 여러 개의 블레이드 서버를 하나의 섀시(Chassis)에 삽입하여 사용
    • 전력 공급, 냉각 시스템, 네트워크 연결을 섀시에서 공유하므로 공간과 전력 효율성이 뛰어남
    • 주로 고밀도 데이터 센터나 클라우드 환경에서 사용
  • 타워형 서버: 일반 데스크탑PC와 유사한 형태의 서버로 워크스테이션이라고도 불린다.
    • 크기가 크고 별도의 랙 장비 없이 사용 가능하여 소규모 비즈니스나 사무실 환경에서 적합
    • 종종 워크스테이션(Workstation)으로 불리며 고성능 작업이나 데이터 처리에 사용

서버 하드웨어 유형

  • Main Frame
    • 1964년 IBM이 출시한 통계, 금융같은 분야에 사용되는 대형 서버
  • UNIX
    • Main Frame의 경량화 버전, 금융권 및 대기업에서 많이 사용하는 형태의 서버
  • x86
    • 중소기업부터 대기업까지 가장 많이 사용하는 서버 유형

네트워크

Net와 Work를 합친 용어로 그물을 짜는 행위 즉 그물처럼 연결된 상태를 뜻합니다.

네트워크의 개념

  • 회선 교환 방식(Circuit Exchange Method)
    • 데이터를 교환하기 위해 1:1로 연결된 데이터 통로(회선)를 만들고 데이터 교환이 완료될 때까지 회선을 계속 사용하는 방식
  • 패킷 교환 방식(Packet Exchange Method)
    • 패킷(Packet)은 소포라는 뜻으로 패킷이라는 택배 물품에 헤더라는 송장을 붙여 보내는 개념
    • 데이터를 패킷이라는 작은 단위로 나누고, 헤더라는 정보를 붙여 데이터를 교환하는 방식
      • 헤더에는 송수신 포트번호, 패킷 순서 번호, 데이터 시작 위치, 한번에 전송할 수 있는 데이터의 양 등이 포함
    • 필요한 만큼만 회선을 이용하며 같은 회선을 다른 사용자도 함께 사용 가능
    • 패킷이 손상될 경우 데이터 전체를 다시 보내지 않고 손상된 패킷만 보내면 됨

네트워크 프로토콜과 계층

  • 프로토콜(Protocol): 패킷을 전송하기 위한 규칙, 정해진 규칙을 따르기 때문에 통신이 가능해짐
  • HTTP(Hypertext Transfer Protocol): 웹서버와 웹브라우저가 패킷을 교환할 때 사용하는 프로토콜
    • DNS, FTP, SSL/TLS, TCP, UDP, SNMP, IEEE, ARP 등 매우 많은 프로토콜이 존재
  • 계층(Layer): 송신 기기와 수신 기기 사이에서 주고 받는 데이터는 각 계층 별로 처리
    • 계층 별로 처리: 한 계층에서의 처리가 완료되면 임무를 다음 계층으로 전달

계층

images_welloff_jj_post_f03ae920-c214-40d4-a2fe-a268babd718d_image

  • TCP/IP 참조 모델
    • 1970년대 미국 방위 고등 연구 계획국(DARPA)이 개발한 계층 구조 모델 (4계 계층으로 구성)
  • OSI 7 참조 모델
    • 1984년 국제 표준화 기구(ISO)에서 개발한 계층 구조 모델 (7계 계층으로 구성)
  • 업계에서 주로 사용하는 계층은 5계층 모델
    • L1 (물리 계층)
    • L2 (데이터 링크 계층)
    • L3 (네트워크 계층)
    • L4 (트랜스포트 계층)
    • L7 (애플리케이션 계층)

네트워크 형태

  • LAN(Local Area Network) : 근거리 통신망, 가정이나 기업 내부 등 한정된 범위의 네트워크
    • 클라이언트 기기와 L2 스위치로 구성
  • WAN(Wide Area Network) : 원거리 통신망, 물리적으로 거리가 매우 떨어진 곳의 네트워크를 연결
    • LAN 환경에 L3 스위치를 추가해서 구성
    • 인터넷(Internet) : 모든 컴퓨터를 하나의 통신망 안에 연결하고자 하는 International Network(다수의 WAN)
    • 월드와이드웹 (World Wide Web) : 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 공간
  • DMZ(DeMilitarized Zone) : 비무장지대, 외부 네트워크(외부망)와 내부 네트워크(내부망)의 중간 지점
  • VPN(Virtual Private Network) : 인터넷 상에서 가상의 전용선을 만들어 통신할 수 있게 하는 기술
    • 특정 네트워크들만을 위한 전용 WAN으로 Peer to Peer, 1:1로 연결하고 이 구간의 통신은 암호화함
    • 기업 본사 LAN과 지사 LAN을 연결할 때 인터넷을 거치지 않고 이 두 네트워크만의 전용 WAN을 VPN으로 구성

스토리지

  • 스토리지: 저장장치를 다수 장착한 대용량 고속 저장 장비로 서버 및 클라이언트와 네트워크로 연결해서 사용
    • 스토리지는 데이터 저장 뿐만 아니라 데이터 공유 목적으로 주로 사용
    • 서버에 장착된 디스크 용량이 부족할 경우, 다수의 사람들과 데이터를 공유할 필요가 있을 경우 스토리지를 활용
    • 데이터 관리 및 보호를 위한 별도의 소프트웨어 탑재
  • 저장장치: 컴퓨터의 데이터를 저장하기 위한 비휘발성의 기억 장치

스토리지 종류

스토리지 데이터 저장 방식

  • RAID(Redundant Array of Independent Disk)
    • 여러 개의 디스크 중 일부에 데이터를 중복 저장하는 기술
    • 여러 개의 디스크를 하나의 디스크 모듈로 사용, 디스크 읽기/쓰기 성능 향상, 장애 발생 시 원활한 복구를 위해 사용
    • 대표적인 RAID 방식
      • RAID 0
        • 데이터를 여러 디스크에 분산 저장
        • 같은 용량의 디스크로 구성
        • 빠른 성능 / 장애 시 데이터 모두 손실
      • RAID 1
        • 데이터를 다른 디스크에 동일하게 중복 저장
        • 최소 2개 디스크 필요, 필요한 용량의 2배 준비
        • 장애 대비에 유리하나 비용이 비쌈
      • RAID 5
        • 디스크마다 Parity(패리티) 정보 저장
        • 디스크 장애 시 Parity 정보를 토대로 복구 가능
        • 최소 3개 디스크 필요, 보통 5개 이상 사용
      • RAID 6
        • RAID 5 방식에 패리티를 하나 더 추가하여 안정성을 더욱 향상시킨 방법
        • RAID 5와 비슷하나 Parity 정보를 하나 더 저장
        • RAID 5 구조에 데이터 복구 능력을 향상시킨 형태
        • 성능은 RAID 5보다 조금 떨어짐
        • 디스크 최소 4개 필요
      • RAID 1+0
        • RAID 0의 높은 성능과 RAID 1의 뛰어난 안정성을 합친 형태
        • 쓰기는 디스크 2개 성능, 읽기는 디스크 4개 성능 발휘
        • 전체 용량의 50%만 사용 가능
        • 최소 4개 디스크 필요
  • JBOD
    • 2개 이상의 디스크를 하나의 디스크처럼 만들어 주는 것(Non-RAID)
    • 과거 디스크 용량이 작았을 때 개별 디스크 용량보다 더 큰 용량의 데이터를 저장하기 위해 사용
    • 여러 디스크의 용량을 단순히 이어 붙인 것으로, RAID 0과 같이 다수의 디스크를 사용한다고 성능이 향상되지 않음
  • DAS(Direct Attached Storage)
    • 서버와 클라이언트가 전용 케이블로 연결한 스토리지
    • 전송 속도가 빠르고, 스토리지와 연결된 서버에서 개별적인 파일 시스템을 사용해 관리
  • NAS(Network Attached Storage)
    • 데이터 공유를 위한 파일 서버 용도로 주로 사용되며 파일 스토리지라고도 불림
    • 스토리지 전용 OS로 데이터를 관리하는 독립적 다기능 스토리지
  • SAN(Storage Area Network)
    • 대용량의 데이터를 네트워크를 통해 빠른 속도로 전송할 수 있는 고성능 스토리지
    • 일반적인 이더넷 네트워크(UTP 케이블, LAN)가 아닌 FC(Fiber Channel 광케이블)을 사용해 SAN으로 연결하며, 고성능을 요구하는 시스템의 전용 스토리지로 사용

데이터 유형

  • 정형(Structured) 데이터
    • 미리 정해 놓은 형식과 구조에 따라 고정된 필드에 저장된 텍스트 형태의 데이터
  • 비정형(Unstructured) 데이터
    • 식별 가능한, 미리 정의된 구조가 없는 사진, 음성, 동영상, PDF파일 등의 데이터

스토리지 유형

  • 파일 스토리지
    • 데이터를 파일과 폴더로 이루어진 계층 구조에 저장 (주차타워, 기계식 주차장)
    • 데이터 양이 늘어날 수록 성능이 떨어짐
    • 활용 사례: NAS
  • 블록 스토리지
    • 데이터를 일정한 크기의 블록으로 나눠서 분산 저장 (공용 주차장)
    • 대규모 데이터 전송이 필요한 환경에 주로 활용, 비용이 비쌈
    • 메타데이터 처리에 한계가 있어 비정형 데이터 처리에 불리
    • 활용 사례: SAN
  • 오브젝트 스토리지
    • 오브젝트라는 개별 데이터 단위(객체)로 분산 저장 (주차대행 서비스)
    • 오브젝트에 메타데이터가 포함되어 있어 신속한 검색 가능
    • 비정형 데이터 저장에 알맞음, 퍼블릭 클라우드에서 주로 활용
    • 오브젝트 수정이 불가능해 잦은 수정이 필요한 정형 데이터 처리에는 적합하지 않음
    • 활용 사례: AWS S3

백업 개념 및 종류

  • 백업(Backup): 데이터를 임시로 다른 장치에 저장하여 문제가 있을 때 복구(Recovery)할 수 있도록 준비해 두는 것
  • Full Backup: 백업 주기 마다 데이터 전체를 백업
  • Incremental Backup: 첫째 날에 데이터 전체를 백업하고, 그 다음부터는 증가된 데이터만 백업
  • 스냅샷: Snapshot, 마치 사진 찍듯이 특정 시점에 스토리지의 파일 시스템을 포착해 보관하는 기술
  • Copy-on-write 스냅샷 : 쓰기(Write) 작업 발생 시 복제(Copy) 후 해당 복제본을 새로운 공간에 덮어씀

데이터베이스

여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합, 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음

  • DBMS(Database Management System)
    • 사용자들이 DB안에 있는 데이터를 접근할 수 있도록 해주는 소프트웨어
  • 관계형 DBMS
    • Relational DBMS(RDBMS)
    • 테이블이라는 최소 단위로 구성하며 이 테이블은 열과 행으로 이루어짐
  • SQL
    • Structured Query Language
    • 구조적 데이터 질의 언어, 데이터베이스에서 데이터를 조회하기 위한 언어
  • NoSQL
    • 대용량 데이터를 분산 처리하기 위한, SQL이 아닌 또 다른 기술을 채택한 오픈소스 데이터베이스
  • DB IDE
    • IDE(Integrated Development Environment), DB 엔지니어, DBA, 개발자가 사용하는 DB 개발 도구
  • 상용 DB IDE : GUI 지원, 다중 DB 지원, Query 자동완성, 관리자를 위한 기본 모니터링 도구 제공

온프레미스

기업이 자체 시설에서 보유하고 직접 유지 관리하는 프라이빗 데이터 센터

3 Tier 아키텍처

애플리케이션 운영 환경이 컴퓨팅(서버), 네트워크, 스토리지로 구성된 전통적인 아키텍처

  • 한계
    • 상면 공간이 제한되어 무한정 서버를 늘릴 수 없음
    • 물리 서버의 자원 활용률이 30% ~ 40% 수준으로 매우 낮음
    • 다수의 물리 장비가 소비하는 전력이 매우 많고, 발열이 심해 과열로 인한 장애 발생

IT 인프라 가상화 기술

  • 가상화
    • Virtualization, 물리적인 하드웨어가 보유한 자원 효율성을 향상시키기 위해 사용하는 기술
      • 서버 가상화: 하이퍼바이저(Hypervisor)를 통해 가상머신을 생성, 여러개의 OS를 운영하는 기술
      • 데스크탑 가상화: 데이터는 서버에 저장하고, 서버에서 클라이언트에 업무 환경만 제공해 주는 기술
      • 네트워크 가상화: 다수의 물리적 네트워크를 하나의 가상 네트워크로 구성해 사용하는 기술
      • 스토리지 가상화: 물리서버의 디스크와 스토리지를 하나의 가상 스토리지 풀로 묶어 사용하는 기술

HCI & SDDC

HCI

  • Hyper Converged Infrastructure
  • 컴퓨팅, 스토리지, 네트워크를 가상화시켜 단일 시스템으로 운영
  • 기존 3-Tier 대비 병목 구간을 제거하여 자원 확장 시 성능이 선형적으로 늘어남

SDDC

  • Software Defined Data Center, 데이터 센터 구성 요소의 모든 것을 소프트웨어로 통합 관리
  • SDC + SDS + SDN + Management Platform 4가지가 모두 포함되어야 진정한 SDDC라고 할 수 있음
  • 소프트웨어로 관리되는HCI 기반 데이터센터

클라우드

  • 클라우드: IT인프라 자원을 직접 보유해서 사용하는 것이 아닌, 다른 기업의 IT인프라 자원을 빌려서 쓰는 것
  • 클라우드 비용: 자원을 빌려 쓴 것 만큼의 사용료를 월 과금 형태로 지불

클라우드 개념 및 종류

  • aws
    • 글로벌 No.1 클라우드 서비스
  • 코로케이션
    • 내가 가진 서버를 IDC의 랙에 설치하고 IDC가 제공하는 네트워크 및 관리 서비스를 받는 것
      • IDC의 상면공간과 네트워크 자원을 빌리는 개념임
  • IaaS
    • Infra as a Service
    • IT인프라 자원 전체를 빌려다 씀, OS 및 각종 소프트웨어 설치 필요
      • AWS, Azure, GCP, NCP, KT Cloud, NHN Cloud 등
  • PaaS
    • Platform as a Service
    • 이미 설치된 OS(플랫폼)을 빌려다 씀, 애플리케이션 설치 필요
      • AWS Elastic Beanstalk, Azure SQL DB, Google BigQuery 등
  • SaaS
    • Software as a Service
    • 소프트웨어를 빌려다 씀
      • Microsoft 365, Google Workspace, Adobe CC, Zoom, Groupware 등

클라우드 형태

  • 온프레미스: 기업이 직접 IT인프라를 운영
  • 퍼블릭 클라우드: 다른 기업의 IT인프라를 빌려다 씀
  • 프라이빗 클라우드: 기업이 보유한 IT인프라를 클라우드 서비스처럼 기업 내에서 활용
  • 하이브리드 클라우드: 프라이빗 클라우드 + 퍼블릭 클라우드
  • 멀티 클라우드: 퍼블릭 클라우드 + 퍼블릭 클라우드

클라우드 기술 및 용어

  • 컨테이너(Container)
    • 리눅스 기반 애플리케이션 운영을 위한 프로세스 격리 기술
  • 컨테이너 런타임
    • Container Runtime, 컨테이너를 다루는 도구
  • 도커(Docker)
    • 컨테이너 기술을 누구나 쉽게 사용할 수 있도록 만든 컨테이너 런타임 중 가장 유명한 오픈소스 프로젝트
  • 쿠버네티스
    • 다수의 컨테이너를 효율적으로 운영, 관리하기 위한 도구
  • 파드(Pod)
    • 앱이 운영되는 컨테이너들의 모음, 그룹
  • 노드(Node)
    • 파드가 운영되는 물리 서버 또는 가상 머신, 워커 노드라고 부름
  • 클러스터(Cluster)
    • 노드들의 집합
  • 마스터(Master)
    • 다수의 워커 노드들 및 그 하위의 파드와 컨테이너를 관리하는 노드

개발 모델

  • 폭포수(Waterfall) 방법론 요구사항 분석 → 기획 및 설계 → 개발 → 테스트 → 배포(출시)
  • 모놀리식 아키텍처
    • 애플리케이션 계획, 설계, 개발, 테스트, 배포 모든 과정을 한번에 수행하는 모델
  • 애자일 방법론
    • 서비스의 기능, 요소 별로 설계 → 개발 → 테스트 → 출시 과정을 반복
  • 마이크로서비스 아키텍처
    • 애플리케이션의 각 요소(기능) 별로 계획 → 설계 → 개발 → 테스트 → 배포하는 모델
  • 데브옵스(DevOps)
    • 개발 및 테스트부터 배포 및 운영까지의 업무를 통합해서 앱 개발 및 배포 속도를 높이려는 접근방식
  • CI/CD(Continuous Integration / Continuous Delivery, Deployment)
    • 애플리케이션 개발 및 배포 단계를 자동화하여 보다 짧은 주기로 빠르게 애플리케이션을 제공하는 방법론
  • Low Code
    • GUI 기반의 빠른 개발을 위해 사용, 커스텀 코딩 가능, 개발자 대상
  • No Code
    • 코딩 경험이 전혀 없는 사람을 위한 개발 접근 방식, 코딩을 완전히 건너뛰고 GUI 환경에서 앱 개발 가능
  • 시민 개발자(Citizen Developer)
    • 개발자가 아니지만 업무용 소프트웨어를 직접 개발하는 임직원

고가용성

  • 서버 하드웨어 구성요소: 다양한 부품이 서로 유기적으로 연결되어 있음
  • 서버 하드웨어 장애: 서버의 모든 요소 마다 장애가 발생할 수 있음
  • 서버 소프트웨어 구성요소: OS, OS 기본 프로그램, 다양한 애플리케이션이 함께 동작함
  • 서버 소프트웨어 장애: OS 자체 버그, 보안 취약점, 애플리케이션 문제 등으로 인한 장애가 발생할 수 있음
  • SPOF(Single Point of Failure): 단일 장애 지점, 장애가 발생하면 전체 시스템이 다운되는 지점
  • 고가용성(HA, High Availability): 시스템이 긴 시간동안 장애 없이 안정적으로 운영되도록 취하는 조치
  • 이중화: 서비스의 안정성을 위해 각종 자원(하드웨어, OS, 미들웨어, DB 등)을 이중 혹은 그 이상으로 구성하는 기술
    • 각 요소 별로 이중화 하는 방법이 다르며, 2대로 이중화 한다 하더라도 장애 발상 가능성을 완벽하게 배제하기 어려움
    • 두 서버를 모두 운영해야 하기에 비용 증가, 자원 낭비라는 단점이 있음
  • 클러스터링: 여러 대의 컴퓨터를 병렬로 연결한 시스템으로, 여러 대의 서버를 가상의 하나의 서버처럼 사용하는 기술
  • Failover: 실패(Fail)를 끝냄(Over), 장애 대비 기능, 실제 운영 시스템에 이상이 생겼을 때 예비 시스템으로 자동 전환

모니터링

  • 모니터링
    • 지속적인 감시, 감찰을 통해 대상의 상태나 가용성,변화 등을 확인하고 대비하는 것
    • 시스템의 상태나 상황에 문제가 발생하면, 즉각 관리자에게 알림을 보내 빠르게 대처할 수 있도록 도와줌
  • 서버 모니터링
    • 서버 하드웨어 자원 보유 현황, 상태, 자원 사용 현황을 지표로 보여줌
  • 애플리케이션 모니터링
    • JAVA 애플리케이션의 사용자 수, 자원 사용 현황, 트랜잭션 상태 등을 지표로 보여줌
    • APM (Application Performance Monitoring)
    • 애플리케이션의 트랜잭션 상세보기를 통해 서버에서 처리된 시간, SQL 처리 시간, 쿼리 정보 등을 확인 가능
    • 이 정보를 통해 애플리케이션 성능 분석 및 튜닝을 할 수 있음
  • DBMS 모니터링
    • 데이터베이스 성능을 항상 최상의 상태로 유지할 수 있도록 도와줌
  • 네트워크 모니터링
    • 네트워크의 전반적인 상태를 분석해 안정적인 네트워크를 제공할 수 있도록 도와줌
  • 클라우드 모니터링
    • 클라우드 자원 사용 현황 및 운영하는 애플리케이션 상태를 보여줌
  • 클라우드 비용 모니터링 플랫폼
    • 자원 사용량에 따라 과금되는 클라우드 서비스 비용을 상세히 보여줌
    • 하나의 클라우드 뿐만 아니라 다수의 클라우드 사용 현황을 단일 화면에서 모니터링하고 관리할 수 있음
  • 옵저버빌리티(Observability)
    • 관측가능성 혹은 관측능력, 전통적인 모니터링이 가진 한계를 극복한 가시성 확보 방안
    • 기존의 전통적인 포인트 모니터링 환경이 너무 복잡해짐
    • 3가지 요소
      • Metrics(감지), Traces(추적), Logs(분석)
    • 솔루션의 4가지 특징
      • 인프라부터 최종 사용자가 사용하는 애플리케이션까지 전체 스택 관장
      • 실시간으로 데이터를 수집하고 분석
      • 클라우드 기반 애플리케이션의 데이터를 수집하고 내보내는 오픈텔레메트리 지원
      • 데이터의 양이 늘어나도 문제없이 분석할 수 있도록 자동으로 확장

자동화

정보 기술 서비스 및 솔루션을 제공하는 데 사용되는 하드웨어, 소프트웨어, 네트워킹 구성 요소, 운영 체제(OS), 데이터 스토리지 구성 요소를 제어하기 위해 사람의 개입을 줄이면서 임무를 수행하는 기술을 사용하는 것

  • IaC(Infra as a Code)
    • 개발자가 직접 코드를 만들어 IT인프라를 생성, 배치, 관리하는 기술
    • IaC를 통해 반복적인 작업을 코드로 처리함으로써 업무시간을 획기적으로 단축시키고 오류 사전 방지 가능
  • 업무 구성
    • Playbook이라는 템플릿을 제공해 어떤 업무를 자동화할 것인지 손쉽게 구성 가능
  • Job 워크플로우 생성
    • 업무 Playbook을 구한 다음, 구체적으로 어떻게 실행될 것인지 워크플로우 생성
  • AIOps
    • AI + Ops(Operations)
    • IT 운영의 자동화 및 관리를 위해 빅데이터 분석에 머신러닝을 적용하는 것
    • 옵저버빌리티(원인 분석), 할일 관리(문제 감지), 해결 방안 실행(자동화)

엔드포인트 보안

악성코드(Malware) 종류

  • 바이러스(Virus)
    • 스스로 복제하여 컴퓨터를 감염시키는 프로그램
    • 컴퓨터를 물리적으로 파괴하지 않으며 하드웨어 오작동을 유발하여 간접적으로 손상을 입힘
    • 독립실행이 불가능하기 때문에 스스로를 복제하여 다른 파일들을 감염시킴
  • 웜(Worm)
    • 스스로 복제하는 것을 넘어 복제본을 네트워크를 통해 다른 컴퓨터로 전파시키는 악성 프로그램
    • 독립실행이 가능하며 네트워크 손상 유발 및 파일 암호화, 추가적인 악성프로그램 유포
  • 트로이목마(Trojan)
    • 정상적인 프로그램으로 위장한 악성프로그램
    • 메모리에 상주하여 시스템 내부 정보를 공격자의 컴퓨터로 빼돌리는 프로그램
    • 메일, P2P, 파일 다운로드 등 간접경로로 전파됨
  • 랜섬웨어(Ransomware)
    • 데이터를 암호화시키고 몸값을 요구

소프트웨어

  • Endpoint
    • 기업 네트워크에 연결된 최종 단계의 기기 (PC, 노트북, 스마트폰, 태블릿 등)
  • AV(Anti Virus)
    • 컴퓨터의 악성코드를 찾아내고 치료, 방어하기 위한 소프트웨어
  • EDR(Endpoint Detection and Response)
    • AV에서 진화된 보안 솔루션, 악성코드를 실시간으로 감지하고 분석 및 대응해서 피해확산을 막는 솔루션

네트워크 보안

  • 방화벽(Firewall)
    • 네트워크 상의 패킷을 모니터링하고 허용되지 않은 접근은 차단하는 보안 장비
  • IDS/IPS(Intrusion Detection System / Intrusion Prevention System)
    • 네트워크 침입 탐지 및 방지 시스템
  • UTM(Unified Threat Management)
    • 방화벽, 침입탐지 및 방지, VPN, AV, 필터링 등 다양한 보안기능을 제공하는 통합위협관리 솔루션

접근제어

  • NAC(Network Access Control)
    • 유무선 환경에서 내부 네트워크망으로 접근하는 다양한 단말기기를 통제하기 위한 보안 솔루션
  • DB 접근제어
    • 보안을 위해 데이터베이스 접근을 통제하고 관리하는 솔루션
  • ABAC
    • 사용자, 기기, 접속 상태, 접근하려는 리소스와 같은 속성에 따라 접근제어
  • IAM(Identity and Access Management)
    • 기업에서 오직 적합한 사람과 디바이스만 필요할 때 원하는 애플리케이션과 리소스 및 시스템에 접근할 수 있도록 허용하는 구조
    • 필요한 이유
      1. 기업의 데이터를 안전하게 보호하기 위해
      2. IT관리자의 업무 부담을 줄이고 실수를 방지하기 위해
      3. 다수의 SaaS 및 서비스를 사용하는 사용자의 생산성 향상을 위해

Zero Trust

  • Zero Trust 필요성
    • IT인프라 보안 환경이 너무 복잡해 짐, 관리 포인트가 너무 많아진 것이 가장 큰 원인
    • 사용자 기기 증가, 다양한 접속 위치 및 시간, 한번 관문을 통과하면 어떤 작업도 허용하는 전통적인 보안 방식의 한계
    • 보안 모델 필수 요소
      1. 사용자 및 엔드포인트 기기 검증
      2. 최소 권한 부여
      3. 지속적인 모니터링
      4. 정책 관리 및 차단

AI 개발을 위해 필요한 H/W, S/W

  • 순차컴퓨팅
    • 한 번에 한 가지의 연산을 수행, 첫 번째 연산이 끝나면 다음 연산으로 넘어감 → CPU
  • 병렬컴퓨팅
    • 동시에 많은 계산을 하는 연산 방법, 복잡한 계산을 빠르게 수행할 수 있는 것이 특징 → GPU
  • LLM(Large Language Model)
    • LLM과 같은 생성형 AI는 매우 많은 파라미터를 학습시켜야 함 → CPU보다 GPU가 훨씬 유리
This post is licensed under CC BY 4.0 by the author.