AWS

Jakesjk·2023년 1월 16일
0

Dev.Tech.Log

목록 보기
23/26

Cloud Computing Services


운영서버와 아키텍쳐

운영서버란?

운영서버는 개발이나 테스트 목적이 아니라 실제 사용자들을 대상으로 서비스하는 서버를 말한다. 운영서버는 그와 다르게 트래픽 대응도 해야하고 빠른 응답속도와 높은 가용성을 보장해 안정적으로 제품이 서비스 될 수 있도록 해야한다.

운영서버 아키텍쳐

  1. 단일서버
    장점: 환경을 구축하기 쉽고, 테스트 서버나 간단한 애플리케이션을 서비스할 때 많이 사용한다.그리고 별도의 네트워크 설정을 할 필요가 없다.
    단점: 전체 서비스의 장애 발생 가능성이 높다. 서버 자원을 효율적으로 사용하기 어렵다. 보안성이 떨어진다. 서버의 수를 여러개로 늘려 자원을 확장하는 방식인 Scale-out이 어렵다.

  2. 애플리케이션과 DB서버 분리
    단일 서버 구성에서 하나로 이루어져 있던 애플리케이션과 데이터베이스를 각각의 서버로 구성하는 방법입니다. 두 서버가 다른 자원을 사용하고 있기 때문에 위에서 언급한 단일 서버의 단점을 어느 정도 해소해 주지만, 하나의 서버가 아닌 두개의 서버를 관리하므로 구성은 다소 복잡해지고, 애플리케이션 서버와 DB 서버 사이의 지연 시간과 네트워크 보안을 고려해야 합니다.

  1. 서버단위 로드 밸런서
    로드밸런스는 들어오는 수많은 요청들을 앞서 늘린 여러대의 서버에 적절히 나눠주는 네트워크 장치 혹은 프로세스라고 볼 수 있습니다.로드 밸런서를 두면서 Scale-out을 통한 확장이 가능해지고 특정 서버에 장애 발생시, 로드 밸런서가 정상 서버에 요청을 넘기면 되므로 서버 다운을 최소화 할 수 있습니다. 단, 모든 요청을 먼저 받는 로드 밸런서에 장애가 생기면 전체 서비스에 장애가 생길 수 있는 단점이 있습니다.
  1. 서버 내 앱 단위 로드 밸런서
    기존에 하나의 로드 밸런서가 여러개의 서버로 요청을 분산해주었던 방식에서, 서버 내에 앱 단위의 로드 밸런서가 추가 된 방식입니다. 기존의 애플리케이션 서버 안에서 똑같은 애플리케이션을 여러 프로세스로 만들어 실행 해놓고 외부에서 들어온 요청을 프로세스 중 하나로 보내주는 방식입니다. 서버의 자원을 최대한으로, 효율적으로 사용할 수 있습니다

온프레미스(On-premise)

온프레미스란 IT 서비스를 기업이 자체적으로 보유한 물리적인 서버에 직접 설치해 운영하는 방식을 뜻합니다. 이러한 방식은 클라우드 컴퓨팅 기술이 나오기 전까지 기업들이 사용하던 일반적인 인프라 구축 방식이기도 합니다.

Compute

기본적으로 compute란 Linux, Ubuntu, Debian, Window, MacOS와 같은 운영 체제를 실행하는 데 필요한 CPU, Memory, Storage와 일부 가상화된 네트워크 기능으로 구성된 물리적인 서버(컴퓨터)를 말합니다.

CPU(Central Processing Unit)는 컴퓨터의 두뇌이며 프로그램의 명령을 수행합니다. RAM(Random Access Memory)은 초고속 임시 저장 장치로 CPU와 저장장치 사이에서 처리 속도를 향상시켜주기 위해서 데이터를 임시로 저장하는 역할을 수행합니다. Storage는 운영체제 파일 또는 모든 소스코드 및 데이터가 저장되는 저장소입니다. Network는 보통 인터넷을 통해서 다른 서버와의 연결할 수 있도록 만들어주는 네트워크 인터페이스 카드(NIC)를 의미합니다.

클라우드 컴퓨팅?

서로 다른 위치에 존재하는 컴퓨팅 자원을 제공하는 것이 클라우드 컴퓨팅 서비스이다.

  • 주요 기능

  • 서비스형 인프라스트럭쳐
    클라우드 컴퓨팅의 가장 기본적인 계층은 IaaS(Infrasturcture as a Service)입니다. 비즈니스 운영에 필요한 스토리지, 네트워킹 및 컴퓨팅 자원을 제공합니다. 다른 모델들과 비교하여 사용자가 관리할 수 있는 영역이 가장 넓습니다. 사용자가 직접 OS, Middleware, Runtime 등을 직접 구성하고 관리할 수 있습니다.

  • 서비스형 플랫폼
    PaaS(Platform as a Service)는 애플리케이션 및 서비스를 구축할 수 있는 플랫폼을 제공합니다. OS, Middleware, Runtime 등 개발 환경을 미리 구축해 서비스 형태로 제공하기 때문에 관리적인 측면에서 IaaS보다 자유도가 낮습니다. 사전에 구축된 환경에서 개발하기 때문에 의존성이 생기기 때문입니다.

  • 서비스형 소프트웨어
    SaaS(Software as a Service)는 클라우드 컴퓨팅 서비스의 주요 기능 3가지 중 가장 완성된 형태의 서비스입니다. 즉 해당 서비스의 제공 업체가 대부분의 기능을 구축한 뒤 제공하기 때문에 사용자가 직접 관리해야 하는 영역이 가장 좁습니다. 기본적인 클라우드 인프라와 소프트웨어를 함께 제공하는 형태로, 소프트웨어 업데이트, 버그 픽스 등의 서비스를 업체가 직접 도맡아 제공합니다. 사용자는 별도의 라이센스를 구매할 필요 없이 이미 구축된 소프트웨어를 무료 혹은 비용 지불을 통해 이용합니다.

profile
Dreams come true

0개의 댓글