IT 인프라 운영
고가용성(HA, High Availability)
- 고가용성: 서버, 네트워크, 프로그램 등의 시스템이 안정적으로 작동할 수 있도록 보장하는 것
- 서버 하드웨어 구성요소: 다양한 부품이 서로 유기적으로 연결되어 있음
- 서버 하드웨어 장애: 서버의 모든 요소 마다 장애가 발생할 수 있음
- 서버 소프트웨어 구성요소: OS, OS 기본 프로그램, 다양한 애플리케이션이 함께 동작함
- SPOF(Single Point of Failure): 단일 장애 지점, 장애가 발생하면 전체 시스템이 다운되는 지점
- 고가용성(HA, High Availability): 시스템이 긴 시간동안 장애 없이 안정적으로 운영되도록 취하는 조치
- 이중화: 서비스의 안전성을 위해 각종 자원(하드웨어, OS, 미들웨어, DB 등)을 이중 혹은 그 이상으로 구성하는 기술
- 각 요소 별로 이중화 하는 방법이 다르며, 2대로 이중화 한다 하더라도 장애 발생 가능성을 완벽하게 배제하기 어려움
- 두 서버를 모두 운영해야 하기에 비용 증가, 자원 낭비라는 단점이 있음
- 클러스터링: 여러 대의 컴퓨터를 병렬로 연결한 시스템
- 여러 대의 서버를 가상의 하나의 서버처럼 사용하는 기술
- Failover: 실패(Fail)를 끝냄(Over), 장애 대비 기능
- 실제 운영 시스템에 이상이 생겼을 때 예비 시스템으로 자동 전환
- Failback: Failover에 따라 전환된 시스템을 이상이 발생하기 전의 상태로 되돌리는 처리를 의미, 원래 시스템으로 사용
모니터링(Monitoring)
- 모니터링: 지속적인 감시, 감찰을 통해 대상의 상태나 가용성, 변화 등을 확인하고 대비하는 것
- 시스템의 상태나 상황에 문제가 발생하면, 즉각 관리자에게 알림을 보내 빠르게 대처할 수 있도록 도와줌
- 서버 모니터링: 서버 하드웨어 자원 보유 현황, 상태, 자원 사용 현황을 지표로 보여줌
- 애플리케이션 모니터링: JAVA 애플리케이션의 사용자 수, 자원 사용 현황, 트랜잭션 상태 등을 지표로 보여줌
- APM: Application Performance Monitoring
- 애플리케이션의 각 요소의 장애 발생 포인트를 알려주거나 진단해줌
- 애플리케이션의 트랜잭션 상세보기를 통해 서버에서 처리된 시간, SQL 처리 시간, 쿼리 정보 등을 확인 가능
- 이 정보를 통해 애플리케이션 성능 분석 및 튜닝을 할 수 있음
- DBMS 모니터링: 데이터베이스 성능을 향상 최상의 상태로 유지할 수 있도록 도와줌
- 네트워크 모니터링: 네트워크의 전반적인 상태를 분석해 안정적인 네트워크를 제공할 수 있도록 도와줌
- 클라우드 모니터링: 클라우드 자원 사용 현황 및 운영하는 애플리케이션 상태를 보여줌
- 클라우드 비용 모니터링 플랫폼: 자원 사용량에 따라 과금되는 클라우드 서비스 비용을 상세히 보여줌
- 하나의 클라우드 뿐만 아니라 다수의 클라우드 사용 현황을 단일 화면에서 모니터링하고 관리할 수 있음
- 옵저버빌리티(Observability): 관측가능성 혹은 관측능력, 전통적인 모니터링이 가진 한계를 극복한 가시성 확보 방안
- 옵저버빌리티가 필요한 이유: 기존의 전통적인 포인트 모니터링 환경이 너무 복잡해짐
- 기존 모니터링과 옵저버빌리티의 차이: 모니터링은 무엇이 잘못되었는지를 알려줌
- 하지만 옵저버빌리티는 왜 잘못되었는지 알려줌, 잘못된 이유를 이해할 수 있도록 함
- 알려지지 않고 모르고 있던 문제를 빠르게 탐지, 조사, 해결하는데 도움을 줌
- 옵저버빌리티가 해결하고자 하는, 현대화된 IT인프라 환경에서 발생하는 문제들
- 옵저버빌리티를 구성하는 3가지 요소: Metrics, Traces, Logs
- 풀스택 옵저버빌리티 솔루션의 4가지 특징
- 풀스택 옵저버빌리티 솔루션 예시
자동화(Automation)
- 자동화(Automation): 정보 기술 서비스 및 솔루션을 제공하는 데 사용되는 하드웨어, 소프트웨어, 네트워킹 구성 요소, 운영 체제(OS), 데이터 스토리지 구성 요소를 제어하기 위해 사람의 개입을 줄이면서 임무를 수행하는 기술을 사용하는 것
- 사람의 개입을 최소화하여 자동으로 되게끔 기술을 사용하는 것
- IaC(Infra as a Code): 개발자가 직접 코드를 만들어 IT 인프라를 생성, 배치, 관리하는 기술
- IaC를 통해 반복적인 작업을 코드로 처리함으로써 업무시간을 획기적으로 단축시키고 오류 사전 방지 가능
- 업무 자동화 구성: Playbook이라는 템플릿을 제공해 어떤 업무를 자동화할 것인지 손쉽게 구성 가능
- 앤서블(Ansible): 레드햇(Red Hat)에서 개발한 오픈 소스 IT 자동화 도구로, 서버 구성 관리, 애플리케이션 배포, 작업 실행 등을 수행할 수 있음.
- Job 워크플로우 생성: 업무 Playbook 을 구한 다음, 구체적으로 어떻게 실행될 것인지 워크플로우 생성
- AIOps: AI + Ops(Operations), IT운영의 자동화 및 관리를 위해 빅데이터 분석에 머신러닝을 적용하는 것
- IT 인프라 관리 및 운영 자동화를 위해 필요한 대표적인 서비스
참고