IT 인프라 | IT Infrastructure
KT 에이블스쿨 6기 IT 인프라에 진행한 강의 내용 정리한 글입니다.
서버와 클라이언트
- 서버(Server)
- 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 장치
- 응용 프로그램을 가지고 있다가 클라이언트 컴퓨터에서 요청하면 보냄
- 클라이언트(Client)
- 네트워크를 통하여 서버에 접속해 정보를 확인하거나 서비스를 이용하는 장치
- 서버 컴퓨터에 응용 프로그램을 요청한 뒤 서버에서 보내주면 실행
서버의 역할 및 종류
- 웹 서버: 정적 콘텐츠(소스코드, 텍스트, 이미지 등)을 클라이언트에 전달
- 요청(Request): 클라이언트가 웹 서버에 콘텐츠를 요청
- 콘텐츠 탐색: 웹 서버가 요청받은 콘텐츠를 탐색
- 응답(Response): HTML, CSS, JS, 텍스트, 이미지, 동영상 등의 형태로 클라이언트에게 응답
- 콘텐츠 조회: 클라이언트가 수신한 콘텐츠를 화면에 렌더링하거나 실행
- 로그 기록(Log): 요청과 응답에 대한 정보를 웹 서버에서 기록 (ex. 모니터링, 디버깅 용도)
- 애플리케이션 서버: 동적 콘텐츠(소스코드, 텍스트, 이미지 등)을 클라이언트에 전달
- 요청(Request): 클라이언트가 동적 콘텐츠를 요청
- 콘텐츠 탐색: 웹 서버가 요청을 수신하고 동적 콘텐츠 요청임을 확인
- 콘텐츠 요청: 웹서버가 요청을 애플리케이션 서버로 전달
- 콘텐츠 조회: 애플리케이션 서버가 데이터를 처리하거나 데이터베이스와 연동하여 결과 생성
- 콘텐츠 전달: 애플리케이션 서버가 처리된 데이터를 웹 서버로 반환
- 응답: 웹 서버가 최종 콘텐츠를 클라이언트에게 전달
- 로그 기록(Log)
- 애플리케이션 서버: 처리된 요청 및 결과에 대한 기록 저장
- 웹 서버: 요청과 응답 내용을 기록 (ex. 모니터링, 디버깅)
- 데이터베이스(DB) 서버: 애플리케이션의 정보를 저장해서 운영, 관리할 수 있는 데이터베이스를 구동하는 서버
- 요청(Request): 클라이언트가 동적 콘텐츠를 요청 (ex. 특정 사용자 정보)
- 콘텐츠 탐색: 웹 서버가 요청을 확인하고 처리 대상이 동적 콘텐츠임을 판단
- 콘텐츠 요청: 웹 서버가 애플리케이션 서버로 요청을 전달
- 요청 내용 확인: 애플리케이션 서버가 클라이언트 요청 내용을 분석
- 데이터 조회 요청: 애플리케이션 서버가 클라이언트 요청에 필요한 데이터를 DB서버에 요청
- 데이터 조회 결과 전달: DB서버가 조회 결과를 애플리케이션 서버에 변환
- 콘텐츠 전달: 애플리케이션 서버가 조회된 데이터를 기반으로 클라이언트에 필요한 동적 콘텐츠를 생성하고 이를 웹서버에 전달
- 응답(Response): 웹 서버가 최종 콘텐츠를 클라이언트에 응답
- 리버스 프록시 서버: 클라이언트의 요청을 처리할 수 있는 애플리케이션 서버 선택 후 전달
- 포워드 프록시(캐시) 서버: 미리 데이터를 저장해 뒀다가 요청이 오면 데이터 전달
- 서버의 역할: 클라이언트의 요청을 수행하기 위해 다양한 서버들끼리 통신한 후 결과를 클라이언트에 전달
서버 하드웨어와 소프트웨어
서버 하드웨어 폼팩터
- 랙마운트형 서버: 줄여서 랙(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): 송신 기기와 수신 기기 사이에서 주고 받는 데이터는 각 계층 별로 처리
- 계층 별로 처리: 한 계층에서의 처리가 완료되면 임무를 다음 계층으로 전달
계층
- 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개 디스크 필요
- RAID 0
- 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를 운영하는 기술
- 데스크탑 가상화: 데이터는 서버에 저장하고, 서버에서 클라이언트에 업무 환경만 제공해 주는 기술
- 네트워크 가상화: 다수의 물리적 네트워크를 하나의 가상 네트워크로 구성해 사용하는 기술
- 스토리지 가상화: 물리서버의 디스크와 스토리지를 하나의 가상 스토리지 풀로 묶어 사용하는 기술
- Virtualization, 물리적인 하드웨어가 보유한 자원 효율성을 향상시키기 위해 사용하는 기술
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의 상면공간과 네트워크 자원을 빌리는 개념임
- 내가 가진 서버를 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)
- 기업에서 오직 적합한 사람과 디바이스만 필요할 때 원하는 애플리케이션과 리소스 및 시스템에 접근할 수 있도록 허용하는 구조
- 필요한 이유
- 기업의 데이터를 안전하게 보호하기 위해
- IT관리자의 업무 부담을 줄이고 실수를 방지하기 위해
- 다수의 SaaS 및 서비스를 사용하는 사용자의 생산성 향상을 위해
Zero Trust
- Zero Trust 필요성
- IT인프라 보안 환경이 너무 복잡해 짐, 관리 포인트가 너무 많아진 것이 가장 큰 원인
- 사용자 기기 증가, 다양한 접속 위치 및 시간, 한번 관문을 통과하면 어떤 작업도 허용하는 전통적인 보안 방식의 한계
- 보안 모델 필수 요소
- 사용자 및 엔드포인트 기기 검증
- 최소 권한 부여
- 지속적인 모니터링
- 정책 관리 및 차단
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.