본문 바로가기
TIL

Cloud Computing Services

by 은지:) 2022. 8. 23.
728x90
반응형

 

 

 

Cloud Computing Services

 

 

 

 

 

 

운영 서버와 아키텍쳐

 

 

운영 서버 (production server)

 

우리가 개발하고 있는 서버와 다름 ( 이건 테스트 서버에 가까움)

우리가 개발하는 상품을 운영하고 배포하는 서버를 이야기 함 

개발이나 테스트 목적이 아닌 실제 사용자를 대상으로 서비스 하는 서버

 

 

 

 

 

운영서버의 아키텍쳐

 

 

 

 

 

 

 

 

 

1. 단일 서버 구조

 

클라이언트 - 서버(애플리케이션, 데이터 베이스) 

 

가장 단순하면서 기본적이고, 구축하기 간단한 서버 구조

전체 서비스 장애 발생 가능성이 높음 (서버 자체에 문제가 생기면 전체적인 서버 다운이 될 수 있음)

서버 자원을 효율적으로 사용하기 어려움 (서버 열어줄 동안 아무 것도 못함)
보안성이 떨어짐 (하나의 컴퓨터로 서버를 열기 때문에 여러 곳에서 요청이 들어올 경우 보안성이 떨어짐)

서버의 수를 여러개를 늘리는 확장 방식이 어려움

 

 

 

여기서 진화된 게 2, 3, 4번!

 

 

 

 

 

2. 애플리케이션과 데이터베이스 서버 분리 구조

 

단일 서버 구조에서 애플리케이션과 디비를 각각의 서버로 구성

단일 서버 구조의 단점을 어느 정도 해소

애플리 케이션과 디비 서버 사이의 지연시간과 네트워크 보안 고려 (1보단 낫지만 보안성 취약)

하나의 서버가 아닌 두개의 서버를 고나리하므로 구성은 어려움

확장 여전히 어려움

 

 

 

 

 

3.  서버 단위의 로드 밸런서 구조

 

클라이언트가 애플리케이션 서버가 직접 통신하지 않고

로드 벨런서 서버를 통해서 통신

그 뒤에 여러 애플리케이션 서버를 두는 구조

 

로드 베런서 : 로드를 벨런싱하는 것

서버를 통해서 들어오는 트래픽들을 골고루 벨런싱 해주는 것

 

확장에 용이하고 하나의 서버에 장애 발생시 정상 서버에 요청을 넘기며 서비스 장애 최소화

한 곳에서 서버가 오류가 발생했을 때 알아서 진단을 하고 멀쩡한 서버에 보냄

 

로드벨런서 서버 장애시 전체 서비스 문제가 생김

 

 

 

 

4. 서버 내 앱 단위의 로두 밸런서 구조

 

3에서 서버 내에서도 로드 밸런서가 있는 구조!

-> 서버 내에 앱 단위에 로드밸런서가 추가 된 것

 

기존의 애플리케이션 서버 안에 똑같은 애플리케이션을 여러 프로세스 만들어 실행

하나의 서버에서 여러 요청을 동시에 처리함

서버 자원을 최대한으로, 효율적으로 사용

 

 

 

 

 

 

 

온프레미스/ 클라우드 컴퓨팅


운영 서버 아키텍쳐를 어떻게 쓸 것인가

 

 

 

 

온프레미스

: 인프라를 물리적으로 직접 구축하여 운영하는 방식

 

aws 이전에 아마존은 쇼핑몰이었음

그리고 그 전에는 서점으로 시작함 (서점 -> 쇼핑몰)

 

서점일 때 온라인으로 서비스했었음

이때 다른 곳들은 집 내에 차고에 서버를 두고 서비스를 했었음

 

 

서비스에 필요한 시스템을 구축하기 위해서 기업이 직접 구성에 맞게 하드웨어를 구입하거나 대여해야함

필요한 자원을 예측해서 물리적인 구성을 설계하는데 에측과 실제가 달라 이로 인해 불필요한 비용이 사용될 수 있음

서버 확장이 필요할 때 여러 제약 사항이 많음

구축 후에도 문제가 발생하지 않는지 지속적인 모니터링 필요함

천재 지변에도 대응하기 어려움 

 

 

 

 

클라우드 컴퓨팅

:  it 리소스를 인터넷을 통해 온디멘드로 제공하고 사용한 만큼만 비용을 지불하는 것

 

 

직접 물리적인 서버 장비를 구매하거나 대여하지 않고도 요청하는 즉시 인터넷을 통해 온디맨드로 컴퓨팅 자원을 제공

원하는 시간동안 원하는 만큼의 컴퓨팅 자원을 언제 어디서나 이용 가능한 만큼의 비용만 지불

 

scale-up(하나의 서버를 두고 컴퓨터 성능을 올리는 것)

scale-out(한대로 서버를 두고 성능이 아닌 컴퓨터 한대를 더 두는 것) 이 자유롭게 가능

 

서비스에 따라서 리소스의 타입을 변경 또는 사이즈 확장이나 축소가 필요할 때 손쉽게 컨트롤 가능

다양한 리전을 통한 글ㄹ벌 확장이 용이 ( 글로벌 서버 쓰면 됨)

downtime 이 적은 고가용성(high-availability)을 보장 (유툽, 인스타 등 서버 다운된 적 보기 힘듬)
기존보다 간편하게 서버, 스토리지, 디비에 접근 가능한 솔루션을 제공

 

 

 

 

 

클라우드 컴퓨팅의 분류

 

 

IaaS / PaaS / SaaS

 

 

 

 

 

 

lssS  (서비스형 인프라스트럭처)

Infrastructure as a  Service

 

클라우드 컴퓨팅의 가장 기본적인 계층

비즈니스 운영에 필요한 서버, 스토리지, 네트워킹 등의 리소스를 제공

사용자가 직접 많은 부분을 구성하고 관리할 수 있음

인프라 운영에 대한 지식,경험이 준비되지 않은 경우 활용하기 어려울 수 있음

 

 

 

 

PaaS (서비스형 플랫폼)

Platform as a Service

 

애플리케이션 및 서비스를 구축할 수 있는 플랫폼 제공

개발한 서버만 활용해서 띄우면 됨

-> 여러 개발 환경을 미리 구축, 서비스 형태로 제공

이미 구축된 환경에서 개발하기 때문에 laaS보다 자유도 낮음

(쓸 수 있는 라이브러리만 쓸 수 있다든가)

서비스 외적에 신경쓰지 않아도 되기에 개발과 비즈니스에 집중 가능

인프라 운영 인력 필요하지 않음

 

 

 

 

 

SaaS (서비스형 소프트웨어)

Software as a Serivce

 

클라우드 컴퓨팅 중 가장 완성된 형태의 서비스

기본적인 클라우드 인프라 소프트웨어를 사용자에게 함께 제공

소프트 웨어 업데이트, 버그 픽스 등을 업체가 도맡아 관리

사용자에게 필요하지 않은 기능에 대해서도 비용을 지불

 

 

-> 구글 드라이브, 아이클라우드, 줌, 슬랙 

 

 

자료를 업로드하고 받기만하면 되는데 여러가지 부가적인 서비스에 대해서도 비용을 지불해야함

넷플에서 드라마만 보고 싶은데 영화도 같이 받아오는 것

 

 

 

 

728x90
반응형

'TIL' 카테고리의 다른 글

관심사의 분리 / Custom Hook  (0) 2022.08.28
aws 란?  (0) 2022.08.23
쿼리스트링의 활용  (0) 2022.08.20
쿼리스트링 1  (0) 2022.08.19
동적 라우팅  (0) 2022.08.19

댓글