ABOUT ME

Today
Yesterday
Total
  • [2일차] 규모에 따른 운영
    교육/코드스테이츠 2022. 11. 29. 23:28

    https://m.blog.naver.com/acornedu/221519913222

     

    서버란?

    • 클라이언트나 다른 컴퓨터와 같은 장치들이 네트워크를 통해 접속하여 데이터나 서비스를 이용할 수 있는 컴퓨터 시스템이다.
    • 다른 기기들의 요청에 대한 응답을 하며, 일반적으로는 더 큰 스토리지, 더 높은 연산 능력, 그리고 더 많은 네트워크 대역폭 등을 갖추고 있다.
    • 서버는 다양한 형태로 존재한다. 일반적으로 서버는 다른 장치들과 연결되어 서비스를 제공하는 역할을 수행하는데, 예를 들어, 웹 서버는 클라이언트가 인터넷을 통해 웹 사이트에 접속하면 웹 페이지와 파일을 제공하는 등 다양한 종류의 서버가 존재한다.

     

    규모 확장

    • 수직 확장(Vertical Scaling, Scale Up/Down)
      • 단일 서버에 CPU, RAM, 디스크 등의 하드웨어 성능을 업그레이드하여 성능을 향상시키는 방법이다.
      • 서버에 부하가 많이 걸리지 않는 경우, 비교적 적은 비용으로 서버 성능을 높일 수 있지만, 성능을 향상시키는 한계가 있으며, 더 이상 업그레이드가 불가능할 때는 새로운 서버를 추가해야 한다.
      • 장비의 성능이 어떠하든지 간에, 하드웨어 고장 등의 장애가 발생하면 즉시 서비스가 중단된다.
    •  수평 확장(Horizontal Scaling, Scale Out)
      • 여러 대의 서버를 추가하여 부하를 분산시키는 방법이다.
      • 수작확장과 달리 서버의 개수를 늘리면 선형적으로 성능을 향상시킬 수 있으며 여러 대의 서버를 사용하기 때문에 하나의 서버에 장애가 발생해도 전체 시스템에 영향을 미치지 않다. 
      • 즉 고가용성을 확보하고, 대규모 애플리케이션을 운영하기 위해서는 수평 확장을 고려한다.

     

    분산 시스템

    분산 시스템은 여러 대의 서버가 서로 협력하여 작업을 처리하는 방식입니다. 이를 통해 서버의 성능을 최대한 활용할 수 있으며, 서비스의 가용성을 높일 수 있다.

     

    분산 시스템의 장점

    • 성능: 높은 처리량(throughput) 및 낮은 대기 시간(latency)과 같은 지표 등을 포함하는 개념이다.
      • 여러 대의 낮은 성능의 컴퓨터가, 한 대의 고성능 컴퓨터의 성능을 내는 것이 가능하며 비용적인 측면에도 유리하다.
    • 확장성: 증가하는 작업량을 처리할 수 있는지, 이로 인한 시스템 확장이 가능한가를 확인하는 기준이다.
      • 데이터를 여러 대의 컴퓨터에 분할하여 저장하고, 처리 작업을 각 컴퓨터에 맡기는 것이 가능하다.
    • 가용성: 시스템이 정상적으로 사용 가능한 정도를 의미한다.
      • 한 컴퓨터가 담당하는 일을 수평 확장을 통해 여러 대의 똑같은 클론을 만들어 일하게 한다면, 한 컴퓨터에서 장애가 발생했을 때 효율적으로 다른 컴퓨터로 전환할 수 있다.

     

    자동화의 필요성

    수동으로 서버나 인프라를 구성하거나 배포하는 것은 시간과 비용이 많이 들며 사람이 발생시키는 작은 에러가 생길 수 도 있다. 자동화를 통해 작업을 자동화하면 시간과 비용을 절약할 수 있으며, 일관된 서비스를 제공할 수 있다.

     

     

    '교육 > 코드스테이츠' 카테고리의 다른 글

    [6일차] 리눅스 실습  (0) 2022.12.05
    [5일차] 프로세스 관리  (0) 2022.12.02
    [4일차] 관리자로서의 리눅스  (0) 2022.12.01
    [3일차] 왜 리눅스인가?  (0) 2022.11.30
    [1일차] 데브옵스란 무엇인가?  (0) 2022.11.28
Designed by Tistory.