12주차 | IT 인프라

KT AIVLE SCHOOL 5기 12주차에 진행한 IT 인프라 강의 내용 정리 글입니다.

서버

서버와 클라이언트

  • 서버: 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 장치
  • 클라이언트: 네트워크를 통하여 서버에 접속해 정보를 확인하거나 서비스를 이용하는 장치

서버의 역할과 종류

  • 웹 애플리케이션 구성하는 서버의 종류
    • 웹서버, 웹 애플리케이션 서버, 캐시 서버, 리버스 프록시 서버, DB 서버
  • 웹 서버: 정적 콘텐츠(소스 코드, 텍스트, 이미지 등) 을 클라이언트에 전달
  • 애플리케이션 서버: 동적 콘텐츠(소스 코드, 텍스트, 이미지 등)을 클라이언트에 전달
  • 데이터베이스(DB) 서버 : 애플리케이션의 정보를 저장해서 운영, 관리할 수 있는 데이터베이스를 구동하는 서버
    • 세밀한 데이터(클라이언트 정보) 저장
  • 리버스 프록시 서버 : 클라이언트의 요청을 처리할 수 있는 애플리케이션 서버 선택 후 전달
  • 포워드 프록시(캐시) 서버 : 미리 데이터를 저장해 뒀다가 요청이 오면 데이터 전달
  • 서버의 역할 : 클라이언트의 요청을 수행하기 위해 다양한 서버들끼리 통신한 후 결과를 클라이언트에 전달

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

  • 서버 하드웨어
    • 서버 하드웨어 폼팩터
      • 랙마운트형 서버(랙(Rack) 서버): 랙에 밀어넣는 형태의 서버
        • 1U서버, 2U서버, 4U서버,…
      • 블레이드(Blade)형 서버: 랙 마운트형 서버를 더 얇게 만들고 케이스가 없는 형태
      • 타워형 서버: 일반 데스크탑 PC와 유사한 형태(워크스테이션)
      • Main Frame: 통계, 금융같은 분야에 사용되는 대형 서버
      • UNIX: Main Frame의 경량화 버전
      • x86: 중소기업부터 대기업까지 가장 많이 사용하는 서버 유형
    • 서버 하드웨어 제조사 : HPE, Dell Technologies, Lenovo,…
  • 서버 소프트웨어
    • 오픈소스 소프트웨어 vs 상용 소프트웨어
      • 재배포 가능 여부, 유료화의 차이
    • 서버 OS(Operating System)
      • 서버 소프트웨어 작동을 위해 설치 필요
      • z/OS, 오픈소스 Linux, 상용 Linux, Microsoft Windows Server
    • 웹 서버
      • Apache, NGNIX, Microsoft
    • 애플리케이션 서버
      • Apache Tomcat, WildFly
    • 기타 서버
      • FileZilla(file), Exchange(mail)

네트워크

네트워크 개념

  • 네트워크(Network) : Net + Work, 그물을 짜는 행위 → 그물처럼 연결된 상태를 뜻함
  • 회선 교환 방식(Circuit Exchange Method) : 데이터를 교환하기 위해 1:1로 연결된 데이터 통로(회선)를 만들고 데이터 교환이 완료될 때까지 회선을 계속 사용하는 방식
    • 중간에 연결이 끊기면 다시 처음부터 데이터 전송해야 함
  • 패킷 교환 방식(Packet Exchange Method)
    • 데이터를 패킷이라는 작은 단위로 나누고, 헤더라는 정보를 붙여 데이터를 교환하는 방식
    • 필요한 만큼만 회선을 이용하며 같은 회선을 다른 사용자도 함께 사용할 수 있음
    • 패킷이 손상될 경우 데이터 전체를 다시 보내지 않고 손상된 패킷만 보내면 됨

네트워크 프로토콜과 계층

  • 프로토콜(Protocol) : 패킷을 전송하기 위한 규칙, 정해진 규칙을 따르기 때문에 통신이 가능해짐
    • HTTP(Hypertext Transfer Protocol) : 웹 서버와 웹 브라우저가 패킷을 교환할 때 사용하는 프로토콜
  • 계층(Layer) : 송신 기기와 수신 기기 사이에서 주고 받는 데이터는 각 계층 별로 처리됨
    • 계층 별로 처리 : 한 계층에서의 처리가 완료되면 임무를 다음 계층으로 전달
    • 대표적인 2가지 계층 : TCP/IP 참조 모델(4계 계층), OSI 참조 모델(7계 계층)
    • OSI 참조 모델(7계 계층): 업계에서 주로 사용하는 계층은 5계층 모델
      • L1, L2, L3, L4, L7

네트워크 기기

  • 네트워크 기기 : 계층 별로 존재하는 프로토콜에 따라 데이터를 전송하는 기기
    • 각 계층 별로 동작하는 네트워크 기기가 다름
    • 상위 계층에서 작동하는 기기들은 하위 계층의 기능을 다 가지고 있음
    • L1: NIC, 허브(Hub), AP(Access Point)
    • L2: MAC Address(같은 네트워크), 이더넷, L2 스위치
    • L3: IP Address, 라우터(다른 네트워크)
    • L4: L4 스위치(트래픽을 분산해 서버로 전송), 방화벽
    • L7: L7 스위치(IP 주소와 포트 번호 + 애플리케이션 콘텐츠 정보들을 참조해서 로드 밸런싱), 웹방화벽, 블랙 리스트, 화이트 리스트
      • 로드 밸런싱(Load Balancing) : 들어오는 트래픽을 둘 이상의 서버로 분산해서 전송하여 부하를 분산하는 것

네트워크 형태

  • LAN(Local Area Network) : 근거리 통신망, 가정이나 기업 내부 등 한정된 범위의 네트워크
    • 클라이언트 기기와 L2 스위치로 구성
  • WAN(Wide Area Network) : 원거리 통신망, 물리적으로 거리가 매우 떨어진 곳의 네트워크를 연결
    • 인터넷, WWW
    • LAN 환경에 L3 스위치를 추가해서 구성
  • VPN(Virtual Private Network) : 인터넷 상에서 가상의 전용선을 만들어 통신할 수 있게 하는 기술
    • 기업 본사 LAN과 지사 LAN을 연결할 때 인터넷을 거치지 않고 이 두 네트워크만의 전용 WAN을 VPN으로 구성
  • DMZ(DeMilitarized Zone) : 비무장지대, 외부 네트워크(외부망)와 내부 네트워크(내부망)의 중간 지점
    • 내부망에는 존재하나 외부망에서 접근할 수 없는 영역으로, 외부망에 있는 해커의 공격으로부터 기업의 중요한 서버와 클라이언트를 보호하기 위해 사용

스토리지

스토리지 개념 및 종류

  • 스토리지 : 저장장치를 다수 장착한 대용량 고속 저장 장비로 서버 및 클라이언트와 네트워크로 연결해서 사용
    • 저장장치 : 컴퓨터의 데이터를 저장하기 위한 비 휘발성의 기억 장치
    • 스토리지는 데이터 저장 뿐만 아니라 데이터 공유 목적으로 주로 사용됨
  • 스토리지 데이터 저장 방식 : RAID
    • 여러 개의 디스크 중 일부에 데이터를 중복 저장하는 기술
      • 여러 개의 디스크를 하나의 디스크 모듈로 사용, 디스크 읽기/쓰기 성능 향상, 장애 발생 시 원활한 복구를 위해 사용
    • RAID 0 : 데이터를 여러 디스크에 분산 저장하여 하나의 디스크처럼 사용, 성능이 좋지만 장애 시 데이터는 모두 손실됨
    • RAID 1 : 데이터를 다른 디스크에 동일하게 중복 저장하여 안정성이 높지만 비용이 많이 듬
    • RAID 5 : 디스크에 패러티 정보를 저장해 장애 시 패러티를 토대로 복구할 수 있음, 일정 수준의 성능과 안정성 확보
    • RAID 6 : RAID 5 방식에 패러티를 하나 더 추가하여 안정성을 더욱 향상시킨 방법
  • JBOD : Just a Brunch of Disks(Drives), 2개 이상의 디스크를 하나의 디스크처럼 만들어 주는 것(Non-RAID)
  • 스토리지 종류
    • DAS(Direct Attached Storage), 직접 연결한 스토리지
      • 서버와 클라이언트가 전용 케이블로 연결한 스토리지
      • 전송 속도가 빠르고, 스토리지와 연결된 서버에서 개별적인 파일 시스템을 사용해 관리
    • NAS(Network Attached Storage)
      • 데이터 공유를 위한 파일 서버 용도로 주로 사용되며 파일 스토리지 라고도 불림
      • NAS 자체가 메인보드, CPU, RAM, 스토리지를 갖춘 하나의 서버 역할을 수행하기에 파일 공유 뿐만 아니라 다양한 서버 용도로 사용할 수 있음
        • 스토리지가 하나의 네트워크 공유 드라이브로 독립적으로 동작
      • 네트워크 스위치를 거쳐야 하기 때문에 속도가 조금 느리다
    • SAN
      • 대용량의 데이터를 네트워크를 통해 빠른 속도로 전송할 수 있는 고성능 스토리지
      • 반드시 서버와 연결해야 읽기/쓰기 작업이 가능한 서버 종속성 스토리지
      • 이더넷 네트워크보다 성능이 뛰어남 -> NAS보다 데이터 전송 속도가 빠름
  • 스토리지 유형 : 파일 스토리지(NAS), 블록 스토리지(SAN), 오브젝트 스토리지(AWS S3)
  • 데이터 유형 : 정형 데이터, 비정형 데이터

백업 개념 및 종류

  • 백업(Backup) : 데이터를 임시로 다른 장치에 저장하여 문제가 있을 때 복구(Recovery)할 수 있도록 준비해 두는 것
    • Full Backup : 백업 주기 마다 데이터 전체를 백업 → 너무 힘듬
    • Incremental Backup : 첫째 날에 데이터 전체를 백업하고, 그 다음부터는 증가된 데이터만 백업 → 주로 사용
  • 스냅샷 : Snapshot, 마치 사진 찍듯이 특정 시점에 스토리지의 파일 시스템을 포착해 보관하는 기술
    • Copy-on-write 스냅샷 : 쓰기(Write) 작업 발생 시 복제(Copy) 후 해당 복제본을 새로운 공간에 덮어씀 → 쓰기 작업 2번
    • Redirect-on-write 스냅샷 : 쓰기(Write) 작업 발생 시 새로운 공간으로 쓰기 위치를 재지정(Redirect) → 쓰기 작업 1번(주로 사용)
  • 백업 하드웨어: 백업을 위한 전용 스토리지(하드웨어) + 소프트웨어가 합쳐진 일체형 어플라이언스
  • 백업 소프트웨어 : 백업을 위한 전용 소프트웨어

데이터 베이스

데이터베이스 개념 및 주요 용어

  • 데이터베이스
    • 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합
    • 응용 시스템들의 통합된 정보들을 저장하여 운영할 수 있는 공용 데이터들의 묶음
  • DBMS(Database Management System)
    • 사용자들이 DB안에 있는 데이터를 접근할 수 있도록 해주는 소프트웨어
  • 관계형 DBMS : Relational DBMS, RDBMS
    • 테이블이라는 최소 단위로 구성하며 이 테이블은 열과 행으로 이루어짐
  • SQL : 구조적 데이터 질의 언어, 데이터베이스에서 데이터를 조회하기 위한 언어

오픈소스 DB vs 상용 DB, DB Engine Ranking

  • 데이터베이스 유형 : 오픈소스 DB vs 상용 DB
  • NoSQL : 대용량 데이터를 분산 처리하기 위한, SQL이 아닌 또 다른 기술을 채택한 오픈소스 데이터베이스

DB IDE

  • DB IDE : DB 엔지니어, DBA, 개발자가 사용하는 DB 개발 도구
  • 상용 DB IDE : GUI 지원, 다중 DB 지원, Query 자동완성, 관리자를 위한 기본 모니터링 도구 제공

온프레미스

온프레미스 개념과 3 Tier 아키텍쳐

  • 온프레미스 : 기업이 자체 시설에서 보유하고 직접 유지 관리하는 프라이빗 데이터 센터
  • 3 Tier 아키텍처 : 애플리케이션 운영 환경이 컴퓨팅(서버), 네트워크, 스토리지로 구성된 전통적인 아키텍처

가상화 기술

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

HCI, SDDC

  • HCI(Hyper Converged Infrastructure): 컴퓨팅, 스토리지, 네트워크를 가상화시켜 단일 시스템으로 운영
    • 2-Tier Architecture: 기존 3-Tier 대비 병목 구간을 제거하여 자원 확장 시 성능이 선형적으로 늘어남
  • SDDC(Software Defined Data Center): 데이터 센터 구성 요소의 모든 것을 소프트웨어로 통합 관리
    • SDC + SDS + SDN + Management Platform 4가지가 모두 포함되어야 진정한 SDDC라고 할 수 있음

클라우드

클라우드 개념 및 종류

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

    Untitled

  • 코로케이션 : 내가 가진 서버를 IDC의 랙에 설치하고 IDC가 제공하는 네트워크 및 관리 서비스를 받는 것 → IDC의 상면 공간과 네트워크 자원을 빌리는 개념임
  • 클라우드 종류
    • IaaS : Infra as a Service / IT인프라 자원 전체를 빌려다 씀, OS 및 각종 소프트웨어 설치 필요
    • PaaS : Platform as a Service / 이미 설치된 OS(플랫폼)을 빌려다 씀, 애플리케이션 설치 필요
    • SaaS : Software as a Service / 소프트웨어를 빌려다 씀

클라우드 형태

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

클라우드 기술 및 용어

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

개발 모델 및 방법론

개발 모델

  • 모놀리식 아키텍처 : 애플리케이션 계획, 설계, 개발, 테스트, 배포 모든 과정을 한번에 수행하는모델
  • 마이크로서비스 아키텍처 : 애플리케이션의 각 요소(기능) 별로 계획, 설계, 개발, 테스트, 배포하는 모델

개발 방법론

  • 워터폴 : 요구 사항 정의 -> 디자인 -> 개발 -> 테스트 -> 배포 과정이 순차적으로 진행됨
  • 애자일 : 변화하는 고객의 요구 사항에 빠르게 대응하기 위한 민첩한(agile) 개발 방식으로, 작은 단위 별로 디자인 -> 개발 -> 테스트 과정을 반복
  • 데브옵스(DevOps) : 개발 및 테스트부터 배포 및 운영까지의 업무를 통합해서 앱 개발 및 배포 속도를 높이려는 접근 방식
  • CI/CD : Continuous Integration / Continuous Delivery, Deployment(연속적인 통합 / 연속적인 배포)
    • 애플리케이션 개발 및 배포 단계를 자동화하여 보다 짧은 주기로 빠르게 애플리케이션을 제공하는 방법론
  • No Code: 코딩 경험이 전혀 없는 사람을 위한 개발 접근 방식, 코딩을 완전히 건너뛰고 GUI 환경에서 앱 개발 가능
  • Low Code: No Code와 동일하게 GUI를 활용하나 커스텀 코딩 가능, 좀 더 수준이 높음, 개발자 대상
  • 시민 개발자(Citizen Developer) : 개발자가 아니지만 업무용 소프트웨어를 직접 개발하는 임직원

앱 운영 관련 기술

고가용성(HA, High Availability)

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

모니터링(Monitoring)

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

자동화(Automation)

  • 자동화(Automation) : 정보 기술 서비스 및 솔루션을 제공하는 데 사용되는 하드웨어, 소프트웨어, 네트워킹 구성 요소, 운영 체제(OS), 데이터 스토리지 구성 요소를 제어하기 위해 사람의 개입을 줄이면서 임무를 수행하는 기술을 사용하는 것
  • IaC(Infra as a Code) : 개발자가 직접 코드를 만들어 IT인프라를 생성, 배치, 관리하는 기술
  • 업무 구성 : Playbook이라는 템플릿을 제공해 어떤 업무를 자동화할 것인지 손쉽게 구성 가능
  • Job 워크플로우 생성 : 업무 Playbook을 구한 다음, 구체적으로 어떻게 실행될 것인지 워크플로우 생성
  • AIOps : AI + Ops(Operations), IT 운영의 자동화 및 관리를 위해 빅데이터 분석에 머신러닝을 적용하는 것

보안 관련 기술

엔드포인트 보안

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

네트워크 보안

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

접근 제어

  • NAC(Network Access Control) : 유무선 환경에서 내부 네트워크망으로 접근하는 다양한 단말기기를 통제하기 위한 보안 솔루션
  • DB 접근제어 : 보안을 위해 데이터베이스 접근을 통제하고 관리하는 솔루션
  • 데이터 거버넌스 : 데이터의 보안, 개인정보 보호, 정확성, 가용성, 사용성을 보장하기 위해 수행하는 모든 작업

IAM

  • IAM: 기업에서 오직 적합한 사람과 디바이스만 필요할 때 원하는 애플리케이션과 리소스 및 시스템에 접근할 수 있도록 허용하는 구조
  • 필요 이유
    1. 기업의 데이터를 안전하게 보호하기 위해
    2. IT관리자의 업무 부담을 줄이고 실수를 방지하기 위해
    3. 다수의 SaaS 및 서비스를 사용하는 사용자의 생산성 향상을 위해

Zero Trust

  • 신뢰가 없다, 아무도 믿지 않는다 라는 컨셉의 보안 모델
    • 사용자 및 기기가 네트워크나 데이터에 접근할 때 기업에서 요구하는 보안 검증을 통과하기 전까지는 접속을 허용하지 않음
  • Zero Trust 필요성 : IT인프라 보안 환경이 너무 복잡해 짐, 관리 포인트가 너무 많아진 것이 가장 큰 원인
  • Zero Trust 5가지 원칙
    • 네트워크의 모든 사용자는 항상 위험하다고 가정
    • 외부 및 내부 위협이 네트워크에 항상 존재
    • 네트워크의 신뢰 여부를 결정할 때 네트워크의 위치는 충분하지 않음
    • 모든 디바이스, 사용자, 네트워크를 인증하고 권한 확인
    • 최대한 많은 데이터 소스를 기반으로 자동적인 정책 수립
  • 클라우드 사용 시에도 보안을 신경 써야함 → 클라우드 책임공유모델

AI 개발환경 구성

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

  • H/W
    • GPU(Graphic Processing Unit) : 그래픽 처리 장치, 병렬 컴퓨팅을 활용한 다중 연산에 용이
    • 순차컴퓨팅 : 한 번에 한 가지의 연산을 수행, 첫 번째 연산이 끝나면 다음 연산으로 넘어감 → CPU
    • 병렬컴퓨팅 : 동시에 많은 계산을 하는 연산 방법, 복잡한 계산을 빠르게 수행할 수 있는 것이 특징 → GPU
    • LLM과 같은 생성형 AI는 매우 많은 파라미터를 학습시켜야 함 → CPU보다 GPU가 훨씬 유리
    • NVIDIA GPU H100 : NVIDIA의 Hopper 아키텍처 기반 최신 데이터센터 GPU
    • GPU Server : 데이터센터 GPU를 다수 탑재한 AI 학습 및 추론용 서버, Intel & AMD CPU + NVIDIA GPU로 구성
  • S/W
    • IDE (Integrated Development Environment) Tool: AI 애플리케이션 개발을 위한 코딩 환경을 제공하는 도구
    • Programing Language : IDE 툴에서 AI 애플리케이션을 프로그래밍하기 위해 사용하는 언어
    • Library : 프로그래밍에 활용할 수 있는 코드, 함수, 객체 등의 데이터를 모아놓은 것
      • API(Application Programming interface) : 서로 다른 소프트웨어가 데이터를 주고 받을 수 있도록 해주는 것
      • GPGPU(General-Purpose computing on Graphics Processing Units) : GPU를 활용해 연산을 할 수 있게 하는 기술

기업 자체 AI 구축 시 고려사항

  1. 데이터 셋 만들기
  2. AI 모델 만들기
  3. AI 모델 파인튜닝(Fine Tuning) 하기
  4. 챗봇 UI/UX에 파인튜닝 된 AI 모델 적용

자주 발생하는 IT 인프라 장애 유형 및 대처 방안

404 Not Found

  • 404 Not Found : ‘웹페이지를 표시할 수 없습니다’라는 뜻의 장애
    • 서버 자체는 존재하나 해당 서버에 클라이언트가 요청한 데이터가 없을 때 나타남, 잘못된 정보를 요청해서 보여줄 게 없음
  • 대처 방안
    1. 호스팅하고 있는 서비스의 DNS 정보가 변경되었는지 확인 필요
    2. DNS(도메인 네임서버) 및 URL 구성 확인

503 Service Temporarily Unavailable

  • 503 Service Temporarily Unavailable : “서비스를 일시적으로 이용할 수 없습니다"라는 뜻의 장애
    • 서버에 있는 데이터에는 문제가 없으나 서버 과부하로 인해 서버의 데이터에 접속할 수 없는 상태
    • 주로 웹서버가 몰려드는 트래픽을 감당하지 못해 발생하거나 웹서버와 WAS와의 설정 오류로 인해 발생
  • 대처 방안: 웹서버 앞단에 로드밸런서를 두어 트래픽 분산

개발자와 인프라 운영자의 효율적인 커뮤니케이션

장애 상황 발생 시 커뮤니케이션 프로세스

  • 고객사 연락 → 현재 비즈니스 영향도 및 원인 파악 → 대안 제시(선 조치) → 후속 조치 및 장애 보고 → 후속 대안(Upselling)