ABOUT ME

작은 거인의 "IT 기술 블로그"

Today
Yesterday
Total
  • 인프라 엔지니어의 업무
    Infra 2017. 8. 23. 18:10

    IT인프라는 생활에 밀접하게 연관되어 있으므로 사용할 수 없게 되면 아주 불편해진다. 인프라 엔지니어 일은 이렇게 사회의 IT인프라를 관리하는 일이다. IT인프라는 '하드웨어'와 '소프트웨어'로 구성된다. 하드웨어는 언젠가 반드시 고장나기 마련이고, 소프트웨어는 항상 버그를 포함하고 있을 가능성이 있다. 인프라 엔지니어는 이런 불완전한 요소를 조합해서 IT인프라를 구축하고, It 서비스를 계속해서 제공할 수 있도록 매일매일 구슬땀을 흘리고 있다. 인프라 엔지니어에게 요구되는 것은 책임감, 기술력, 의사 결정, 결단력이다. 의사 결정을 얼마나 빠르고 정확하게 할 수 있는지가 안정적인 IT 인프라를 유지하는 데 매우 중요하다.




    1. 인프라 엔지니어의 업무


    인프라 엔지니어의 업무는 인프라 설계, 인프라 구축, 인프라 운영 세 단계로 분류할 수 있다.


    a.인프라 설계

    인프라를 만들 때는 만든 목적이 있으므로, 그 목적을 잘 이해할 필요가 있다. 그런 다음 달성하는 데 필요한 기능이나 성능 등을 조건을 기준으로 정리한다. 조건이 정리되면 그 조건에 맞는 적절한 기획서와 설계서를 작성해야 한다. 어떤 인프라를 어느 정도의 비용으로, 어느 정도의 기간 내에 만들 수 있는지 예상하는 작업이다. 이 작업은 인프라 엔지니어가 직접하기도 하고 업체나 컨설던트에 의뢰해서 제안을 받기도 한다. 기획서와 설계서가 완성되면 합당한 책임자에게 결재를 올린다.


    b. 인프라 구축

    필요한 기능이나 소프트웨어 등을 발주해서 납품을 받으면 인프라 구축을 시작한다. 구축 작업은 인프라 엔지니어가 직접하는 경우도 있고 오퍼레이터나 외부 업체에 맡길 때도 있다. 구축 작업은 기기의 운반, 조립, 정착, 설치, 설정, 동작 테스트, 부하 테스트 등으로 분류할 수 있다. 대기업 고객으로 둔 SI(System Integration) 업계에서는 기기를 들여와서 설치하는 하드웨어 관련 작업은 CE(Customer Engineer)가, 서버나 스토리지 설정은 SE(System Engineer)가, 그리고 네트워크 장비 설정은 NE(Network Engineer)가 하는 경우가 많다. 그렇지만 웹 기반의 업계에서는 SI 업계처럼 역할 분담을 하지 않고 처음부터 끝까지 인프라 엔지니어의 손을 거치는 경우가 많다.


    c. 인프라 운영

    구축한 IT인프라는 가동 후에도 계속해서 정상적으로 동작하도록 운영해야만 한다. 인프라는 24시간, 365일 내내 가동되어야 하기 때문에 직접 인프라를 운영하는 회사는 몇 개의 팀을 만들어 교대로 운영하는 것이 일반적이다. 반면 이런 운영 조직을 만들 수 없을 때는 'MSP(Managed Service Privider)'라고 불리는 IT 인프라 운영 관리 업자에게 일련의 업무를 위탁할 수도 있다.

    장애 대응 : 장애 대응에는 하드웨어 고장이나 급격한 액세스 증가에 대한 대책부터 부적절한 권한 설정에 의해 엑세스 불가능항 상황의 해소 등이 있다.

    수용량 관리 : 구축한 인프라는 시간이 지나면서 액세스 수나 데이터 양 등이 늘기도 하고 줄기도 한다. 적당한 시기에 인프라의 수용력을 재검토 해야 한다. 구체적으로는 인프라 전체의 수용량이 부족하면 인프라를 늘려야 하고, 반대로 너무 여유롭다면 인프라를 축소해서 적절하게 조정한다.

    인프라가 원인이 아닌 문제의 파악 : 시스템에 문제가 발생하면 콜센터나 다른 부서에서 인프라 엔지니어에게 장애 원인에 관한 문의가 들어온다. 그런 경우, 인프라가 원인일 때도 있지만 프로그램 버그나 애플리케이션 설정 등 인프라가 원인이 아닐 때도 있다. 장애 원인이 인프라인지 아닌지를 파악한 뒤 인프라가 원인이면 직접 대응하고, 인프라가 원인이 아니면 대응 가능한 부서에 대응 요청을 한다.



    2. IT 인프라를 구성하는 요소


    IT 인프라는 다양한 요소로 구성된다. 인프라 규모에 따라서 각 요소에 전담 기술자를 배치하기도 하지만 모든 것은 겸임하기도 한다.


    a. 퍼실리티

    퍼실리티(facility)란 건물, 시설, 설비 등을 의미한다. 퍼실리티는 데이터 센터와 데이터 센터를 구성하는 랙, 에어컨, 발전기, 변압기, 소화 설비 등이 포함된다.


    b. 서버, 스토리지

    IT 서비스를 제공하는 서버와 데이터를 대량으로 저장하는 스토리지를 가리킨다. 


    c. 네트워크

    서버와 스토리지를 연결하고 인터넷에 접속하는 네트워크를 가리킨다.



    3. 기술사 관점에서 보는 인프라 엔지니어


    인프라 엔지니어는 우수한 기술자라야 한다. 우수한 기술자란 요청된 과제에 대해 기술적인 관점에서 적절한 답을 제안하고 실천할 수 있어야 하며, 어떤 문제가 발생했을 때 단기간에 본질적인 해결책을 제시할 수 있는 기술자를 말한다. 또한 인프라 엔지니어는 정확한 지식과 정보 수집력이 있어야 하고 최신 동향에도 정통할 필요가 있다.


    a. 서버 하드웨어

    서버 하드웨어는 주로 'IA(Inter Architecture)'서버와 '엔터프라이즈 서버' 두 가지가 있다. 양 쪽 서버 모두 메인모드, CPU(중앙 연산 유닉),  메모리, 디스크, NIC, PSU와 같은 주요 부속의 조합으로 구성된다. 서버에서 이용되는 주요 부품은 해마다 다양화되어, 각 차이와 특성을 정확히 이해하기란 어렵다.


    b. 서버 운영체제

    서버 운영체제(Operating System)는 거의 '리눅스, 윈도우, 유닉스 세 가지로 집약된다. 시간을 들여 공부하면 각 운영체제의 개념이나 기능에 정통하는 것이 어려운 일은 아니다. 하지만, 이론과 실전은 다르다. 직장 환경에서 사용할 기회가 없는 운영체제는 경험을 쌓는다는 의미에서 불리한 것이 사실이다. 일반적인 조직은 이론으로도 통달할 수 있지만 장애 대응은 경험을 무시할 수 없다. 실전 경험이 없는 기술자가 장애 대응한다는 것은 말하자면, 경험이 없는 전공의가 갑자기 수술하게 되는 상황과 같다. 결국 어떻게 실전 경험을 쌓는냐가 기술자의 성장에서 매우 중요하다.


    c. 스토리지

    디스크의 대용량화, 플래시 디스크의 등장에 따른 고속화, 데이터의 폭발적인 증가 등을 배경으로 스토리지 가상화, 씬 프로지저닝, 중복 제거, 스냅샷 등 신기술이 속속등장하고 있다. 새로운 기술의 장단점을 신중하게 파악하고 비용 대비 효과 측면에서 적절한 스토리지를 선정할 수 있는 능력이 필요한다.


    d. 네트워크 설계와 구축

    네트워크에서 사용되는 통신 프로토콜 TCP/IP로 거의 집약되므로, 다양한 통신 프로토콜이 사용되던 예전과 비교하면 파악하기 쉬워졌다. 하지만, 네트워크 흐름이란 눈에 보이지 않는 것이므로, 실제로 네트워크를 구축하고 제대로 동작하지 않았을 때 어디에 문제가 있는지 원인을 찾아내긴 어렵다. 따라서 네트워크 구축할 때는 설계 단계부터 모든 각도에서 검토해 문제점을 해결할 필요가 있다.

    인터넷에서 네트워크는 외부 네트워크와 연결되어야 성립한다. 외부네트워크와 연결했을 때 통신이 되지 않으면 자신들의 문제인지 아닌지 파악해야 한다. 하지만, 프로젝트에 관한 정확한 이해, 자신들의 설계와 설정은 아무 문제가 없다는 확신, 그리고 상대방의 설계나 설정이 아마도 틀렸을거라는 근거가 없다면 상대방에게 자신 있게 지적할 수 없을 것이다. 


    e. 네트워크 장비

    네트워크 장비의 주된 역할은 통신의 교환이다. 네트워크 장비 카탈로그를 보면 다양한 정보가 기재되어 있어 어렵게 느낄 수도 있다. 하지만, 기본적으로 연결하는 서버 및 네트워크 장비의 수와 커넥터의 차이, 어느 정도의 통신량을 얼마나 빠르게 교환하고 싶은지, 그리고 라우터, L2 스위치, L3 스위치, L4 스위치, L7 스위치의 차이를 파악해 두면 네트워크 장비 선정에서 크게 실수할 일은 없다. 

    네트워크 장비는 업체마다 명령 체계가 달라서, 여러 업체의 제품을 사용할 때는 업체별 명령 체계를 학습할 필요가 있다. 또한 특정 업체의 고유 기능을 이용할 때는 다른 업체의 장비로 다룰 수 없다. 이런 문제를 피하고자 도입할 네트워크 장비의 통일이 비교적 자주 이루어진다.



    4. 선정자로서의 인프라 엔지니어


    IT 인프라를 구축하기 위해서 다양한 선택이 필요하다. 선택에는 다양한 선택지가 나오지만 대개 100%정답인 선택지는 없으며, 프로젝트 설정이나 기업문화 혹은 최종 결재권자의 사고 방식 등에 의해 정답이 달라지는게 일반적이다. 일프라 엔지니어는 그런 점을 고려해 기술자로서 객관적인 이유를 모아 최고의 선택으로 이끄는 게 중요하다.


    a. 시스템 구성

    프로젝트 대해서 어떤 시스템을 어느 정도의 규모로 어떻게 구성할 것인지 검토한다. 다양한 구성 패턴을 상상할 수 있다. 인프라 엔지니어는 몇 가지 제안 중에서 최선의 구성을 선택하게 된다. 

    (최소 구성, 이중화 구성, 데이터 분리 구성)


    b. 서버 사양 선정

    엔프라 엔지니어는 구매하려고 하는 서버의 사양을 선정한다. 서버 부품에서 결정할 사항으로는 CPU, 메모리, 디스크, RAID, NIC, PSU의 이중화 필요성, 보수 연수, 보수 레벨, 확장성, 물리적 크기, 중량 등이 있고, 이런 사양을 하나씩 결정해가는 것도 중요한 역할이다.


    c. 네트워크 구성

    네트워크 구성을 검토할 때도 다양한 결정과 선택이 필요하다.

    - 랙에 몇 개의 스위치를 설치할 것인가?

    - 각 스위치의 수용량은 어느 정도로 할 것인가?

    - 채택할 업체

    - 보증 기간

    - 네트워크 인터페이스별로 통신량을 정하고 이중화 여부를 결정


    d. 데이터베이스 설계

    데이터베이스의 종류와 요건을 검토한다.

    - RDBMS(관계형 데이터베이스 관리 시스템)의 선정 (오라클, SQL, MySQL, PostgreSQL 등)

    - 필요 용량 계산

    - 데이터베이스 스키마와 물리적인 데이터 배치 결정


    e. 운영 시스템

    운영 시스템의 예는 다음과 같다.

    - 장애의 발생을 시스템 감시 도구로 감지하고, 장애 발생을 감지했을 때만 사원이 대응한다.

    - 1차 대응은 MSP 업체에 위임한다. 그래도 해결하지 못하면 전화 등으로 사원에게 문제를 전달해서 단계적으로 대응한다.

    - 별도의 조직을 만들어 24시간, 365일 감시 운용 시스템을 구축한다.

    사내에서의 책임 범위

    'Infra' 카테고리의 다른 글

    운영체제  (0) 2017.08.31
    서버  (0) 2017.08.25

    댓글

작은거인's Blog / Designed by TISTORY