서버 이해하기 - ④

아현·2021년 8월 17일
2

Server

목록 보기
3/3

서버의 높은 성능을 활용한 처리


  • 서버의 높은 성능을 활용한 처리는 PC나 그 밖의 클라이언트 디바이스로는 실현할 수 없다.

  • 빅데이터 서버

    • 방대하고 다양한 데이터를 분석
  • AI 서버

    • 데이터를 바탕으로 인간과 같은 고도의 판단을 실행



시스템 운용 감시


  • 운용 감시 : 시스템이 정상으로 동작하는지 감시하는 일

  • 목표: 시스템이나 서버를 안정적으로 가동하는 것

  • 2가지 측면

    • 리소스 감시

      • 대상이 되는 기기의 CPU, 메모리 등의 사용률과 네트워크 트래픽을 감시한다.
      • 감시 결과로 사용률을 쵸시하고, 높은 경우에는 경고를 표시한다.
    • 헬스 체크

      • 서버와 네트워크 기기가 동작하는지 운용 감시 서버로 확인한다.

      • '사활' 감시라고 불리기도 한다.



IoT


  • IoT의 데이터 수집 두 가지 종류

    • 디바이스가 획득 혹은 보유한 데이터를 디바이스 주도로 서버에 보낸다.

    • 디바이스를 자식에 비유하면, 부모가 되는 장치의 명령으로데이터를 빨아올린다.


  • 서버가 데이터를 수집하는 이유

    • 향후 다양한 분야에서 무인확 진행될 것으로 예상

    • 서버가 주도하는 IoT는 특정 타이밍이나 시간에서의 상황 확인을 목표로함으로 기기에서 저보를 자동으로 올려주는 클라이언트-서버 형태가 다수이다.



RPA (Robotic Process Automation)


  • 자신 이외의 소프트웨어를 대상으로 정의된 처리를 자동으로 실행하는 도구

  • RPA는 프로세스를 자동화하므로, PC 조작을 자동화할 뿐만 아니라 다수의 자동화된 PC 조작을 통합해서 관리할 수도 있다.

    • 이러한 기능 덕분에 현재는 20명이 2,000시간 걸리는 일을 PC 조작 자동화와 통합 관리를 통해 절반 가까이 효율화할 수 있다.

  • RPA의 구성

    • 조작을 자동으로 하는 실행 파일인 로봇 파일

    • 로봇 파일의 실행 환경

    • 개발 환경

    • 로봇 파일을 관리하는 관리 툴


  • 현재 주류는 서버에 관리 툴과 데스크톱용으로 가사오하된 로봇 파일과 실행 환경을 준비해 두고, 각 데스크톱에서 로봇 파일과 실행 환경을 가져와서 실행

  • RPA 서버는 관리자와 개발자가 정의한 대로 각각 로봇이 동작하는 순서와 처리 스케줄, 실행 상황이나 처리 완료를 관리하여 프로세스 자동화를 실현

    • 사용자 관리나 보안에 대응하는 등의 기능도 있다.
  • RPA는 기업이나 단체의 시스템 전체의 축소판과 같은 기능



BPMS (Business Process Management System)


  • BPM

    • 업무 프로세스를 분석하고 개선하는 단계를 반복함으로써, 업무 개선을 지속해서 추진해 가는 개념
  • BPMS

    • 업무 프로세스나 워크 플로우의 각종 템플릿을 마련해 두고 있어, 템플릿을 이용한 프로세스와 워크 플로우의 등록이나 변경을 통해 업무 분석과 계선 단계로 오를 수도 있다.

    • 특징

      • 프로세스와 데이터 플로우 변경이 용이

        • 예를 들어, 어떤 프로세스를 삭제하거나 데이터 플로우를 변경하는 것을 템플릿의 도형을 삭제하거나 이동하여 실현할 수 있다.
      • 자율적인 분석에 의한 솔루션

        • 각 프로세스의 처리량과 처리 시간 등을 기록해서, 변경하는 편이 좋은 프로세스의 분석 결과를 보여 준다.
    • 업무 관리자의 지시에 따라 업무의 사령탑과 같은 역할을 한다.


  • BPMS가 주목받는 이유

    • 기업이나 단체의 업무 자율화와 무인화 도입이 늘어 가면서 RPM과 함께 주목받고 있다.

    • BPMS는 산하의 클라이언트를 조작하는 사람의 PC상에서 업무뿐만 아니라, RPA 등도 관리할 수 있는 제품이 늘고 있다.

      • 사람이 하는 업무와 RPA와 같은 로봇, 또 일부 그 밖의 소프트웨어도 포함해서 관리할 수 있다.



AI (Artificial Intelligence)


  • 현재 AI 시스템에 관한 두 가지 접근 방식

    • 클라우드로 제공되는 AI 시스템을 활용

      • 클라우드 사업자나 IT벤더가 제공하는 AI 시스템으로 로직을 정의하고 필요한 데이터를 등록해 계산 결과를 얻는다.
    • 직접 AI 서버를 설치

      • Python, C++ 등의 프로그래밍 언어와 TensorFlow 등의 AI 개발 지원 도구를 사용해 독자적으로 AI 시스템을 구축한다.

  • 직접 AI 서버를 설치하는 이유

    • 데이터가 외부로 나가는 것을 선호하지 않고, 독자적으로 처리하려는 의도

    • But, 클라우드 서비스의 경우, 하드웨어와 소프트웨어 모두 최신 환경에서 서비스가 제공되는 것이 포인트


  • AI에 PC가 아닌 서버를 사용하는 이유

    • 현재 AI는 사람이 같은 내용을 배울 떄보다도 많은 학습 데이터가 필요하므로 대규모 데이터 처리 능력이 요구된다.

    • 사람이 하던 각종 판단이나 분석 등 중요한 작업을 대행한다는 점에서 높은 견고성과 성능이 요구된다.



빅데이터


  • 예전 데이터 분석 시스템에서는 DBMS처럼 구조화된 데이터가 주를 이루었다면 빅데이터 시대에는 대량의 구조화 데이터에 더해 비구조화 데이터도 함께 분석되고 있습니다.

    • 구조화 데이터: 데이터베이스와 Excel 등

    • 비구조화 데이터: SNS나 웹의 텍스트 등


  • 대량의 데이터를 분석해서 결론을 끌어내려면 이를 위한 전용 서버가 필요합니다.

  • 빅데이터는 데이터의 양이 수 테라바이트 이상이라고 알려져 있습니다.

    • 이는 서버의 높은 성능 없이는 감당할 수 없는 처리량이고, 비즈니스에 활용하려면 빠른 처리 속도도 필요합니다.

  • 하둡(Hadoop)

    • 빅데이터의 실용화를 뒷받침하는 기술

    • 오픈소스 미들웨어로, 대량의 방대한 데이터를 고속으로 처리하는 기술

    • 특징

      • 구조화 데이터뿐만 아니라 비구조화 데이터를 포함한 온갖 형태의 데이터를 처리할 수 있다는 점

      • PC 서버(x86 서버, IA서버)로 구현할 수 있다는 점

      • 고가가 아닌 서버를 대량으로 연결해서 방대한 데이터를 처리할 수 있다.

      • 하둡은 파일을 각 서버로 분산해서 처리하고 처리된 데이터를 하나로 재작성하는 등의 특징이 있다.

    • 원리

      • 지금까지는 수확한 귤을 혼자서 S/M/L로 선별했다면, 이 작업을 하둡 세 자매에게 대신 시키면, 귤을 세 무더기로 나눠 세 명이 각각 S, M, L로 선별한다.

        • 여러 서버가 동시에 병행해서 분산 처리를 하면 당연히 속도가 빨라진다.
      • 하둡은 불량품을 찾는 것에도 강하다. 즉 귤의 크기 이외에 상처가 있거나 부분적으로 색이 좋지 않은 등 다양하고 모호한 비구조화 데이터 검색에도 강하다.

    • 위의 특징들은 웹이나 SNS 등에서 키워드 검색을 해서 계산 처리를 추가해 구조화 데이터와 비구조화 데이터를 조합해 처리하는 등 선진적인 처리를 가능하게 한다.


  • 빅데이터는 집적화된 PC서버에서 처리되는 경우가 많다.



정보 보안 정책


  • 기업이나 단체와 같은 조직에서의 정보 보안 대책과 방침, 행동 지침 등을 정리

  • 기업이나 단체에 따라서 사업이나 업무가 다르므로, 고유한 정보 시스템 자산에 맞춰 보안 정책이 만들어 진다.

    • 대기업의 고객정보 유출 등으로 보안 정책의 중요서잉 높아졌다.

    • 보안 정책은 문서로 규정될 뿐만 아니라, 일상적으로 신경 써야 할 항목으로써 교육 등을 철저히 한다.


  • 정보 보안 정책의 내용

    • 기본 방침

      • 정보 보안에 대한 기본 방침 | 선언이 기술
    • 대책 기준

      • 기본 방침을 실천하기 위한 구체적인 규칙이 기술
    • 실시 순서

      • 기업이나 단체 안의 조직, 인재의 역할, 시스템의 용도 등에 따라 차이가 있지만, 각각에 필요한 활동이나 절차 등이 기술



방화벽


  • 기업이나 단체 내부의 네트워크와 인터넷의 경계에서 통신의 상태를 관리해 보안을 지키는 구조의 총칭

  • 서버의 일부와 어플라이언스 서버 등에서 역할을 한다.

    • 소규모 네트워크라면 라우터가 대행하기도 한다.
  • 내부에서 외부로 나가는 통신과 외부에서 내부로 들어오는 통신 허용 여부를 정보 보안 정책에 따라서 관리

    • 내부 네트워크에서 외부 인터넷으로 나갈 때는 성선설에 기반한 대응이 기본

      • 필요한 차단은 이미 Proxy 서버가 하고 있다.

        • 보여주고 싶지 않은 URL이나 외부로 내보내고 싶지 않은 파일 형식 등을 확인
      • 외부에서 내부로의 접속은 성악설에 기반해 대응

        • 웹 서버에 대한 내부에서의 통신이라면 HTTP와 HTTPS만 허가하고, 그 외에는 허가하지 않는다.

        • SMTP 서버로 전송되는 메일과 첨부 파일에 대해서도 필요한 확인을 거친 후에 안으로 들어온다.



DMZ (DeMilitarized Zone)


  • 외부(인터넷) → 방화벽 → 내부 네트워크 만으로는 위험하므로, 내부 네트워크로의 침입을 막기 위해 방화벽과 내부 네트워크 사이에 설치하는 완충지대

  • 목적

    • 만일 웹 서버에 보안 문제가 생겼을 때 내부 네트워크에 피해가 미치지 않도록 하기 위함

      • 따라서 내부 네트워크와 인터넷 사이에 복수의 완충 지대를 설치
  • 요즘에는 기술의 다양화(클라우드, 가상화 등)에 따라 내부 네트워크의 중심이 어디에 있는지조차 파악하기 어려워졌다.



강제 액세스 제어 매커니즘


  • 조직 내 모든 서버에 대해 사용자 인증부터 액세스까지 보안 정책에 따라 진행되는지 보증 및 확인하는 매커니즘이 필요

  • 주로 구성되는 기능

    • 디렉터리 서비스 서버

      • 조직 내 복수 서버에 걸쳐 일원적으로 사용자를 관리하고 인증한다.
    • 강제 액세스 제어 메커니즘

      • 보안 정책에 따라 사용자의 액세스를 제어한다.
    • 감사 메커니즘

      • 보안 정책에 따라 올바르게 액세스 제어를 할 수 있는지 확인하고 로그도 남긴다.



디렉터리 서비스 서버


  • SSO 서버와 같은 기능을 할 수 있다.

  • 액세스할 수 있는 정보를 자세하고 엄밀하게 정의할 수 있다.

  • 패스워드의 자릿수나 문자열의 조합에 관한 규칙과 같은 입구부터, 액세스할 정보 관리와 로그 등의 출구까지 관리할 수 있다.

  • 사용자와 시스템 양쪽에서 정리되지 않은 상황이라면 디렉터리 서버는 효과적이다.

  • 정의하려면 준비와 작업 시간이 필요하지만, 네트워크 내부에서의 보안을 유지하기 위해서는 효과적인 수단이다.



장애 대책


  • 폴트 톨러런스 시스템(Falult Tolerance System: 장애 허용 시스템)

    • 장애가 발생해도 계속 가동하는 시스템
  • 장애 대책을 강구하는 것은 안정적인 가동에 필수


물리적인 관점


  • 서버 본체, 서버와 네트워크를 연결하는 네트워크 카드(NIC: Network Interface Card), 디스크, 디스크에 저장된 데이터 각각에도 장애 대책이 필요

  • 각 기기에 공통으로 필수인 전원 공급 확보하기 위한 대책도 필요



기술적인 관점


  • 다중화

    • 액티브 시스템과 스탠바이 시스템처럼, 평상시 이용하는 기기와 비상시를 대비해 대기하는 기기를 미리 준비해 두고, 만일의 사태가 발생하면 대기 중인 시스템으로 전환하는 사고 방식
  • 부하 분산

    • 복수의 하드웨어를 준비해 두고, 부하를 분산하는 사고방식

  • 서버 본체

    • 클러스터링

      • 여러 대를 하나로 보이게 한다.

      • 메인 시스템에 장애가 발생하면 대기 시스템으로 전환한다.

    • 로드 밸런싱

      • 복수로 나눠 부하를 분산함으로싸 장애 발생을 미연에 방지
  • NIC

    • 티밍

      • 네트워크 카드에 장애가 발생해서 통신할 수 없게 되는 것을 방지
  • 디스크

    • RAID

      • 다중화하는 RAID 1, 분산하여 저장하는 RAID 5 등
  • 데이터

    • 백업

      • 풀 백업, 차등 백업, 레플리케이션 등
  • 각 기기, 케이스

    • UPS

      • 정전 시 전원 공급과 안전하게 셧다운 하는 기능



SLA (Service Level Agreement : 서비스 수준 협약서)


  • 시스템 이용자를 고객으로 인식하고, 높은 품질의 서비스를 제공해야만 한다는 사고방식

  • 의미

    • 서비스 수준을 규정한 규약서

    • 서비스 수준을 체계적으로 보여주는 활동

  • 주요 지표

    • 가용성, 시스템 가동 시간

      • 시스템을 멈춰선 안된다는 원칙 하에서의 사고 방식
    • 복구 시간 (MTTR: Mean Time To Repair: 평균 복구 시간)

      • 시스템에 고장이 발생하고 나서 일정 시간 이내로 복구하는 것을 목표로 한다.

      • 여러 번의 고장에서 복구 시간의 평균이 지정시간 이내면 된다는 개념

profile
For the sake of someone who studies computer science

0개의 댓글