1장 인프라 엔지니어의 업무
인프라 엔지니어의 업무
- IT 인프라는 하드웨어와 소프트웨어로 구성됨
- 하드웨어는 언젠가 반드시 고장나기 마련이고, 소프트웨어는 항상 버그를 포함하고 있을 가능성이 있음
- 인프라 엔지니어는 이러한 불완전한 요소를 조합하여 IT 인프라를 구축하고, IT 서비스를 계속해서 제공할 수 있도록 노력
- 인프라 엔지니어에게는 정보 수집력과 결단력이 요구됨
- IT 인프라를 구축, 운영하는 과정에서 매일 많은 의사 결정이 필요하며, 의사 결정을 얼마나 정확하고 빠르게 할 수 있는지가 중요
- 인프라 엔지니어의 업무는 크게 인프라 설계, 인프라 구축, 인프라 운영으로 분류됨
인프라 설계
- 인프라를 만든 목적 이해하기
- 목적 달성을 위해 필요한 기능이나 성능 등의 조건을 기준으로 정리하기
- 조건에 맞는 적절한 기획서와 설계서 작성 (비용, 기간 등)
- 책임자에게 결제 올리기
인프라 구축
- 인프라 엔지니어가 직접 하는 경우도 있고, 오퍼레이터나 외부 업체에 맡기기도 함
- 인프라 구축은 기기의 운반과 조립, 장착, 설치, 설정, 동작 테스트, 부하 테스트 등으로 분류됨
- 대기업을 고객으로 하는 SI(System Integration) 업체의 경우
- CE(Customer Engineer)가 기기 설치 등의 하드웨어 관련 작업 수행
- SE(System Engineer)가 서버나 스토리지 설정
- NE(Network Engineer)가 네트워크 장비 설정
- 웹 기반 업체는 역할 분담 없이 처음부터 끝까지 인프라 엔지니어가 수행하는 경우가 많음
인프라 운영
IT 인프라 가동을 위해 회사에서는 몇 개의 팀을 만들어 교대로 운영하는 것이 일반적
불가능한 경우에는 인프라 운영 관리 업자인 MSP(Managed Service Provider)에게 업무를 위탁
- 장애 대응
- 하드웨어 고장에 대한 대책
- 급격한 액세스 증가에 대한 대책
- 부적절한 권한 설정에 의한 액세스 불가능 상황 해결 등
- 수용량 관리
- 적당한 시기에 인프라의 수용력을 재검토하는 것이 필요
- 수용량이 부족하다면 인프라를 늘리고, 너무 여유롭다면 인프라를 축소하여 규모 조정
- 인프라가 원인이 아닌 문제의 파악
- 프로그램의 버그나 애플리케이션 설정 실수 등이 원인일 수 있음
- 대응 가능한 부서에 대응 요청
IT 인프라의 구성 요소
- 퍼실리티(facility)
- 데이터 센터와 데이터 센터를 구성하는 랙, 에어컨, 발전기, 변압기, 소화 설비 등
- 서버, 스토리지
- IT 서비스를 제공하는 서버와 데이터를 대량으로 저장하는 스토리지
- 네트워크
- 서버와 스토리지를 연결하고 인터넷에 접속하는 네트워크
기술자 관점의 인프라 엔지니어
인프라 엔지니어는 요청된 과제에 대해 기술적인 관점에서 적절한 답을 제안하고 실천할 수 있어야 하며, 어떤 문제가 발생했을 때 단기간에 본질적인 해결책을 제시할 수 있어야 함
- 서버 하드웨어
- IA(Intel Architecture) 서버, 엔터프라이즈 서버
- 메인보드, CPU(Central Processing Unit), 메모리, 디스크, NIC(Network Interface Card), PSU(Power Supply Unit)와 같은 주요 부속의 조합으로 구성됨
- 서버 운영체제
- 스토리지
- 디스크의 대용량화, 플래시 디스크 등장에 따른 고속화, 데이터의 폭발적 증가로 인해 다수의 신기술 등장
- 스토리지 가상화, 씬 프로비저닝, 중복 제거, 스냅샷 등
- 기술의 장단점을 파악하고 비용 대비 효과 측면에서 적절한 스토리지 선택 필요
- 네트워크 설계와 구축
- 사용되는 통신 프로토콜은 대부분 TCP/IP
- 네트워크가 동작하지 않을 때 문제의 원인을 찾기가 어려움
- 구축 시 설계 단계부터 모든 각도에서 검토하여 문제점 해결 필요
- 네트워크 장비
- 주된 역할은 통신 교환
- 장비 선정을 위해 연결하는 서버 및 네트워크 장비의 수와 커넥터의 차이, 요구되는 통신량과 통신 속도, 라우터와 스위치의 위치 차이 등 파악 필요
- 업체별 명령 체계 학습 필요, 특정 업체의 고유 기능 등의 문제로 주로 네트워크 장비를 통일함
선정자로서의 인프라 엔지니어
다양한 선택지 중 완벽한 정답은 없으며 프로젝트의 성질, 기업문화, 최종 결재권자의 사고방식 등에 의해 정답이 달라짐
- 시스템 구성
- 어떤 시스템을 어느 정도의 규모로 어떻게 구성할 것인지 검토
- 최소 구성, 이중화 구성, 데이터 영역 분리 구성 등 다양한 구성 패턴 중 최선의 구성 선택
- 서버 사양 선정
- CPU, 메모리, 디스크, RAID, NIC, PSU의 이중화 필요성, 보수 연수, 보수 레벨, 확장성, 물리적 크기 및 중량 등
- 네트워크 구성
- 랙에 몇 개의 스위치를 설치할 것인가?
- 각 스위치의 수용량은 어느 정도로 할 것인가?
- 채택할 업체
- 보증기간
- 네트워크 인터페이스별 통신량과 이중화 여부
- 데이터베이스 설계
- RDBMS 선정(오라클, SQL Server, MySQL, PostgreSQL 등)
- 필요 용량 계산
- 데이터베이스 스키마와 물리적 데이터 배치 결정
- 운영시스템
- 시스템을 어떻게 감시하고 운영할 것인지
- ex) 시스템 감시 도구로 장애 감지하고 장애 발생 시에만 사원이 대응 / 1차 대응을 MSP 업체에 위임 / 별도의 조직을 만들어 24시간 감시 운용 시스템 구축
- 서비스, 기술, 시스템별로 네트워크 엔지니어, 서버 엔지니어, 개발자 등의 각 책임 범위 결정