인프라 엔지니어링 개론
인프라 엔지니어의 역활
- 소프트웨어를 안정적으로 서비스한다.
- 이를 위해 인프라를 설계(HA 목표 설정), 구축, 운영 하는 업무를 한다.
요구 역량
- data 분석 목적으로 클라우드를 많이 사용한다(온디맨드의 힘)
- 인프라 설계의 순서는 네트워크부터 시작한다.
- 단시간 내에 수많은 배포를 가능하게 하는 파이프라인이 필요하다.(devops)
- Unix는 금융권, Linux를 보편적으로 많이 쓰인다.
- 윈도우 서버는 active directory 형태로 sso 인증에 많이 사용한다.
- python, bash 프로그래밍 언어의 코딩, 해석 능력이 중요하다.
- 커뮤니케이션 역량 중요, 새로운 기술 수용 능력 중요, 결단력, 정보수집력
- 장애 대응도 자동화하는 추세이다. (lambda, function), 클라우드를 인해 이 추세가 가속화하고 있다.
- ex) cpu 매트릭을 체크하여 오토스케일링 한다.
HA
- HA 목표를 정한다.
- 지표는 서비스 시간/년 * 100 기준으로 설정하며, 이 값(SLA, service level availability)을 기준으로 msp와 고객이 계약한다.
SPOF
- SPOF란, 단일 고장점 (Single Point of Failure)이라고도 부르며 어떤 시스템에서 하나의 구성 요소가 동작하지 않으면 시스템 전체가 중단되는 요소를 가리킨다.
- SPOF(single point of failure) 를 찾아서 이중화 하는 방법이 있다. 이를 위해 로드밸런서, 보조전력를 사용하는 예제가 있다.
- SPOF는 서버, 라우터, 전기선 등이 될수 있다.
인프라의 구성
- 퍼실리티 (발전기, 변압기, 설비, 소화설비)
- 서버
- 스토리지(스토리지의 경우 80% 이상 사용되면 성능이 저하된다)
- LVM(logical volume manager, 스토리지 가상화), VxVM
- 씬 프로비저닝(파티션 없이 maxsize를 정해놓고 사용할때 마다 늘리는 방식)
- 스냅샷 (파일의 변경 사항만 기록하여 백업 성능, 용량을 개선시키는 방법)
- nas(iscsi, nfs), san(스토리지 전용 스위치와 함께 사용하여 고성능), das(서버에 직접 연결해서 쓰는 방식)
- 네트워크
- TCP/IP, OSI 7에 기반한 통신 장애 대응
- 라우터, DNS, VPN(하이브리드 구성시에 많이 사용), CDN
- NAS와 통신하기 위한 스토리지 네트워크와 일반 요청 네트워크를 분리하기도 한다.
인프라의 선정
프로젝트 성격, 기업문화, 결정권자의 추구하는 방향을 고려하여 결정한다. 비용과 성능/HA 중 적절히 판단하는것이 중요하다.
서버 사양 선정
- CPU, 메모리, 디스크, RAID(Redundant array of inexpensive disk, NIC, PSU(power supply, SPOF에 해당한다)
- 유지보수기간과 확장성을 고려한다.
네트워크 구성
- 스위치 숫자, 장비 벤더, 대역폭
데이터베이스 구성
- 필요용량을 적절히 선택하는것이 중요하다
- 클라우드 환경에서 오버 프로비저닝을 하면 가격이 높아질수 있다. 더 높은 성능이 필요하면 그때그때 프로비저닝 하면 된다.
인프라의 운영
운영시스템
- 장애시 대응 메뉴얼을 미리 세운다. 예를 들어 장애발생이 일단 로컬에서 대응(주니어에서 시니어의 순서로)하고 안되면 유지보수 업체와 컨텍한다.
장애 대응
- 핫스왑, ecc등으로 하드웨어의 가용성을 높힐수 있다.
- 장애 판단 및 빠른 대응을 위해 여러 솔루션을 사용한다.
병목 해결
- 병목이 한군데만 발생해도 응답속도에 악영향을 미친다.
- 클라우드는 트래픽에 대해 스케일인/스케일아웃을 하는데 도움이 된다.
MSP
- IT 인프라 운영 관리를 대행해주는 업자
- 기업의 신뢰성과 커뮤니케이션 능력이 중요하다.
펌웨어
- 펌웨어 버전은 권장/필요/필수로 나누어진다. 필수는 반드시 해야한다!
- 펌웨어의 버전 업그레이드 방법
- 가동중에 업데이트 파일을 적용하는 방법 (고가)
- 시스템 정지후 usb메모리나 디스크로 업데이트하는방법
시스템 구성의 결정 포인트
- 업체 지원 여부
- 클라우드에선 관리형 서비스 사용을 고려
Leave a comment