반응형
클라우드란?
- 백엔드의 구성인 데이터베이스 서버, API 서버, 스토리지 서버 등은 전부 서버이고 하나의 프로그램이므로 전부 컴퓨터 안에서 동작함
- 과거 웹 서비스 제공을 위해 웹/API/DB 서버 구축 및 네트워크 설정이 필수적이였음
- 현재 가상화 기술 기반의 클라우드 서비스를 제공하며 위의 모든 요소를 손쉽게 구축할 수 있게됨
- 기존에 회사에서 관리해야 했던 컴퓨터들을 클라우드 회사에서 직접 관리
- 사용자들은 본인의 컴퓨터에서 네트워크 접속을 통해 클라우드의 컴퓨터들을 사용
클라우드 특징
1. 사용자가 몇 번의 클릭만으로 온라인을 통해 서버 컴퓨터를 빌릴 수 있음
- 온라인으로 손쉽게 서버 컴퓨터를 빌리는 것을 서버 호스팅이라고 함
- 데이터베이스 같은 특정 프로그램이 미리 설치되어 있는 컴퓨터도 제공 가능
- 개발자들이 프로그램을 설치하고 설정하는 시간을 줄일 수 있음
2. 컴퓨터 간의 네트워크 설정을 손쉽게 할 수 있음
- 기존에는 직접 네트워크 설정과 방화벽 설정을 작업해야 했던 반면, 클라우드 환경 내에서는 네트워크 설정들을 전부 작업할 수 있음
- 기존에는 서버 컴퓨터들의 네트워크 관련 작업을 진행하는 네트워크 엔지니어가 필요
- 클라우드는 컴퓨터에 일일히 직접 접근하지 않아도 됨
- 데이터베이스는 API 서버나 관리자를 제외하고 접근할 수 없게 해야하는데 이런 작업들을 클라우드에서 손쉽게 설정 가능
3. 컴퓨터의 성능을 자유롭게 설정할 수 있음
- 클라우드에서는 자신이 원하는 옵션에 맞게 컴퓨터를 빌릴 수 있음
- 서버는 클라이언트의 요청에 응답을 해주고, 보통 서버는 수백의 클라이언트 많게는 수천의 클라이언트를 상대하므로 수많은 클라이언트의 요청에 응답하기 위해 열심히 일을 함
- 네트워크 관점에서 클라이언트의 요청량을 트래픽이라고 하는데 트래픽이 점점 많아지면 서버 컴퓨터가 할 일이 점점 밀리게 되고, 그러면 자연스럽게 성능이 저하되고 응답하는 시간이 길어지게 됨
- 결국 더 많은 컴퓨팅 자원(높은 CPU, 메모리)이 있어야 안정적인 서버 운영이 가능해짐
- 클라우드에서 트래픽에 대응해 컴퓨팅 자원을 줄이거나 늘리는 스케일링 작업을 손쉽게 해줌
- 쉽게 얘기하면 서버 컴퓨터를 늘려주거나, 성능을 높여줌
백엔드와 클라우드
- 대부분의 IT 기업들은 백엔드 서버들을 전부 클라우드 환경에서 관리
- 웹을 제공해주는 웹서버, 데이터 통신을 위한 API 서버, 이미지 등의 파일을 관리하는 스토리지 서버, 로그들을 관리하는 로그 서버, 빅데이터를 저장하는 빅데이터 저장소(DB) 등 모든 서버를 전부 클라우드에서 쉽게 사용할 수 있도록 제공
- 대표적으로 많이 쓰이는 클라우드는 아마존의 AWS, 구글의 GCP, 마이크로소프트의 Azure, 네이버의 네이버 클라우드 등이 존재
- IT 기업들이 가장 많이 사용하는 클라우드는 AWS
- 백엔드 개발자가 보통 클라우드 환경을 관리함
- 보통 백엔드 개발자를 채용할 때 기업의 자격 요건을 보면 AWS를 잘 다루는 것도 포함됨
Reference
https://www.inflearn.com/course/it-%EA%B0%9C%EB%B0%9C%EC%A7%80%EC%8B%9D#
https://www.grabbing.me/IT-A-to-Z-By-1e1fbc981b7c4c03ac44943085ac8304
반응형
'비개발자의 개발 지식 스터디 > 백엔드' 카테고리의 다른 글
클라우드 서비스(SaaS, PaaS, IaaS) (0) | 2023.07.24 |
---|---|
서버 스케일링 & 모니터링 (0) | 2023.07.14 |
백엔드란? (0) | 2023.07.14 |