[ 서버 ]
1. 서버란?
사전적 의미:
서버 [ Server ]
1. 테니스, 탁구, 배구 등 서브를 하는 쪽, 혹은 그 사람
2. 음식물을 제공하기 위해 사용하는 도구
3. 네트워크에서 다른 컴퓨터나 소프트웨어와 같은 클라이언트에게 서비스를 제공하는 컴퓨터
'제공한다'라는 뜻을 가진 'serve' + 사람이라는 뜻을 가진 'er'을 붙인 단어

- 웹 서비스는 클라이언트 (Client), 서버 (Server), 데이터베이스 (Database)로 구성
- 클라이언트 : 사용자가 보는 부분
- 서버 : 클라이언트에서 사용자가 요청한 자료를 DB에서 가져와서 다시 클라이언트 사용자에게 제공/응답
- 데이터베이스 : 요청한 자료(리소스)를 저장하고 있는 역할
쉽게 이해하기 위해 실생활에 접목해서 생각을 해본다면,
클라이언트가 요청하는 내용을 받아서 서버는 클라이언트가 요구하는 것을 DB에서 찾아 다시 클라이언트에게 제공하는 일련의 과정들을

이런 식으로 생각해 볼 수 있을 것 같다.
2. 서버 구축 방법
1) 사용자 자신의 컴퓨터로 직접 서버 구축
- 24시간 가동되어야 하는 서버의 특성상 개인이 자신의 컴퓨터로 서버를 구동하기에는 상대적으로 무리가 있음
- 만약 물리적 이유 (ex, 파손 등)에 의해 컴퓨터가 고장이 난다면 데이터가 모두 날아가기 때문에 큰 문제로 번질 가능성이 있음
2) 외부 서버 사용
일정 요금을 지불하고 외부 서버를 임대하여 사용하는 방법
2.1) 서버 호스팅
- 서버 한 대 (물리적으로 존재하는 컴퓨터 한 대)를 통째로 임대
- 자체적인 관리 필요
- 컴퓨터의 작동 환경을 사용자가 유동적으로 설정 가능
- 웹 호스팅에 비해 높은 금액 지불
2.2) 웹 호스팅
- 서버 한 대의 일정 저장공간만을 임대 ▷ 다른 사용자들과 해당 서버 공유
- 서버 호스팅에 비해 저렴한 가격
- 서버 자체를 웹 호스팅 사에서 운영, 이용이 간편함
- 트래픽, 용량 등 사용상의 제약이 있을 수 있음

[ 클라우드 서버 ]
1 클라우드란?
- 언제 어디서든 인터넷을 통해 접속 가능한 환경
- ex) Microsoft Office 365, Dropbox, Google Apps 등
2 클라우드 컴퓨팅?

- 서버, 네트워크 등 인프라 전체를 임대해 주는 서비스
- 클라우드에 구축되어 있는 인프라를 활용할 수 있으며, 이미 만들어진 여러 서비스를 제공
- 가상화 기술을 사용하여 사용자가 마음대로 서버를 구축하고 운영할 수 있도록 함
- ex) AWS, Microsoft Azure, GCP, NCP 등
★ 가상화
- 클라우드에서 가장 중요한 기술
- 실체가 없는 것을 의미? ==> X
- 컴퓨터가 어떠한 작업을 하기 위해 필요한 물리적인 장치를 소프트웨어로 대체
=> 메모리, 하드디스크, 운영체제 등
3. 클라우드 서버?
- 실제 물리적인 컴퓨터 한 대로 서버를 운영하는 것이 아닌 VM (Virtual Machine, 가상 머신)으로 서버를 운영하는 방식
- 프로그램으로 컴퓨터에 서버를 생성하여 이용하는 방식
- 사용자가 서버를 관리할 수 있는 관리자 권한을 가짐 (root 권한 : 모든 권한을 가진 계정)
+ 장점
- 단시간 내에 서버를 구축할 수 있음
- 물리적인 컴퓨터의 한계를 벗어난 방대한 크기의 저장 공간을 이용할 수 있음
- 많은 접속량에도 안정적인 서버를 구축할 수 있음
4. 클라우드 서버 유형
4.1 퍼블릭 클라우드
- 클라우드 서버 혹은 호스팅 공급자가 소유하고 관리
- 모든 사용자가 제약 없이 접근하여 사용할 수 있는 클라우드 환경 ( 접근 주체의 제약 X )
- 사용한 정도에 따라 서비스 요금 지불
- 고유 권한은 공급자가 가지고 있음
( 사용자가 맘대로 바꾸거나 변경할 수 없음 )
4.2 프라이빗 클라우드
- 기업 등 조직 내부에서만 사용하기 위해 만든 클라우드
- 조직이 자체적으로 서비스를 운영, 조직 외부의 사용자 접근 불가능
- 보안 수준을 높인 클라우드 유형
- ex) G-클라우드 (정부 전용 클라우드)

위 사진에서 확인할 수 있는 것과 같이
퍼블릭 클라우드는 누구나 접속이 가능하나,
프라이빗 클라우드에는 인가된 사용자만이 접속할 수 있다.
4.3 하이브리드 클라우드
- 퍼블릭 클라우드와 프라이빗 클라우드를 결합, 애플리케이션이 가장 적절한 위치에서 실행되도록 한 혼합형 클라우드
- 보다 효율적인 시스템 구축 가능
- 중요하고 민감한 영역에 대해서는 프라이빗 클라우드에서 관리/저장
외부에서 접근할 수 있거나 민감하지 않은 정보에 대해서는 퍼블릭 클라우드에 관리/저장
▷▷ 보안성 높일 수 있음
4.4 멀티 클라우드
- 다수의 퍼블릭 클라우드 서비스 활용
- 특정 클라우드 서비스 제공자에게만 의존하는 의존성 줄임
- 각 퍼블릭 클라우드의 강점을 유동적으로 골라 활용하여 시스템 구축 가능

728x90
'Server' 카테고리의 다른 글
압축(ZIP) 폴더 오류 / 해결방법 (3) | 2023.12.04 |
---|---|
[Server]프로젝트 배포 진행 (0) | 2023.09.11 |
[Web] 쿠키와 세션 (0) | 2023.09.04 |
[HTTP] get post 개념과 차이점 (0) | 2023.08.18 |
[서버] IP와 URL (0) | 2023.08.08 |